#esp32 #mesh-network #arduino-esp32
Вопрос:
Я хочу построить сетевую сеть с использованием esp32, чтобы создать умный дом. Вы рекомендуете использовать официальное решение espressif (ESP-MDF)? Или мне следует использовать библиотеку PainlessMesh, совместимую с платформой Arduino?
Прочтите документацию espressif, в которой говорится, что вы можете подключить до 1000 узлов:
Большая пропускная способность сети: ESP-MESH имеет форму древовидной топологии, поэтому одно устройство может подключаться максимум к 10 устройствам, а вся сеть может иметь более 1000 узлов.
Видео:
ESP-МДФ: https://www.youtube.com/watch?v=MWgp4BbkPcY
Библиотека безболезненной сетки: https://www.youtube.com/watch?v=gf39MLqPGkQamp;t=42s
Ограничения:
Библиотека безболезненной сетки: https://github.com/gmag11/painlessMesh/blob/master/README.md#limitations-and-caveats
ESP-MDF: одно устройство может подключаться максимум к 10 устройствам. (Я предполагаю, что это ограничение также существует для библиотеки PainlessMesh.
Вопросы:
- Из чтения документации и видео намного проще использовать библиотеку PainlessMesh. Эта библиотека использует ESP-MDF?
- Если я подключу корневой узел к своему маршрутизатору, у которого есть Интернет, смогу ли я расширить свой сигнал Wi-Fi, чтобы в некоторых частях дома был доступ в Интернет, который в настоящее время не имеет покрытия Wi-Fi? Возможно ли это с использованием как ESP-MDF, так и PainlessMesh?
- Какой подход вы рекомендуете? Если я применю более жесткий подход (ESP-MDF), откроет ли это новые двери в будущем, если я решу добавить больше интеллектуальных устройств? В настоящее время у меня есть только 7 умных домашних устройств, так что библиотека PainlessMesh, вероятно, будет отлично работать сейчас. Но если я решу добавить больше устройств в будущем, стоит ли изучать ESP-MDF?
Комментарии:
1. ESP-MESH не является сеткой Wi-Fi общего назначения, и вы не можете использовать ее для расширения зоны действия Wi-Fi в вашем доме для сторонних клиентов Wi-Fi. К нему могут присоединиться только устройства, реализующие протокол ESP-MESH, что практически означает только устройства ESP32. И даже в этом случае есть много возможностей для пересылки данных. Это хорошее подробное руководство о том, что это такое и как это работает: docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/…
Ответ №1:
- Нет, painlessMesh реализует свою сетевую сеть с использованием ESP8266/ESP32 SDK, ArduinoJson и ESPAsyncTCP(ESP8266)/AsyncTCP(ESP32). Смотрите больше по адресу: https://gitlab.com/painlessMesh/painlessMesh/-/tree/master/
- Нет, обе библиотеки используют Wi-Fi для mesh, поэтому он не будет доступен для доступа к точке доступа, его можно реализовать на уровне приложений, используя два ESP на одной плате, но только с одним это невозможно.
- Безболезненно, это, ну, безболезненно, так что разработка будет быстрее, но всегда будет зависеть от Arduino.h. ESP-MDF позволяет использовать больше устройств, он быстрее, надежнее, может иметь подключение к Интернету и не зависит от Arduino.h, за счет необходимости больше времени для настройки и кода. На мой взгляд, если вы на 100% уверены, что безболезненной сетки достаточно для вашего приложения, или вы не уверены, нужна ли вообще сетевая сеть, тогда используйте безболезненную сетку (не тратьте время только на то, чтобы выбросить ожидание кода); если вы сомневаетесь, будет ли безболезненной сетки достаточно, тогда используйте ESP-MDF.