Добавить в корзинуПозвонить
Найти в Дзене
Паяльник и код

Делаю сервер-консоль для разных датчиков по UART и WiFi

Давно хотел сделать универсальный экран для вывода сообщений от разных датчиков с разными микроконтроллерами. Сообщение должны поступать как через UART интерфейс, когда датчик напрямую подключается к устройству. Так и сообщения по WiFi сети Схема устройства Есть плата расширения для ESP32-C3. К ней подключается TFT дисплей, на котором будет выводится консоль и меню для управления устройством. Три кнопки для управления меню. USB-A разъём через который подаётся питание и соединение RX <–> TX. В плату расширения вставляется ESP32-C3 PRO, которая всё коммуницирует Вот так выглядела первая подгонка Меню: CONSOLE – вывод на экран сообщений
NET – поиск устройств в сети + включение сообщений от выбранных устройств
LOCAL – вкл/выкл сообщения от устройства включённого локально (по умолчанию вкл) Внизу отображается ИП-адрес устройства Прошивка в Arduino IDE для ESP32-C3 Исходник Основан на шаблоне Для подключения устройств напрямую к устройству используется библиотека <HardwareSerial.h>
Через R

Давно хотел сделать универсальный экран для вывода сообщений от разных датчиков с разными микроконтроллерами. Сообщение должны поступать как через UART интерфейс, когда датчик напрямую подключается к устройству. Так и сообщения по WiFi сети

Схема устройства

-2

Есть плата расширения для ESP32-C3. К ней подключается TFT дисплей, на котором будет выводится консоль и меню для управления устройством. Три кнопки для управления меню. USB-A разъём через который подаётся питание и соединение RX <–> TX. В плату расширения вставляется ESP32-C3 PRO, которая всё коммуницирует

-3

Вот так выглядела первая подгонка

Меню:

CONSOLE – вывод на экран сообщений
NET – поиск устройств в сети + включение сообщений от выбранных устройств
LOCAL – вкл/выкл сообщения от устройства включённого локально (по умолчанию вкл)

-4

Внизу отображается ИП-адрес устройства

Прошивка в Arduino IDE для ESP32-C3

Исходник

ESPServer.zip — Яндекс Диск

Основан на шаблоне

Для подключения устройств напрямую к устройству используется библиотека <HardwareSerial.h>
Через RX<->TX передаётся сообщение. На клиенте передача через Serial. Т.е. можно подключать любые микроконтроллеры с
UART

Для поиска устройств по WIFI используется библиотека
<AsyncTCP.h>
Сканируем сеть на компьютеры с открытым портом 80. Если такой находится, делаем Get-запрос имени устройства. Если всё прошло удачно записываем в память ип адрес устройства и его имя. Найденное устройство появляется в меню «NET». Чтобы включить приём с него сообщений посылаем на устройство сообщение /openserial со своим ип-адресом (закрыть /closeserial). Клиент отправляет сообщения на сервер через команду /serial. Собираем сообщения от микроконтроллеров, которые поддерживают WiFi

Примеры работы сервер-консоли

1. RP2040-zero c IR receiver. Считыватель кодов кнопок с пультов

Исходник

ReceiveDump_copy2.zip — Яндекс Диск
-5

Подключение напрямую

2. ESP8266. Показывает уровень сигнала в месте расположения микроконтроллера

Исходник

ESPAsyncWebServer4.zip — Яндекс Диск
-6

Данные передаются через WiFi

3. К серверу-консоли можно подключиться через браузер

-7

Сообщения приходят с двух устройств. Можно смотреть или на ПК или на телефоне

Итог

Теперь добавлю еще много разных датчиков, купленных давно, но не используемых

Доработал немного корпус. Стеклом закрыл экран и обновил кнопки

-8

На задней стороне батарейка и кнопка вкл/выкл. Батарейка подключается к плате расширения, у которой есть функция зарядки

-9

Дальше есть еще несколько идей доработки платформы. Подписывайся, чтобы не пропустить