ESP-MDF против PainlessMesh для создания ячеистой сети с использованием esp32

#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.

Вопросы:

  1. Из чтения документации и видео намного проще использовать библиотеку PainlessMesh. Эта библиотека использует ESP-MDF?
  2. Если я подключу корневой узел к своему маршрутизатору, у которого есть Интернет, смогу ли я расширить свой сигнал Wi-Fi, чтобы в некоторых частях дома был доступ в Интернет, который в настоящее время не имеет покрытия Wi-Fi? Возможно ли это с использованием как ESP-MDF, так и PainlessMesh?
  3. Какой подход вы рекомендуете? Если я применю более жесткий подход (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:

  1. Нет, painlessMesh реализует свою сетевую сеть с использованием ESP8266/ESP32 SDK, ArduinoJson и ESPAsyncTCP(ESP8266)/AsyncTCP(ESP32). Смотрите больше по адресу: https://gitlab.com/painlessMesh/painlessMesh/-/tree/master/
  2. Нет, обе библиотеки используют Wi-Fi для mesh, поэтому он не будет доступен для доступа к точке доступа, его можно реализовать на уровне приложений, используя два ESP на одной плате, но только с одним это невозможно.
  3. Безболезненно, это, ну, безболезненно, так что разработка будет быстрее, но всегда будет зависеть от Arduino.h. ESP-MDF позволяет использовать больше устройств, он быстрее, надежнее, может иметь подключение к Интернету и не зависит от Arduino.h, за счет необходимости больше времени для настройки и кода. На мой взгляд, если вы на 100% уверены, что безболезненной сетки достаточно для вашего приложения, или вы не уверены, нужна ли вообще сетевая сеть, тогда используйте безболезненную сетку (не тратьте время только на то, чтобы выбросить ожидание кода); если вы сомневаетесь, будет ли безболезненной сетки достаточно, тогда используйте ESP-MDF.