• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Топология сети при использовании ESP-Now

Доброго времени суток. Пробую разобраться как построить сеть для "умной" дачи. Одна из главных проблем - расстояния. Дача то не большая, но разбита на несколько участков. На данный момент не определился какой технологией буду пользоваться: ESP-Now или BLE. С оборудованием, которое поддерживает BLE более менее понятно. А вот что делать с ESP-Now?
Допустим поле в длину 200м и 100м в ширину. Допустим устройство с ESP-Now имеет радиус действия 20м. Между двумя такими устройствами 100м. Как их соединить? Понятно, что можно поставить ещё 2-3 таких устройства и использовать следующие варианты: один ведомый и несколько мастеров, мастер и несколько ведомых и двухстороннюю связь. Но хотелось бы обойтись без такого, потому что число максимально подключенных устройств ограничено. Всего 20 на один девайс. А у меня планы наполеоновские ))) Сотней устройств не ограничусь.
Есть ли какое-то устройство, которое поддерживает подобное подключение? Желательно, чтоб имело запасной вариант подключения по кабелю. Или как вообще решить эту проблему?
Думал про микротик, но не пойму, что в нем можно использовать для этих целей. Вроде что-то про меш когда-то читал, но опять же не пойму что это и можно ли его использовать.
 

aZholtikov

Active member
В последней версии ESP-IDF китайцы "изобрели" примочку Long Range для ESP32 (для протокола ESP-NOW). Пишут связь до 1 км.
Проверил в своих городских условиях. Пакеты между двумя ESP32 (с их то антенками) стали пропадать начиная с удаления примерно 150 метров (первая на балконе 3 этажа + 2 пятиэтажки по пути до второй). И это в загаженном городском эфире. В поле не удивлюсь что и 1 км потянет.
 

aZholtikov

Active member
C ESP8266 такая фишка (Long Range) не проходит. Как вариант (проверенный на даче) - принудительная установка режима WiFi в "B" обеспечивает устойчивую связь между ESP8266 по ESP-NOW в примой видимости примерно 100 метров (дальше не проверял, возможно и больше).
 
В последней версии ESP-IDF китайцы "изобрели" примочку Long Range для ESP32 (для протокола ESP-NOW)
Тут же хочется ещё и инет иметь на дальнем участке, типа музыку слушать, по вайберу с телеграм говорить, а связи по телефону нет. Чтоб появился инет, буду поднимать модем на мачту, потому и были надежды на использование каких-то комутаторов и технологий типа меш.
 

aZholtikov

Active member
не совсем понял, это как и зачем? Параллельно ESP-Now на той же плате включить обычную сеть?
Нет. WiFi (и ESP-NOW) может работать в 3х режимах - b g n. По умолчанию стоит n. Перед включением ESP-NOW принудительно выставляем b.
n - большая скорость, низкая дальность.
b - наоборот.
 
n - большая скорость, низкая дальность.
Теперь понял )))
Жаль, что у ESP нет вариантов на miniPci-e разъем. Только видел когда на плату с ESP32 добавляли miniPci-e, правда пока не понял, зачем и можно ли туда вставить другой вайфай модуль, но было бы интересно. У тех же микротиков есть версии с несколькими такими слотами. Правда совместимость крайне низкая. вернее поддержка драйверов. И вот мне интересно, как эспресиф поддерживает совместимость.
 

sL0n1k

Member
В последней версии ESP-IDF китайцы "изобрели" примочку Long Range для ESP32 (для протокола ESP-NOW). Пишут связь до 1 км.
Как мы знаем, BLE Long Range - это FHSS с помехоустойчивым кодирование.
Точнее, BLE Long Range - это только лишь помехоустойчивое кодирование и ничего другого.
Знаем мы это и, соответственно, понимаем как это работает из спецификации Bluetooth SIG.

Интересно было бы узнать на каких принципах базируется функциональность этого Long Range ESP-NOW, потому как изначально там 802.11x (wifi) и DSSS.
 

sL0n1k

Member
Поясню свой интерес.

802.11 протокол в котором collisions allowed, для своей приличной работы требует, чтобы все устройства "слышали" друг друга, с целью обнаружения коллизий. Если, вдруг, оказывается, что некоторые устройства на одной базе (AP) друг-друга не слышат,
т.е. не входят в один коллизионный домен, то начинается существенная потеря производительности, до полной перегрузки базы. Как раз, микротик известен прежде всего тем, что имеет свой проприетарный протокол из семейства collisions avoid (поллинг на базовой станции). Этот протокол существенно все меняет, оставаясь при этом DSSS, но нужен чаще всего только операторам БС.

