Опция позволяет подключать к модулю внешний микроконтроллер (м/к) через UART порт, например проект STM32. Доступно отображение веб страниц с удаленного м/к, управление и отображение состояния GPIO, датчиков.
Опция еще находится в стадии доработки - нет вывода данных с датчиков, кроме вывода на главной странице, могут быть реализованы и другие идеи в опции.
UART HTTP bridge - это продвинутая замена старой опции UART bridge
Опция на данный момент не имеет настроек в веб интерфейсе и работает сразу.
м/к подключается к 1 и 3 gpio ESP8266 перекрестно (RX-TX, TX-RX). Для ESP32 GPIO у UART назначаются перед компиляцией в шестеренке. Скорость по умолчанию 115200 - можно изменить в шестеренке, но нужно учитывать, что на малой скорости вывод http может быть с проблемами.
Модуль в UART посылает запрос вида http/[адрес_страницы] (окончание строки обязательно должно заканчиваться кодом 0x00), а удаленный м/к на этот запрос должен прислать текст в виде html разметки. Веб интерфейс удаленного м/к доступен по адресу http://[ip]/configbrhttp/[адрес_страницы], адрес страницы может быть пустой, если это корневая страница устройства. Через веб возможно так же настраивать удаленный м/к получая и разбирая данные из GET запроса.
Описание | Открытие по http | Запрос от ESP по UART в сторону м/к* | Ответ от м/к по UART в сторону ESP** |
Открытие главной страницы | http://[ip]/configbrhttp/ | http/[0x00] | Hello, world[0x00] |
Открытие второстепенной страницы | http://[ip]/configbrhttp/sensors | http/sensors[0x00] | sens1:44;sens2:25;[0x00] |
[0x00] - в конце строки необходимо послать код 0x00 для завершения передачи.
* - прошивка м/к должна сравнить входящую строчку и отправить соответствующую ей команды строку ответа.
** - задается м/к прошивкой. Текст может быть в виде html разметки, включая http ссылки для удобной навигации.
GPIO удаленного м/к транслируются на карту нумерации GPIO модуля в диапазоне 200-219 (можно изменять в шестеренке). Другие опции имеют приоритет при совпадении одинаковых GPIO.
На удаленный м/к для управления gpio опция посылает команду setgpio x y , где x- номер gpio. y - состояние gpio.
Удаленный м/к для обновления состояния gpio может посылать с заданной периодичностью или по событию строку вида stgpio x1:y1;x2:y2;x3:y3; где x - номер gpio, а y - его состояние.
При старте модуля происходит запрос состояния gpio командой getgpio
Опция с определенной периодичностью посылает удаленному м/к команду settime [unix time] если в прошивке имеется опция ntp.
Удаленный м/к может отправлять с определенной периодичностью строку вида stsens t:23.6;h:44;l:500;
В строке передается температура(t) , влажность(h) и любые другие данные(любая буква). Протокол схож с передачей данных у Lora. Максимально возможное количество датчиков указывается в шестеренке перед сборкой прошивки.