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

Вопрос Посоветуйте протокол для датчиков (через Wi-Fi)

serg28serg

New member
Посоветуйте протокол для снятия информации с датчиков через Wi-Fi
датчики 32 бита, SSI или SPI

Требуется
1. при включении синхронизировать ESP (8шт. или возможно менее), с точностью допустим как по NTP, 1 мс или лучше, и периодически синхронизировать их конечно
2. через каждую 1 мс (или чаще) отправлять информацию с датчика (32 бита) с меткой времени как в RTP (съем информации должен быть синхронизирован)

что посоветуете уже из "допиленных" протоколов под ESP ? (гарантия доставки не критична, поток и так избыточен), модуль esp8266
картинку кидаю ниже
Dat_spi_8.jpg
 
Последнее редактирование:

pvvx

Активный участник сообщества
Требуется
1. при включении синхронизировать ESP (8шт. или возможно менее), с точностью допустим как по NTP, 1 мс или лучше, и периодически синхронизировать их конечно
У NTP нет такой точности.
2. через каждую 1 мс (или чаще) отправлять информацию с датчика (32 бита) с меткой времени как в RTP (съем информации должен быть синхронизирован)
RTP и отправлять. Но 8 модулей будут мешать друг другу - потерь по UDP будет очень много.
 

Сергей_Ф

Moderator
Команда форума
@serg28serg на расстоянии три метра для синхронного снятия данных с 8 датчиков лучше провод использовать. Ну не WiFi, однозначно.
 

pvvx

Активный участник сообщества
@serg28serg на расстоянии три метра для синхронного снятия данных с 8 датчиков лучше провод использовать. Ну не WiFi, однозначно.
Бывают условия - вода, к примеру, и прочие вещи,такие как грязь (, снаряды и пули :)). Предположим датчики в колесе автомобиля...
 

view24

Member
Бывают условия - вода, к примеру, и прочие вещи,такие как грязь (, снаряды и пули :)). Предположим датчики в колесе автомобиля...
Посоветуйте протокол для снятия информации с датчиков через Wi-Fi
датчики 32 бита, SSI или SPI

Требуется
1. при включении синхронизировать ESP (8шт. или возможно менее), с точностью допустим как по NTP, 1 мс или лучше, и периодически синхронизировать их конечно
2. через каждую 1 мс (или чаще) отправлять информацию с датчика (32 бита) с меткой времени как в RTP (съем информации должен быть синхронизирован)

что посоветуете уже из "допиленных" протоколов под ESP ? (гарантия доставки не критична, поток и так избыточен), модуль esp8266
картинку кидаю ниже
Посмотреть вложение 3556
 

view24

Member
По потоку будет 32 x 1000 x 8 = 256 к/бит - это смешная цифра для роутеров с потоком сотни к/бит. А вот протокол должен быть, думается, websocket. Так что ставите WebSocket сервер комп, и клиент на каждый датчик.
 

pvvx

Активный участник сообщества
По потоку будет 32 x 1000 x 8 = 256 к/бит - это смешная цифра для роутеров с потоком сотни к/бит. А вот протокол должен быть, думается, websocket. Так что ставите WebSocket сервер комп, и клиент на каждый датчик.
Угу - пусть ищет роутер, способный держать 8 клиентов. Дешевые обычно до 5-ти... :)
А далее справляется со всеми проблемами SDK Espressif, который будет вставлять запреты на прерывания и исполнение программы, получая "дырки" в передаче...
Тема про синхронизацию в 1 мс на форуме есть и там есть решение...
А про "256 к/бит" - это ни к чему. ESP изначально мешают другим клиентам в сети своими посылками. Тем более случай прекрасный нарваться на глюк - station ESP подстраивает частоту на сильный сигнал соседа, что часто приводит её к полной неработоспособности до последующего аппаратного сброса или сразу к "протектед". Зависит от того, что передает сосед (рядом, до 1 м, работающий модуль WiFi).
"Предупрежден - значит вооружен".
 
Последнее редактирование:

Encrypt

Member
ESP изначально мешают другим клиентам в сети своими посылками. Тем более случай прекрасный нарваться на глюк - station ESP подстраивает частоту на сильный сигнал соседа, что часто приводит её к полной неработоспособности до последующего аппаратного сброса или сразу к "протектед". Зависит от того, что передает сосед (рядом, до 1 м, работающий модуль WiFi).
"Предупрежден - значит вооружен".
Может лучше создать на форуме прикрепленный топик с описанием всех найденных багов в ESP8266. И под каждым багом возможный обходной путь решения проблемы, или предостереженя.
Это бы избавило от кучи глупых вопросов от новичков вроде меня.
 

