Как создать собственный сервер разработчика Python с помощью Raspberry Pi

1656538240 kak sozdat sobstvennyj server razrabotchika python s pomoshhyu raspberry pi

от Корана Ашера

WxaokEQwdTtKFF06Y6DqvdS4yeL0aLASTq9d
Изображение кредита. https://upload.wikimedia.org/wikipedia/commons/1/10/RPi-Logo-Landscape-SCREEN.png

Проще говоря, Raspberry Pi – это очень дешевый ($40) компьютер на базе Linux. Это оно. Серьезно.

Он может делать все, что вы можете себе представить, что может делать обычный компьютер Linux, например просматривать веб-страницы, писать код, редактировать документы и подключаться к устройствам ввода/вывода, таким как накопитель, мышь, клавиатура и т.д. Данное руководство будет сосредоточено на том, как создать собственный сервер разработчика Python с помощью Raspberry Pi.

Шаг 0. Определите цель

Прежде чем начать, важно понять, что мы пытаемся построить. До конца учебника вы сможете запустить базовый веб-сайт (с помощью Flask) из Raspberry Pi в вашей локальной домашней сети.

Цель этого руководства – продемонстрировать, как Pi можно использовать в качестве сервера разработчика, точнее, примером будет размещение простого веб-сайта (с помощью Flask).

Шаг 1. Выскажите предположение

Вот некоторые предположения, которые будут сделаны в этом учебнике:

  1. У вас уже есть Raspberry Pi, настроенный с Raspbian OS. Вот полезное руководство по настройке, если оно вам нужно.
  2. Pi подключен к вашему домашнему Wi-Fi (и вы знаете IP-адрес Pi).
  3. В дальнейшем вам не понадобится экран. полагая, что пункты 1 и 2 завершены.

Мы будем использовать VS Code с расширением Remote VSCode для удаленного создания и редактирования файлов на Pi. Я однозначно рекомендую вам использовать эти два, чтобы продолжить. Кроме того, это значительно облегчит работу с удалёнными файлами, так что это плюс.

Шаг 2. Найдите IP-адрес Pi

Сначала подключите Pi к источнику питания и убедитесь, что он правильно загружен и подключен к WiFi/Ethernet (в основном, он должен иметь подключение к Интернету).

Мы будем использовать ssh для подключения к Pi и общения с ним. Чтобы сделать это удаленно с помощью ноутбука, вам нужно знать его IP-адрес. Это можно легко получить с помощью портала администратора вашего провайдера (обычно доступен по адресу. Обратите внимание, что это может отличаться для разных провайдеров).

Обычно ваш Pi должен быть подключен к адресу, который может выглядеть как «192.168.0.12». Опять же, это будет разным для разных людей. Поэтому, пожалуйста, используйте IP-адрес, который вы нашли для своего Pi на портале администратора. В дальнейшем это руководство будет использовать 192.168.0.12 в качестве IP-адреса Pi.

Шаг 3. Подключитесь к Pi с помощью ssh

Откройте VS Code и встроенное окно терминала на своем ноутбуке. Подключитесь к Pi с IP-адресом 192.188.0.12 с помощью такой команды ssh:

ssh -R 52698:localhost:52698 pi@192.168.0.12

Вышеуказанная команда настроит двусторонний канал связи между вашим ноутбуком и Pi. Если вы впервые подключаетесь к Pi, используйте raspberry как пароль. Возможно, вам будет предложено изменить пароль по умолчанию. Настоятельно рекомендуется это сделать.

k-iRsowxI6mnJfpiWmQPGkQOiaRQ8OE50gpg
Окно терминала после успешного подключения к pi

Шаг 4. Создайте каталог проекта

Теперь вы должны быть в домашнем каталоге Pi. Давайте создадим каталог для веб-сайта, который мы хотим создать. Используйте такую ​​команду, чтобы создать каталог:

mkdir MyFlaskWebsite

Используйте команду ‘ls’, чтобы убедиться, что вы действительно можете увидеть новую папку с именем MyFlaskWebsite.

cUhjzjTdVOTdFCANjEYrStpwuNoy4YsKWTZj
Создайте и проверьте каталог проекта

Шаг 5. Установите Flask

Мы будем использовать Flask для создания простого веб-сайта. Flask – это микровеб-фреймворк на основе Python. Он использует Jinja (шаблонный механизм на основе Python) в качестве механизма шаблонов, что делает его очень удобным и мощным. Используйте такую ​​команду, чтобы установить flask на Pi:

