Развертывание готового к использованию веб-сервиса на Python на одноплатных компьютерах Radxa.
Почему вашему IoT-проекту необходим надежный веб-сервер
В нашем предыдущем руководстве мы обсуждали, как использовать Radxa SBC в качестве центрального элемента вашей IoT-системы. Но как на самом деле визуализировать эти данные или предоставить API для ваших мобильных приложений?
Многие новички начинают с запуска простого сервера на Python Flask или Django напрямую (
python app.pyХотя это подходит для тестирования, это... не подходит для производства. Он однопоточный, не обладает достаточной безопасностью и будет аварийно завершать работу при высокой нагрузке.В ESP32s.com, Мы верим в создание систем профессионального уровня. В этом руководстве мы покажем вам, как развернуть систему. готовый к использованию веб-сервис на Python на вашем плата Radxa (будь то компактный) НОЛЬ 3 Вт или влиятельных РОКА 5) с использованием отраслевого стандарта Gunicorn + Nginx куча.
Шаг 1: Подготовка вашего Радкса Среда
Перед развертыванием убедитесь, что Радкса На плате установлен свежий образ Debian или Ubuntu Linux. Подключитесь к плате через SSH и обновите систему:
баш
судо подходящий обновлять && судо подходящий обновить -y
Далее установите необходимые системные зависимости и инструменты Python. Мы рекомендуем использовать виртуальное окружение, чтобы изолировать зависимости вашего проекта:
баш
судо подходящий установить python3-pip python3-venv nginx -y
Шаг 2: Настройка веб-приложения на Python
Предположим, у вас есть простое Flask-приложение (
app.py), который передает данные с датчиков вашего Узлы ESP32. Сначала создайте отдельный каталог и виртуальное окружение:баш
мкдир ~/iot-dashboard && компакт-диск ~/iot-dashboard python3 -m venv venv
источник venv/bin/activate
Установите Flask и Gunicorn в виртуальную среду:
баш
пип установить колба гуникорн
Создайте базовый
app.py файл для тестирования:питон
от колба импорт Приложение Flask = Колба(__имя__)
@приложение.маршрут('/')
деф дом():
возвращаться "Панель мониторинга Radxa IoT запущена!"
если __имя__ == ''__основной__'':
приложение.бегать()
Шаг 3: Настройка Gunicorn (WSGI-сервера)
Gunicorn выступает в качестве моста между вашим Python-приложением и веб-сервером. Он обрабатывает множество запросов одновременно, что крайне важно, если у вас десятки таких приложений. ESP32 узлы отправляют данные.
Протестируйте Gunicorn, запустив:
баш
гуникорн --рабочие 3 --связывать 127.0.0.1:8000 приложение:приложение
Примечание:
--рабочие 3 Запускает три рабочих процесса. На Radxa ZERO 3W (четырехъядерный процессор) оптимальное количество рабочих процессов — 3-4. На ROCK 5 (восьмиядерный процессор) это число можно увеличить.Шаг 4: Настройка Nginx (обратного прокси-сервера)
Nginx работает перед Gunicorn. Он отвечает за безопасность, статические файлы и балансировку нагрузки. Создайте новый конфигурационный файл Nginx:
баш
судо нано /etc/nginx/sites-available/iot-dashboard
Вставьте следующую конфигурацию:
nginx
сервер {
слушать 80;
server_name ваш_radxa_ip_адрес;
расположение / {
proxy_pass http://127.0.0.1:8000;
proxy_set_header Хозяин $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
Включите сайт и перезапустите Nginx:
баш
судо лн -s /etc/nginx/sites-available/iot-dashboard /etc/nginx/sites-enabled
судо systemctl restart nginx
Теперь, если вы посетите свой Радкса Введя IP-адрес вашей платы в браузере, вы увидите, что ваше Flask-приложение работает в защищенном режиме за Nginx!
Шаг 5: Обеспечение постоянного сохранения данных (служба Systemd)
Если вы перезагрузите свой Радкса На плате ваш веб-сервис остановится. Чтобы это исправить, мы создадим службу systemd, которая будет запускаться автоматически при загрузке системы.
Создайте файл службы:
баш
судо нано /etc/systemd/system/iot-dashboard.service
Добавьте следующую конфигурацию:
ини
[Единица]Описание=Экземпляр Gunicorn для обслуживания панели мониторинга IoT.
После=сеть.целевая сеть
[Сервис]
Пользователь=радкса
Группа=www-data
Рабочий каталог=/home/radxa/iot-dashboard
Среда="PATH=/home/radxa/iot-dashboard/venv/bin"
ExecStart=/home/radxa/iot-dashboard/venv/bin/gunicorn --workers 3 --bind unix:iot-dashboard.sock -m 007 app:app
[Установить]
Разыскивается=multi-user.target
Включите и запустите службу:
баш
судо systemctl start iot-dashboard
судо systemctl давать возможность панель управления интернетом вещей
🛒 Расширьте возможности своих периферийных вычислений с помощью ESP32s.com
Развертывание надежного веб-сервиса — это лишь одна часть головоломки. Для его работы вам потребуется надежное оборудование.
- Для компактных шлюзов: Он Radxa ZERO 3W Идеально подходит для запуска легковесных стеков Flask/Nginx при одновременном сборе данных из вашего хранилища. датчики ESP32.
- Для высокопроизводительных задач в области искусственного интеллекта и обработки данных: Если вашему веб-сервису необходимо обрабатывать видеопотоки или запускать сложные модели искусственного интеллекта параллельно с веб-сервером, обновите его до более современной версии. Radxa ROCK 5 ряд.
В ESP32s.com, Мы предоставляем не только платы, но и всю экосистему — от... Сенсорные узлы ESP32 к высокой производительности Radxa SBCs.
👉 [Магазин Radxa SBCs [Аксессуары для IoT сегодня]
======================================
О сайте ESP32S.com
С 2016 года, ESP32S.com Наша компания превратилась в полноценного партнера по экосистеме для вашего развития в сфере Интернета вещей. Расположенная в Шэньчжэне, глобальном центре инноваций в электронике, мы помогли сотням разработчиков и компаний реализовать свои проекты. ESP32Воплощаем идеи в жизнь. Наша команда стремится оказывать исключительную поддержку и предлагать инновационные решения, которые помогут вам достичь ваших целей в области Интернета вещей.
В ESP32S.com, мы осваиваем тонкости разработки ESP32Разработка продукта, основанного на концепции, включает в себя множество этапов, от разработки до вывода на рынок. Именно поэтому мы предлагаем комплексные решения, охватывающие весь жизненный цикл продукта. ESP32Устройства на базе [технологии]. Независимо от того, нужна ли вам помощь в проектировании печатных плат, создании прототипов, производстве или даже маркетинге и доставке, мы вам поможем.
Свяжитесь с нами
Готовы вывести свой IoT-проект на новый уровень? Свяжитесь с ESP32S.com Узнайте больше о наших комплексных решениях уже сегодня! ESP32Устройства на базе [технологии]. Позвольте нам стать вашим надежным партнером в воплощении ваших инновационных идей в жизнь. Свяжитесь с нами прямо сейчас для начала.
