Сервер Minnow — это безопасный веб-сервер для микроконтроллеров


Многие встраиваемые системы имеют ограниченный объем памяти и обычно запускают программы меньшего размера, чем на настольных компьютерах или серверах. Например, nginx и Apache2 являются распространенными веб-серверами, но для оборудования с ограниченным объемом памяти могут потребоваться веб-серверы меньшего размера. Много лет назад был написан обзор со списком веб-серверов для встроенных систем, которые работаю под управлением Linux / uClinux.

Но теперь даже платформам на основе микроконтроллеров часто приходится запускать веб-сервера, как правило для настройки. Ранее уже рассматривалось как использовать Arduino для сервера простой веб-страницы и тоже самое было сделано в обзоре по начало работы с платой NodeMCU, которая основана на базе WiSoC ESP8266, но использовался язык программирования Lua. Однако должно быть удобнее запускать соответствующий веб-сервер, поскольку легче изменить интерфейс и ранее уже в обзоре рассматривался веб-сервер MicroWebSrv, который работает на платформах под управлением MicroPython, таких как платы Pycom.

Real Time Logic предлагает еще одну альтернативу с открытым исходным кодом на своем сервере Minnow, который поддерживает безопасное соединение с использованием безопасного Websockets вместо HTTPS, поскольку последний использует слишком много ресурсов, это подробно описано в блоге. Сервер оптимизирован для одностраничных приложений (SPA), которые требуют только одно соединение WebSocket для дальнейшего снижения объема памяти.

Minnow Server поддерживает lwIP raw TCP API порт для «bare metal» задач, а также для различных «real-time» операционных систем или нет:

  • FreeRTOS-TCP
  • Microchip Harmony TCP / IP
  • Keil MDK
  • MQX и RTCS от NXP
  • ThreadX и NetX от Express Logic
  • POSIX,  включая Linux, Mac, VxWorks, QNX
  • Стандартный Windows и Win CE
  • lwIP lwIP Netconn API для систем, которые включают в себя RTOS

В примере CSS / HTML5 показано, как создать пользовательский веб-интерфейс для управления устройствами, включает обновления в реальном времени светодиодов и датчика термостата, а также показывает, как выполнять загрузку встроенного программного обеспечения через WebSockets. Полный SPA требует только 41 Кбайт флэш-памяти и компания утверждает, что для связи требуется очень мало оперативной памяти. Библиотека связи WebSocket написана на JavaScript и может быть использована в других применениях.

Исходный код и инструкции по началу работы с сервером Minnow доступны на Github.

Выражаем свою благодарность источнику с которого взята и переведена статья, сайту cnx-software.com.

Оригинал статьи вы можете прочитать здесь.

Комментарии:

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

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

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.