sudo apt-get установить python3-flask

JBEt1A3RTqaIUErc0sevCZjxpZMppU1qTCjA
Установите колбу

Шаг 6. Напишите базовый код

Теперь когда Flask установлен, мы можем начать создавать файлы и писать код. Сначала перейдите в новый каталог проекта (с шага 4) с помощью следующей команды:

компакт-диск MyFlaskWebsite

Все файлы и папки проекта будут находиться в этом каталоге MyFlaskWebsite. Теперь создайте свой первый файл кода (app.py) с помощью такой команды:

коснитесь app.py

Проверив каталог с помощью команды ‘ls’, вы сможете увидеть этот только что созданный файл.

Ad9fp3IFU8Q2TtuKgRC3f3-dInXyaEQ-6NZH
Выделите каталог проекта и создайте новый файл

Теперь нажмите F1 и выберите «Сервер удаленного запуска». Это позволит вам удаленно редактировать файлы на Pi с помощью ноутбука.

UB9XT8GkO3T49BOvUd6iAX6yn2iAbHiqKbqi
Запустите удаленный сервер

Далее воспользуйтесь такой командой, чтобы начать редактировать только что созданный файл app.py. Это может занять несколько секунд, но пустой файл будет виден в окне справа.

rmate app.py

O4Ybu5hVBCof4wGQ8q4z5c4MEA5zvNgBzkXv
Начните редактировать файл удаленно

Введите код, показанный ниже. Здесь мы определили маршрут к домашней странице веб-сайта, на котором должен отображаться «Это мой веб-сайт flask, и это так круто». Обратите внимание, что установка хоста на 0.0.0.0 позволяет получить доступ к этому веб-сайту всем устройствам, подключенным к одной сети.

oyV0xCTNN59M32nPsaqLs5oCB8IwBNfgqiWC
Создайте базовый веб-сайт

Сохраните файл и воспользуйтесь такой командой, чтобы запустить веб-сайт на сервере Pi:

python3 app.py

V1gtV9AL1LrQnyZaQhq-5zk7eCuvaNMrmsWw
Запустите веб-сайт

Получив вышеуказанное сообщение об успехе, откройте новое окно браузера на любом устройстве в вашей сети и введите IP-адрес Pi (в этом случае это 192.168.0.12), а затем порт, на котором работает сервер разработчика (5000. ). полный адрес будет http://192.168.0.12:5000/

Вы должны увидеть текст «Это мой веб-сайт flask, и это так круто». на веб-странице.

3OunjfD19vW0jkUprzpCRgxftK3PU1cWf2mT
Проверьте веб-страницу в браузере

Это подтверждает, что ваш сервер разработчика активен и работает на только что созданном веб-сайте.

Шаг 7. Добавьте больше маршрутов

В настоящее время код состоит только из одного маршрута, который является домашней страницей сайта. Добавьте другой маршрут, введя следующий код. Обратите внимание, что при работе сервера разработчика можно динамически вносить изменения. Он автоматически фиксирует дельту (изменение кода) и запускает просмотренную версию, как только вы обновите окно обозревателя.

wFupha2dFoFLYbsxCjKwMHjnTXmD5YKLwuMu
Добавьте маршрут мяуканья

Чтобы проверить, работает ли новый маршрут правильно, перейдите на веб-страницу, чтобы «МЯУ» на вас.

I-YacWJFs3S2wcDN2pVniaEwwkZj8B0XCZUN
Убедитесь, что новый маршрут работает должным образом

Шаг 8. Добавьте структуру в свой код

Теперь добавлять больше маршрутов – это круто, но наличие всего кода только в 1 файле app.py – это не то, как должен быть структурирован веб-сайт. Обычно у нас есть папка с шаблонами HTML, папка со статическими CSS файлами и еще одна для файлов JS. Давайте добавим эти папки и переместим код в соответствующие папки, чтобы лучше структурировать код. Используйте следующие команды для создания этих каталогов:

Шаблоны mkdir

mkdir статический

Используйте команду ‘ls’, чтобы убедиться, что эти папки были созданы.

MfI2Gvi6kC0WFxxxRkS9Jn4HYdu8KWF56teL
Добавьте структуру в свой код