pvvx

Активный участник сообщества
Может лучше создать на форуме прикрепленный топик с описанием всех найденных багов в ESP8266. И под каждым багом возможный обходной путь решения проблемы, или предостереженя.
Это бы избавило от кучи глупых вопросов от новичков вроде меня.
А большинству всё равно. Мигает светодиод и ладно...
 
  • Like
Реакции: vad7

Encrypt

Member
А большинству всё равно. Мигает светодиод и ладно...
Ну так есть еще и те кому не всеравно. Я лично для себя хочу использовать ESP по максимуму даже с его недостатками, потому как не всегда это может быть критично. Из того что я нашел, некоторые проблемы возможно решить доп. обязкой или проверками в коде. Тут главное знать чего ожитать в конкретном случае применения. А в интернетах крупицы годной инфы по модулю, все остальное пиар...
 

serg28serg

New member
У NTP нет такой точности.
в смысле ESP точнее не осилит ?
на какую точность тогда (разсинхрон между ESP рядом лежащими модулями) возможно рассчитывать ?, с периодической синхронизацией.

RTP и отправлять. Но 8 модулей будут мешать друг другу - потерь по UDP будет очень много.
типа на MODBUS TCP с 8-ю слейвами , даст больше полезного трафика чем UDP
или в случае с ESP есть какая либо более ходовая альтернатива, с меткой времени ?
что бы самому добавки к MODBUS TCP с метками времени

на расстоянии три метра для синхронного снятия данных с 8 датчиков лучше провод использовать. Ну не WiFi, однозначно.
да так и было задумано и проверено, типа физика RS422 , канал - 3-х веревочный SPI , контрольная сумма, четность, и при этом проверялось с 5МГц CLK (более 200 бит - что бы сразу все датчики закачать, приличный запас по трафику)
получилось 3 витых + питание (общ, +12в), тот кто делает железо - под такой кабель места и не хватило
а кинуть только питание - место есть
вот и встал вопрос - как прокачать 32 бита с каждого датчика

получилось из самого выгодного из беспроводного, и более близкого с "стандартным" протоколам на стороне хоста - как раз прокачка по Wi-Fi
Тема про синхронизацию в 1 мс на форуме есть и там есть решение...
попробую поискать, спасибо
А вот протокол должен быть, думается, websocket. Так что ставите WebSocket сервер комп, и клиент на каждый датчик.
А про "256 к/бит" - это ни к чему. ESP изначально мешают другим клиентам в сети своими посылками. Тем более случай прекрасный нарваться на глюк - station ESP подстраивает частоту на сильный сигнал соседа, что часто приводит её к полной неработоспособности до последующего аппаратного сброса или сразу к "протектед". Зависит от того, что передает сосед (рядом, до 1 м, работающий модуль WiFi).
"Предупрежден - значит вооружен".
если по мастеру слейвы опрашивать - не улучшит ситуацию ?
расстояние кстати между модулями может быть минимально и до 20 см
задумался о WiFi как о самой быстрой беспроводке при мелких размерах модуля
а то если и провода не уложить, и беспроводка (WiFi) глючит, то более среды и не остается для передачи потока с датчиков :(
Угу - пусть ищет роутер, способный держать 8 клиентов. Дешевые обычно до 5-ти... :)
ну при варианте на проводах у компа планировался USBный короб за 600 евриков, на альтерине , который и прокачивал датчики.
что то за эти деньги найдется наверно среди WiFi точек.
 
Последнее редактирование:

pvvx

Активный участник сообщества
в смысле ESP точнее не осилит ?
на какую точность тогда (разсинхрон между ESP рядом лежащими модулями) возможно рассчитывать ?, с периодической синхронизацией.

попробую поискать, спасибо
Про это где-то там Синхронизация часов.
задумался о WiFi как о самой быстрой беспроводке при мелких размерах модуля
а то если и провода не уложить, и беспроводка (WiFi) глючит, то более среды и не остается для передачи потока с датчиков :(
Зависит от реализации ПО части WiFi драйвера модуля и его ошибок. В случаи с модулями Espressif мы почти ничего не можем поменять и исправить. Их SDK рассчитано на мигание светодиодом и приложенный пример c IoT. Т.е. не на скоростные задачи или задачи с потоками данных.
 
Последнее редактирование:
Сверху Снизу