Рубрики
Без рубрики

Как сделать свой собственный Python Dev-сервер с Raspberry Pi

Автор оригинала: FreeCodeCapm Team.

Каран Ашер

Проще говоря, Raspberry Pi является супер дешевым (40 долларов) на основе компьютера Linux. Вот и все. Шутки в сторону.

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

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

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

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

Шаг 1. Укажите предположения

Вот несколько предположений, которые сделают этот учебник:

  1. У вас уже есть Raspberry Pi, созданная с раскладной ОС. Здесь это полезное руководство по установке, если вам нужно один.
  2. PI подключен к вашему домашнему WiFi (и что вы знаете IP-адрес PI).
  3. Вам не потребуется экран, идущий вперед. При условии, что точки 1 и 2 завершены.

Мы будем использовать VS код с Удаленный VSCode Расширение для удаленного создания и редактирования файлов на PI. Я определенно рекомендую вам использовать эти два, чтобы следовать. Кроме того, они сделают работу с удаленными файлами намного проще, так что это плюс.

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

Во-первых, подключите PI к источнику питания и убедитесь, что он правильно загружен и подключен к Wi-Fi/Ethernet (в основном, он должен иметь подключение к Интернету).

Мы будем использовать SSH, чтобы подключиться и общаться с PI. Для этого удаленно используя ноутбук, вам нужно знать его IP-адрес. Это может быть легко получено с использованием портала администратора ISP (обычно доступна в http://192.168.0.1 . Обратите внимание, что это может отличаться для разных интернет-провайдеров.)

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

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

Откройте VS код и его встроенное окно терминала на вашем ноутбуке. Подключитесь к PI с IP-адресом 192.188.0.12, используя следующую команду ssh:

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

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

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

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

Шаг 5. Установить колбу

Мы будем использовать Колбу Создать простой веб-сайт. Колбу Является ли Micro Web Picton на основе Python. Использует Jinja (Двигатель шаблона на основе Python) в качестве его шаблона двигателя, который делает его очень полезным и мощным. Используйте следующую команду для установки колбы на PI:

Шаг 6. Написать какой-то базовый код

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

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

При проверке каталога используя команду «LS», вы сможете увидеть этот вновь созданный файл.

Теперь нажмите F1 и выберите «Удаленный запуск сервера». Это должно позволить вам удаленно редактировать файлы на PI, используя свой ноутбук.

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

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

Сохраните файл и используйте следующую команду для запуска веб-сайта на сервере PI:

При получении вышеупомянутого успеха открыть новое окно браузера на любом устройстве внутри вашей сети и введите IP-адрес PI (в данном случае, оно 192.168.0.12), а затем порт DEV-Server работает на (5000. ) Итак, полный адрес будет http://192.168.0.12:5000/

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

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

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

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

Чтобы проверить, работает ли новый маршрут, как ожидалось, перейдите к http://192.168.0.12:5000/meow И веб-страница должна «мяу» на вас.

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

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

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

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

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

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

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

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

Теперь добавьте немного стиля, создавая «Main.css» внутри статического каталога. Как всегда, используйте команду «CD», чтобы изменить каталог, «Нажмите», чтобы создать новый файл и команду «rmate» для редактирования того же файла.

Добавьте некоторую стайлинг в тег H4. Обратите внимание, что в настоящее время у нас есть 1 тег H4 в index.html, который должен изменять CSS.

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

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

Шаг 9. Воспользуйтесь Jinja

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

Давайте просто создадим список фруктов в приложении .py и пропустите его как параметр на index.html. Затем у нас будет отображать index.html, отображающий этот список на веб-странице. Сделайте следующие изменения в App.py и index.html.

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

Это говорит о том, насколько мощной и полезной Jinja может быть. Для получения дополнительной информации о Jinja, пожалуйста, обратитесь к это Отказ

Шаг 10. Следующие шаги

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

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

#До скорого.