ASP.NET Core поддерживает ESP32 - PullRequest
0 голосов
/ 21 февраля 2019

Я хотел бы иметь веб-сайт на базе ASP.NET Core для связи с ESP32 (микроконтроллер с программой, основанной на коде Arduino), который имел бы поддерживающее соединение.Что-то вроде последовательного порта без кабеля по сети.Я понял, что websocket может работать и будет лучшим решением (или нет?).ESP32 не поддерживает SignalR, поэтому мне нужно использовать сырой веб-сокет.Я обнаружил, что из контроллера можно вызывать только промежуточные решения без поддержки.

Идея такова: поддерживать связь между ESP32 и веб-сайтом ASP.NET Core.Пользователь может перейти на веб-сайт и вызвать действие (из браузера / API), который отправит данные в ESP32.Сайт является публичной частью.Браузер и ESP32 являются закрытыми частями (я имею в виду .. нет публичного IP-адреса).Также я хотел бы отправить данные сразу после запуска действия.Было бы неплохо, если бы ESP32 получал данные в течение 3 секунд.

Правильно ли использовать websocket?Можете ли вы показать мне или указать, как отправить данные из действия клиенту websocket?Я не смог найти достаточно информации, как это сделать.

1 Ответ

0 голосов
/ 22 февраля 2019

Вместо Websocket я наконец-то использовал TCP через TcpListener, работающий как IHostedService.Я сделал класс Singleton с Queue для очереди сообщений от вызовов API.В цикле IHostedService во время цикла я проверял, есть ли новые очереди сообщений для отправки.

ESP32 подключен через Wifi с помощью библиотеки WiFiClient.

Простой и быстрый

...