BLE, там FHSS и алгоритмы выбора канала, что практически исключает коллизии, даже при безумно большом количестве разнообразно разбросанных устройств.

Понятно, что FHSS китайцы не могут включить на чипах для 802.11, а использовать здесь дополнительное помехоустойчивое кодирование бессмысленно.
 
802.11 протокол в котором collisions allowed
Я так глубоко не копал, потому что не особо то и разбираюсь в таких технологиях, но не совсем понимаю, ESP-Now тоже руководствуется протоколом 802.11? Если да, то как оно тогда решает проблему в ситуации двухсторонней связи между девайсами?
Как раз, микротик известен прежде всего тем, что имеет свой проприетарный протокол из семейства collisions avoid (поллинг на базовой станции)
Тоесть у микротика такой проблемы нет?
BLE, там FHSS и алгоритмы выбора канала, что практически исключает коллизии, даже при безумно большом количестве разнообразно разбросанных устройств.
Кстати, хоть и не совсем в тему, но сразу несколько уточнений:
1. Нужен ли для BLE какой-то BLE сервер?
2. Если нет некоего BLE сервера, то как вообще строится BLE сеть и как передается инфа на сервер, где крутиться, например Хоум Асистент
3. Как к микротику подключить этот BLE? Если конечно не считать специализированные KNOT
 

sL0n1k

Member
3. Как к микротику подключить этот BLE? Если конечно не считать специализированные KNOT
Вы же сообщили, что функционал BLE доступен?

То что реализовал микротик вылядит так: он собирает адверты (рекламу) с BLE-девайсов которые видит и визуализирует их (так или иначе) в виде HEX-строк. Вам предлагается дальше самому это парсить, либо на месте либо отправив куда-то еще (самое простое в топике MQTT, но можете и в телеграмм, видимо). Что Вы потом с этим будете делать - Вам решать.

Подход микротика вполне разумен.
Рекламу собирают каноническими средствами от BlueZ и не зависят ни от каких сторонних phython-пакетов.
Я и сам так делаю.
 
Вы же сообщили, что функционал BLE доступен?
Это я жду пока придет модуль с вайфай и BLE ))) но сам ещё не проверял. Да, в меню вроде как все есть. Но хочется уже сейчас больше узнать об этом, а инфы особо нет. А за это время успел прочитать, что там куча вопросов по совместимости.
Потому возможно есть другие способы, о которых я пока не знаю. Кто-то пишет, что есть блютуз свистки, которые работают в юсб разъеме, но не говорят какие. Есть люди, которые пишут, что пробовали несколько таких свистков и не один не завелся.
Те вайфай модули, которые вроде как совместимы, стоят больше 100уе, что больше чем в 2 раза дороже самого микротика ))) Пока не хочется такие покупать ))) А с дешевыми видимо будут проблемы подбора и настройки совместимости
 

nikolz

Well-known member
Доброго времени суток. Пробую разобраться как построить сеть для "умной" дачи. Одна из главных проблем - расстояния. Дача то не большая, но разбита на несколько участков. На данный момент не определился какой технологией буду пользоваться: ESP-Now или BLE. С оборудованием, которое поддерживает BLE более менее понятно. А вот что делать с ESP-Now?
Допустим поле в длину 200м и 100м в ширину. Допустим устройство с ESP-Now имеет радиус действия 20м. Между двумя такими устройствами 100м. Как их соединить? Понятно, что можно поставить ещё 2-3 таких устройства и использовать следующие варианты: один ведомый и несколько мастеров, мастер и несколько ведомых и двухстороннюю связь. Но хотелось бы обойтись без такого, потому что число максимально подключенных устройств ограничено. Всего 20 на один девайс. А у меня планы наполеоновские ))) Сотней устройств не ограничусь.
Есть ли какое-то устройство, которое поддерживает подобное подключение? Желательно, чтоб имело запасной вариант подключения по кабелю. Или как вообще решить эту проблему?
Думал про микротик, но не пойму, что в нем можно использовать для этих целей. Вроде что-то про меш когда-то читал, но опять же не пойму что это и можно ли его использовать.
Ставите роутер WI-FI в центре поля. В итоге у вас получается схема -звезда. При хорошей антенне смогут подключиться и соседи.
-------------
Если вместо роутера ESP, то тоже можно сделать звезду.
ESP8266 и ESP32 имеют одинаковую мощность передатчика, поэтому дальность по WiFi будет одинаковая При одинаковой антенне.
Чтобы дальность была больше -поднимите антенну выше.
 
Сверху Снизу