Сегодня в статье узнаем, как использовать ESP-NOW для обмена данными между платами ESP32 (ESP8266), запрограммированными с помощью Arduino IDE. ESP-NOW - это протокол связи без установления соединения, разработанный Espressif, который поддерживает передачу коротких пакетов. Этот протокол позволяет нескольким устройствам легко общаться друг с другом.
Что такое ESP-NOW?
Согласно веб-сайту Espressif, ESP-NOW - это «протокол, разработанный Espressif, который позволяет нескольким устройствам связываться друг с другом без использования Wi-Fi. Протокол аналогичен протоколу беспроводной связи с низким энергопотреблением 2,4 ГГц. Сопряжение между устройствами необходимо до их связи. После того, как соединение выполнено, соединение будет безопасным и одноранговым, без необходимости подтверждения связи».
Это означает, что после сопряжения устройств друг с другом соединение остается постоянным. Другими словами, если внезапно одна из ваших плат теряет питание или перезагружается, при перезапуске она автоматически подключится к своему узлу для продолжения связи.
ESP-NOW поддерживает следующие функции:
- Зашифрованная и незашифрованная одноадресная передача;
- Смешанные зашифрованные и незашифрованные одноранговые устройства;
- Может передаваться полезная нагрузка до 250 байт;
- Функция обратного вызова, которая может быть установлена для информирования прикладного уровня об успешной или неудачной передаче.
Технология ESP-NOW также имеет следующие ограничения:
- Ограниченные зашифрованные одноранговые узлы. В режиме станции поддерживается не более 10 зашифрованных одноранговых узлов. И не более 6 в режиме SoftAP или SoftAP + Station;
- Поддерживаются несколько незашифрованных одноранговых узлов, однако их общее количество должно быть меньше 20, включая зашифрованные одноранговые узлы;
- Полезная нагрузка ограничена 250 байтами.
Проще говоря, ESP-NOW - это протокол быстрой связи, который можно использовать для обмена небольшими сообщениями (до 250 байт) между платами ESP32 и ESP8266.
ESP-NOW очень универсален, и вы можете иметь одностороннюю или двустороннюю связь с разными настройками.
ESP-NOW Односторонняя связь.
При одностороннем общении у вас могут быть такие сценарии:
- Одна плата ESP32 отправляет данные на другую плату ESP32.
Эту конфигурацию очень легко реализовать, и она отлично подходит для
отправки данных с одной платы на другую, например, показаний датчиков
или команд включения и выключения для управления GPIO.
- «Главный» ESP32 отправляет данные нескольким «подчиненным» ESP32.
Одна плата ESP32 отправляет одинаковые или разные команды на разные
платы ESP32. Эта конфигурация идеально подходит для создания чего-то
вроде пульта дистанционного управления. В доме может быть несколько плат
ESP32, которые управляются одной основной платой ESP32.
- Один «ведомый» ESP32, получающий данные от нескольких «мастеров»
Одна плата ESP32 отправляет одинаковые или разные команды на разные платы ESP32. Эта конфигурация идеально подходит для создания чего-то вроде пульта дистанционного управления. В доме может быть несколько плат ESP32, которые управляются одной основной
платой ESP32.
Эта конфигурация идеальна, если вы хотите собрать данные с нескольких узлов датчиков на одну плату ESP32. Его можно настроить как веб-сервер, например, для отображения данных со всех других плат.
ESP-NOW Двусторонняя связь.
С ESP-NOW каждая плата может быть отправителем и получателем одновременно. Таким образом, вы можете установить двустороннюю связь между платами.
Например, у вас могут быть две платы, взаимодействующие друг с другом.
Вы можете добавить больше плат в эту конфигурацию и получить нечто похожее на сеть (все платы ESP32 взаимодействуют друг с другом).
Таким образом, ESP-NOW идеально подходит для построения сети, в которой вы можете иметь несколько плат ESP32, обменивающихся данными друг с другом.
На этом с теорией все. Проверять работоспособность протокола ESP-NOW на практике будем в уроках ESP8266, ESP32.
Понравилась статья Протокол связи ESP-NOW. Применение для общения ESP32 или ESP8266? Не забудь поделиться с друзьями в соц. сетях.
А также подписаться на наш канал на YouTube, вступить в группу Вконтакте, в группу на Facebook.
Спасибо за внимание!
Технологии начинаются с простого!
Комментарии