Теперь давайте создадим HTML-файл для домашней страницы. Для перехода в каталог шаблонов используйте следующие команды. Затем создайте новый файл с именем index.html и используйте rmate, чтобы отредактировать то же самое:

шаблоны компакт-дисков

коснитесь index.html

rmate index.html

C7xLB4tDdW3twueajM9Elzh5LxD169l6DAuw

Напишите базовый HTML-код для домашней страницы внутри index.html.

nLyBtnwKxFGqhx9d52DxFMj6mBE2u9gq-qXP
HTML-код для домашней страницы

Произведите такие изменения в app.py, чтобы использовать файл index.html. Следующий код будет искать файл с именем index.html в каталоге шаблонов по умолчанию.

lfuYCPtema6YCe4t1y7pCj8yxOZXPYGtzx8I
Используйте новый файл index.html и воспроизведите его с помощью app.py

Вернитесь в каталог проекта и снова запустите веб-сайт.

xnv7ptoeZLKzqOmUNfLBhZPgubKooaWj-D3-

Вернитесь на домашнюю страницу, и вы увидите содержимое, которое вы поместили в index.html.

Lh1CRnj7mtlxmzyDPFjALEBRYAC0CvzcwyDn

Теперь добавьте стиль, создав ‘main.css’ внутри статического каталога. Как всегда, используйте команду cd, чтобы изменить каталог, touch, чтобы создать новый файл, и команду rmate, чтобы отредактировать тот же файл.

SNa8U2sOoIrMN6tuAsBmtbHFUX43Vfgfc05J
Создайте файл css

Добавьте немного стиля к тэгу h4. Заметьте, что сейчас у нас есть 1 тэг h4 в index.html, который css должно изменить.

MUCDIINplzZwjSTrm-1fBkev15z0q7Juku3n
Немного кода css

Как всегда, проверьте свои изменения с помощью такой команды:

python3 app.py

zY2hMd8vwNjCYVsVs-DyfY7rkBOur3IC66DS

Обратите внимание, как текст в теге h4 окрашивается в соответствии с CSS.

VElytx48rZcyMNhmx3xUt6pf4PVjM3RZrmct

Шаг 9. Воспользуйтесь преимуществами Jinja

Jinja в механизме шаблонов на основе Python, который добавляет множество мощных функций к веб-страницам. Хотя это руководство не сосредоточено на изучении Jinja, давайте просто рассмотрим простой пример того, как Jinja может оказаться полезным.

Давайте просто создадим список фруктов в app.py и передаем его как параметр index.html. После этого index.html отобразит этот список на веб-странице. Внесите такие изменения в app.py и index.html.

Klh2Cgj-O8v8H4fYR8Jv00o-QiemELP-iH9t
Передайте my_list как параметр index.html
k3KZzf3MzBJCxvljXa0RoQKYzRPfc5kGl8JR
Показать мой_список на веб-странице

Обновите веб-страницу, и вы увидите на экране список фруктов.

o8hYHuUKS47d9bESOKFOhiUs1FR8JTKuL3MY

Это говорит о том, сколь мощным и полезным может быть Джинджа. Дополнительные сведения о Jinja см. в разделе

Шаг 10. Следующие действия

Теперь, когда у вас есть полностью функциональный сервер разработчика Python, возможности в будущем практически бесконечны. Вот несколько полезных следующих шагов, которые вы можете рассмотреть для вашего проекта:

  1. В настоящее время Pi доступен только через устройства в вашей персональной сети. Чтобы открыть Pi для внешнего мира (получить доступ к нему через любое устройство вне вашей личной сети), вам нужно что-то известное как переадресация портов. В основном, вам нужно доменное имя и статический IP-адрес, который постоянно назначается Pi. Больше информации здесь и здесь.
  2. Большинство приложений нуждаются в базе данных для основных операций CRUD. Python поддерживает SQlite прямо из коробки. Узнайте, как использовать SQlite из Flask здесь и здесь.
  3. Вот крутой стартовый набор Raspberry Pi на Amazon. Прекрасная вещь в этом состоит в том, что он имеет все необходимое для начала работы и экономит усилия самостоятельного поиска отдельных элементов.
  4. Поскольку вы не используете экран, важно использовать команду отключения для Pi с помощью терминала. Это гарантирует, что Pi и SD-карта не повреждены:

sudo shutdown -h сейчас

#До в следующий раз.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *