Как отправлять, получать и обмениваться данными между WiFi MCU (ESP8266, ESP32) и ПК с помощью WiFi ключа?

У меня есть

  • MCU типа ESP8266, ESP32.

  • ПК + Wi-Fi ключ.

Я хочу отправлять данные между ПК и MCU по беспроводной сети и без дополнительного оборудования (маршрутизаторы, мосты, выделенные серверы домашней автоматизации и т. Д.).

Я надеюсь, что есть легкая готовая к использованию .net библиотека для общения через Wi-Fi, вероятно, UDP или веб-сокеты, в зависимости от того, что быстрее и имеет минимальную задержку.

нравится

send(&myStruct)

..

struct=getData()

Я знаю, как их подключить с помощью (ESP-веб-сервер + браузер ПК) или (ESP-ссылка + виртуальный COM).

Но мне не нужны и я не хочу использовать решения на основе веб-браузера, включая обертку Electron, MQTT, ESP-ссылку и другие вредоносные программы.

Не уверен, что лучше спросить в arduino.stackexchange, electronics или stackowerflow.


person user1329019    schedule 25.02.2021    source источник
comment
Вы рассматриваете вредоносное ПО MQTT, но еще не знаете ответа на вопрос, который задаете?   -  person romkey    schedule 25.02.2021
comment
Обычно я использую облегченные протоколы с минимальными или нулевыми накладными расходами. Я не знаю, зачем нужны брокеры, публикация/подписка и т. д., если мне нужно подключить только 2 устройства.   -  person user1329019    schedule 25.02.2021
comment
Существуют разные версии стандарта WIFI, и соединение должно работать, если версия совместима. Я предполагаю, что у вас есть машина с интерфейсом WIFI, и вы сможете общаться, если IP, маска и маски настроены правильно. Маршрутизация будет использовать стандартную IP-маршрутизацию.   -  person jdweng    schedule 25.02.2021
comment
Да, подключение работает, но 2 решения, которые я нашел, не очень хороши: одному нужен веб-браузер для выполнения HTTP-запроса (и задержка 50+ мс @ESP8266), второму нужно установить программное обеспечение ESP-link и виртуальный tcp-to-Serial программное обеспечение на ПК и поддерживать оба. Это неприемлемо.   -  person user1329019    schedule 25.02.2021
comment
запустите SoftAP на esp8266, подключите ПК к этой точке доступа, запустите TCP-сервер на ПК или на esp8266, подключитесь к этому серверу через TCP-сокет со стороны клиента и отправьте данные в обе стороны   -  person Juraj    schedule 25.02.2021
comment
@Juraj +1 предложил бы то же самое, учитывая ограничения. Однако трудно представить, что ПК уже не подключен к какому-либо WiFi.   -  person Marcel Stör    schedule 26.02.2021
comment
Спасибо. Я ищу готовый к использованию проект или библиотеку. Если не найдется - напишу по ссылкам Tarmo.   -  person user1329019    schedule 26.02.2021


Ответы (1)


Что ж, если вы готовы приложить усилия и принять риски (без гарантированной доставки или порядка пакетов), то UDP, вероятно, является самым быстрым из доступных вам протоколов с наименьшей задержкой. Разумной архитектурой будет ПК в качестве сервера и ESP в качестве клиента (при условии, что ПК является центральным узлом, к которому подключаются все ваши ESP). Существует множество руководств, доступных как на C (для ESP или ПК) и .Net (только для ПК) — вам придется собрать их вместе для вашего решения.

person Tarmo    schedule 25.02.2021