Как стать автором
Обновить

Осуществление разных способов связи между модулями esp32

Время на прочтение9 мин
Количество просмотров28K
Всего голосов 30: ↑30 и ↓0+30
Комментарии18

Комментарии 18

Статья не плохая, поставил плюс. На будущее пишите больше + рассказывайте больше о том, что происходит под капотом. А то непонятно например чем Wifi хуже BLE, либо что может обеспечить большую скорость итд итп.

Скорость: WiFi > Bluetooth > BLE
Энергоэкономия: WiFi < Bluetooth < BLE

Если нужно отправить сигнал из кнопки (беспроводной выключатель), лучше BLE. Если нужно отправить веб-интерфейс или видеосигнал, то WiFi. Если раз в сутки проснуться и скачать новый прогноз погоды, то WiFi. Чем меньше байт нужно для отправки, тем лучше BLE/Bluetooth.

Другое дело примеров кода для Bluetooth-сервера на ESP32 (то есть он подключает к себе устройства, а не сам ведет себя как устройство) раз два и обчелся — недокументированный код подключения клавиатуры и PS3 геймпада. Документации вообще нет. В общем, в это дело лезть сложно.

Bluetooth > BLE

верно только для EDR, в котором 3 мегабита разрешено. для BLE уже 2 мегабита скорость разрешили.

Если раз в сутки проснуться и скачать новый прогноз погоды, то WiFi.

Тут скорее без разницы, по энергии скорее всего в среднем одинаково будет. Вопрос только в организации доступа к сети.

А вот для синхронизации часов с высокой точностью это уже строго WiFi.

Скорее всего потому, что BLE не совсем профильный функционал ESP32, поскольку есть множество других более энергоэфективных контролеров. В случае использования ESP32 только для BLE это как из пушки по воробьям

Интересно, что в статье под названием «Осуществление разных способов связи между модулями esp32» нет слова «ESP-NOW». Технология позволяет соединять между собой esp32 и один-на-один, и сеткой, и вокруг одного устройства, и в одну сторону, и всяк-повсяк.
В двух словах: это 2.4 гигагерц протокол, который работает НЕ поверх Wifi протокола, но вместо этого использует Wifi-оборудование (радио, антенну и прочее).

Самый ближайший аналог — 2.4 ГГц свисток для беспроводной мышки — совсем не вайфай, хотя тоже радиоволны.

Если говорить про энергоэффективность, ESPNOW ~ 120mA в момент соединения BLE ~ 100mA, но для BLE нужно больше времени.

То есть для вай-фай кнопки вида проснулись-отправили-уснули, ESPNOW вообще впереди планеты всей (я уже молчу про вайфай и блютус), ну и например он ещё может работать как передатчик для рации или подобного в одну сторону, причем бьёт примерно на 500метров.

Из минусов — только ESP девайсы между собой соединять, из андроид-телефона или ноутбука или Wi-Fi роутера к этому делу не подключиться. Но и статья не об этом, естественно.

Также непонятно почему используют http сервер и клиент, тот же mqtt (канальный протокол TCP) и mqtt-sn (UDP) гораздо более заточенные под IoT.

А в чем преимущество mqtt в данном случае?

Возможно в приведенном случае между двух устройств и не имеет приемуществ, да и вообще mqtt, как таковое, не совсем клиент-серверное взаимодействие (все устройства представляют из себя клиентов и отдельно брокер). Но когда устройств 10-к и более, оперирование едиными сущностями как прием и отправка сообщений гораздо проще, чем поддержка всего протокола HTTP на всех устройствах, да и mqtt гораздо быстрее, ели установить соединение и передавать данные.

А это только у меня выдает "Hmm. We’re having trouble finding that site. We can’t connect to the server at https." для BLE варианта? WiFi-то скачался...

И, может быть, лучше оформить как git-репозиторий?

Сорри, ссылка видимо битая была, поправил.

Спасибо!

НЛО прилетело и опубликовало эту надпись здесь

как то проверял, в городе, получил:

1 по ble есп32-смартфон ~40м

2 по wifi есп32-смартфон ~80м

НЛО прилетело и опубликовало эту надпись здесь

Не замерял, так как не было надобности.

А реально на esp32 такое: по необходимости включать и отключать сквозную пересылку данных между двумя железными uart, при условии что могут быть разные bauds и инвертирование? Протоколов может быть использовано несколько, но все основаны на serial разных конфигураций.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий