Суть задачи:
Есть от 30 до 70 esp8266, которые генерируют данные и должны отправлять эти данные на сервер.
Как это организовать ?
В голове крутятся два варианта: очень много дорогих роутеров или хранение данных и ожидание своей очереди и отправка соотвественно по очереди.
Проблема первого решения: слишком дорого для данной задачи, непредсказуемость поведения wifi сети с таким насыщенным эфиром.
Проблема второго решения: непонимание того, как реализовать очередь,по какому принципу давать места, возможная проблема с памятью (пзу - хватит ли места, озу - хватит ли оперативки отправить весь файл)
Wifi - обязательное условие. Лишняя велосипедная аппаратура не допускается. Нужно чтобы все работало из коробки, с оборудованием, которое можно купить в магазине.
Идеальным было бы как-то отправлять с сервера(vps) сигнал об опросе датчика, по аналогии c push, но не уверен можно ли так сделать с esp8266.
Подскажите, пожалуйста, решение, которое позволит подключить esp к сети с учетом количества в 30-70 в одном помещении, без проводов.
NaName, сервер это vps доступная через интернет.
Сервер никак не связан с esp (ардуин нет). Будет использоваться встроенный wifi, при необходимости будет антенна wifi.
Есть от 30 до 70 esp8266, которые генерируют данные и должны отправлять эти данные на сервер.
Как это организовать ?
Сколько устройств -- не очень важно, важнее сколько данных и критична ли их доставка. Если доставка не критична -- можно использовать протокол без установки соединения, какой-ньть UDP, присоединять esp32 как станции к одной точке доступа и просто слать. Если данных существенно меньше, чем пропускная способность сети -- тоже можно не париться, присоединяться к единственной точке доступа и просто их слать. Проблем нужно ожидать если данных много и доставка критична.
Определитесь с этими двумя параметрами сначала.
Важно обеспечить 100% доставку данных. Т.е. без потерь данных.
Данных немного меньше 100 кб в минуту с одного датчика.
Мне кажется, что на установление соединения будет потрачено больше времени и ресурсов, чем на отправку
Ок, доставка без потерь, 100 * 1024 * 8 * 70 / 60 = 1Mбит/с чистых данных. Вам определённо должно хватить одной точки доступа для обслуживания всех этих esp.
Мне кажется, что на установление соединения будет потрачено больше времени и ресурсов, чем на отправку
Вполне возможно, зависит от того, как вы собираетесь отправлять. Если это постоянный поток 100кб в минуту, то имеет смысл устанавливать соединение один раз и после этого только слать данные.
Имхо, схему очередности можно реализовать примерно так: для каждого устройства задать порядковый id, который в свою очередь задаст временное смещение окна связи, после передачи данных канал закрывать.
Тоже думал над этим, но мы не можем знать и гарантировать время передачи данных. Датчик у стены из-за плохого сигнала, может слать данные 15 сек и пока он все гарантированно дошлет, скопится очередь из датчиков. Плюс датчик занимаются обработкой прерываний, которая может занимать неопределенное время.
>>Есть от 30 до 70 esp8266, которые генерируют данные и должны отправлять эти данные на сервер.
А типо каналы перекрываться не будут? Эта поделка только для домашнего примитивизма подходит.
>>Wifi - обязательное условие. Лишняя велосипедная аппаратура не допускается. Нужно чтобы все работало из коробки, с оборудованием, которое можно купить в магазине.
А параметры wi-fi "из коробки" на ESP уже без перепрошивки проставляются? Для низковольтных устройств wi-fi это велосипед с колесами от Камаза.
>>Подскажите, пожалуйста, решение, которое позволит подключить esp к сети с учетом количества в 30-70 в одном помещении, без проводов.
Bluetooth 4 LE, Lora, Zigbee, Zwave, куча других велосипедов. 30-70 устройств Wi-Fi в помещении просто загадят все каналы и связи просто не будет. Если хотите узнать почему - просто почитайте учебник Баскакова.
1) Это одна из проблем, которую надо решить.
2) Сами esp будут заранее прошиты на определенные параметры. WIFI данные точки будут жестко зашиты
3) ZIGBEE, Z-wave не открытые и дорогие. Lora тоже на обычной esp. Нужна спец платка.
Bluetooth не загадит весь эфир ?