ESP-WIFI-MESH Development Framework
中文 —> README_cn.md
ESP-MDF, или Espressif Mesh Development Framework, представляет собой среду разработки для ESP-WIFI-MESH, сетевого протокола, построенного на основе протокола Wi-Fi. ESP-MDF основан на чипе ESP32.
Что нужно учесть
- Эта версия MDF основана на основной ветке IDF и не рекомендуется для разработки продукта. Если вам нужна стабильная версия MDF, используйте ветку release/v1.0.
- Основная ветка ESP-MDF уже поддерживает ESP32S2, но некоторые примеры не могут быть собраны и запущены на ESP32S2 в настоящее время. Мы поддержим их в будущем. Это:
— function_demo/mconfig;
— development_kit/buddy;
— development_kit/button;
— development_kit/light;
— development_kit/sense;
— wireless_debug.
Обзор
ESP-MDF базируется на стеке протоколов ESP-WIFI-MESH (https://docs.espressif.com/projects/esp-idf/en/stable/api-guides/mesh.html), чтобы облегчить разработку ESP-WIFI-MESH. ESP-MDF предоставляет следующие возможности:
-
Быстрая настройка сети: помимо ручной настройки с помощью приложений для настройки сети, таких как ESP-WIFI-MESH App или аналогичных сторонних приложений, ESP-MDF предлагает цепочечный способ настройки сети, при котором устройства автономно и быстро устанавливают сеть и формируют большую зону покрытия.
-
Стабильное обновление: процесс обновления стал более эффективным благодаря таким функциям, как автоматическая повторная передача неудачных фрагментов, сжатие данных, возврат к более ранней версии, проверка прошивки и т. д.
-
Эффективная отладка: поддерживаются различные подходы к отладке, такие как беспроводная передача журналов и беспроводная отладка, отладка через командный терминал и т. д.
-
Управление локальной сетью: сетью можно управлять с помощью приложения, датчика и т.д.
-
Различные демонстрационные приложения: предлагаются комплексные решения на основе ESP-WIFI-MESH в области освещения и т. п.
Структура
ESP-MDF состоит из Utils, Components и Examples (см. рисунок ниже). Utils — это инкапсуляция и сторонняя библиотека API ESP-IDF. Components — функциональные модули ESP-MDF, которые используют API Utils. Examples — решения ESP-WIFI-MESH, основанные на Components.
Utils |
Third Party: сторонние элементы |
Transmission: способ передачи данных между устройствами |
Mcommon: модули, общие для всех компонентов ESP-MDF |
Mlink (https://docs.espressif.com/projects/esp-mdf/en/latest/api-guides/mlink.html): модуль управления локальной сетью.
Примеры:
-
Function demo (examples/function_demo/): пример использования каждого функционального модуля:
-
Mwifi Example (examples/function_demo/mwifi): пример общих методов работы в сети: без роутера, без маршрутизатора. Сначала разработайте на основе этого примера, затем добавьте распространение, обновление, беспроводной тест и другие функции на его основе.
-
Mupgrade Example (examples/function_demo/mupgrade): пример обновления устройства.
-
Mconfig Example (examples/function_demo/mconfig): пример настройки сети устройства.
-
Mcommon Examples (examples/function_demo/mcommon): пример общего модуля, пример обработки событий, пример управления памятью, пример использования информационного хранилища.
-
Отладка: инструменты тестирования производительности и отладки:
-
Console Test (examples/function_demo/mwifi/console_test): тестирование пропускной способности ESP-WIFI-MESH, конфигурации сети и задержки пакетов путём ввода команд через последовательный порт.
-
Wireless Debug (examples/wireless_debug/): отладка ESP-MDF по беспроводной сети.
-
Development Kit (examples/development_kit/): использование ESP32-MeshKit для исследований и понимания ESP-WIFI-MESH:
-
ESP32-MeshKit-Light (examples/development_kit/light/): решение для умного освещения с ESP-WIFI-MESH в качестве основной сети. Комплект состоит из лампочек со встроенными чипами ESP32. Поддержка BLE + ESP-MDF для шлюза BLE, ibeacon и сканирования BLE.
-
ESP32-MeshKit-Sense (examples/development_kit/sense/): плата разработки, специально предназначенная для приложений, где ESP-WIFI-MESH находится в режиме Light-sleep или Deep-sleep. Плата предоставляет решения для: мониторинга энергопотребления периферийных устройств MeshKit; управления периферийными устройствами MeshKit на основе данных от нескольких встроенных датчиков.
-
ESP32-MeshKit-Button (examples/development_kit/button/): умное кнопочное решение, адаптированное для приложений ESP-WIFI-MESH с ультранизким энергопотреблением. Устройство просыпается только на короткое время при нажатии кнопок и передаёт пакеты устройствам ESP-WIFI-MESH через ESP-NOW (https://docs.espressif.com/projects/esp-idf/en/stable/api-reference/network/esp_now.html).
-
Облачная платформа: стыковка облачной платформы ESP-MDF:
-
Aliyun Linkkit (examples/maliyun_linkkit/): пример доступа ESP-MDF к платформе Alibaba Cloud.
- AWS: пример доступа ESP-MDF к платформе AWS.
Разработка с использованием ESP-MDF
Сначала необходимо прочитать «Коммуникационный протокол ESP-WIFI-MESH» (https://docs.espressif.com/projects/esp-idf/en/stable/api-guides/mesh.html) и «Руководство по программированию ESP-MDF» (Https://docs.espressif.com/projects/esp-mdf/en/latest/?badge=latest) и изучить ESP-WIFI-MESH с помощью комплекта разработчика ESP32-MeshKit. Во-вторых, на основе Function demo (examples/function_demo/) для разработки вашего проекта, когда вы можете столкнуться с проблемами в разработке, вы можете сначала обратиться к BBS (https://esp32.com/viewforum.php?f=21&sid=27bd50a0e45d47b228726ee55437f57e) и Issues (https://github.com/espressif/esp-mdf/issues), чтобы узнать, существует ли уже аналогичная проблема. Если подобной проблемы нет, вы также можете задать вопрос напрямую на сайте.
Платы разработки
Плата разработки ESP32-MeshKit
ESP32-MeshKit предлагает комплексное решение для интеллектуального освещения на базе ESP-WIFI-MESH (см. рисунок ниже), дополненное приложением ESP-Mesh (версия для iOS (https://itunes.apple.com/cn/app/esp-mesh/id1420425921?mt=8) и Android (https://github.com/EspressifApp/Esp32MeshForAndroid/raw/master/release/mesh.apk)) для исследования, разработки и лучшего понимания ESP-WIFI-MESH. Основные особенности ESP-WIFI-MESH
-
Простота настройки: ESP-WIFI-MESH расширяет диапазон действия исходной точки доступа Wi-Fi до самого дальнего узла в облаке сети. Такая сеть формируется автоматически, самовосстанавливается и самоорганизуется. Это избавляет от необходимости прокладывать кабели. Всё, что вам нужно сделать, это настроить пароль маршрутизатора.
-
Отсутствие шлюза: децентрализованная структура ESP-WIFI-MESH без шлюза предотвращает общий сбой сети при выходе из строя одного узла. Даже если есть только одно устройство ESP-WIFI-MESH, сеть всё равно работает как обычно.
-
Более безопасное соединение: можно зашифровать как канальный уровень данных, так и прикладной уровень.
-
Надёжная передача данных: управление передачей и потоком данных между двумя устройствами более надёжно. Также поддерживаются одноадресная, многоадресная и широковещательная передачи.
-
Большая ёмкость сети: ESP-WIFI-MESH имеет древовидную топологию, поэтому одно устройство может подключаться максимум к 10 устройствам, а вся сеть может иметь более 1000 узлов.
-
Широкое покрытие передачи: расстояние передачи между двумя устройствами составляет 30 метров через стены и 200 метров без препятствий (относится к ESP32-DevKitC).
-
Умный дом: даже если у вас дома всего три-пять устройств, они могут сформировать сеть и общаться друг с другом через стены.
-
Уличное освещение: если ESP-WIFI-MESH используется для уличного освещения, два устройства на большом расстоянии могут общаться друг с другом.
-
Высокая скорость передачи данных: для передачи по Wi-Fi скорость может достигать 10 Мбит/с.
-
Система управления окружающей средой: напрямую передаёт необработанные данные, собранные датчиками, и анализирует большие объёмы данных для калибровки алгоритмов, тем самым повышая точность датчиков.
-
Фоновая музыкальная система: поддерживаются как аудио-, так и видеопередачи.
-
Одновременное использование стеков протоколов Wi-Fi и BLE: чипы ESP32 могут одновременно использовать стеки протоколов Wi-Fi и BLE и использовать ESP-WIFI-MESH в качестве основной сети для передачи данных, приёма маяковых сигналов BLE, отправки широковещательных рассылок BLE и подключения устройств BLE.
-
Отслеживание предметов: отслеживает пакеты данных BLE или Wi-Fi от устройства в нескольких выбранных точках.
-
Подсчёт пешеходов: путём мониторинга кадров запросов пробников Wi-Fi.
-
Внутреннее позиционирование: каждое устройство функционирует как точка доступа Beacon, непрерывно отправляя сигнал Bluetooth в окружающую среду. Сеть может анализировать интенсивность сигнала устройства и вычислять его текущее положение.
-
Продвижение продукта: отправляет информацию о продукте и рекламные акции в реальном времени через iBeacon.
-
Шлюз Bluetooth: когда каждое устройство служит шлюзом Bluetooth, традиционные устройства Bluetooth также могут быть подключены к сети ESP-WIFI-MESH.
Связанная документация
- Для документов, связанных с ESP-MDF, перейдите на Руководство по программированию ESP-MDF.
-
ESP-WIFI-MESH — это базовый протокол беспроводной связи для ESP-MDF.
-
Руководство по программированию ESP-IDF описывает IoT-фреймворк Espressif.
- Чтобы сообщить об ошибке или запросить функцию, перейдите в раздел Проблемы, чтобы отправить их. Прежде чем отправлять проблему, пожалуйста, проверьте, не была ли она уже решена.
- Если вы хотите внести свой вклад в код, связанный с ESP-MDF, обратитесь к Руководству по внесению кода.
- Чтобы посетить официальный форум ESP32, перейдите на сайт ESP32 BBS.
- Документы по оборудованию, связанные с ESP32-MeshKit, доступны на сайте Espressif.
- Ссылка для покупки ESP32-MeshKit-Light: Таобао.
- Ссылка для покупки ESP32-Buddy: скоро появится.