Протокол связи для радио модулей HC-12

CraCk
Лейтенант
Сообщения: 632
Зарегистрирован: 10.09.2015{, 21:51}
Репутация: 10

Протокол связи для радио модулей HC-12

#121

Сообщение CraCk » 26.10.2017{, 14:22}

Заменил в своих проектах блоки на новые Radio Head. Все завелось с пол оборота, ничего не переделывал. Но скорость передачи данных происходит на много быстрее чем на PJON хотя скорость передачи та же 9600. По чему раньше я этой библиотеки не замечал? Очень хочется увидеть продолжение разработки блоков на этой библиотеке. Так понимаю функционал очень богат. Еще очень пригодиться шифрование, а оно как раз там есть.
И вопрос по блоку есть несколько входов/выходов в типе данных integer. Это какая то задумка или просто ошибка при создание блока?
Вложения
7177454.jpg
Последний раз редактировалось CraCk 26.10.2017{, 14:23}, всего редактировалось 1 раз.

golowa70
Сержант
Сообщения: 195
Зарегистрирован: 20.02.2016{, 00:05}
Репутация: 6

Протокол связи для радио модулей HC-12

#122

Сообщение golowa70 » 26.10.2017{, 21:50}

CraCk писал(а):И вопрос по блоку есть несколько входов/выходов в типе данных integer. Это какая то задумка или просто ошибка при создание блока?
Это ошибка , но не критично. Блоки накидал на скорую руку 
CraCk писал(а):Очень хочется увидеть продолжение разработки блоков на этой библиотеке.
Времени особо нет, но если будете тестировать,можно попробовать

CraCk
Лейтенант
Сообщения: 632
Зарегистрирован: 10.09.2015{, 21:51}
Репутация: 10

Протокол связи для радио модулей HC-12

#123

Сообщение CraCk » 27.10.2017{, 03:00}

Да потестирую. Можно пробовать. Еще есть что-то интересное в библиотеке кроме шифрирования?

golowa70
Сержант
Сообщения: 195
Зарегистрирован: 20.02.2016{, 00:05}
Репутация: 6

Протокол связи для радио модулей HC-12

#124

Сообщение golowa70 » 27.10.2017{, 12:19}

Четыре байта достаточно? Очистка буфера приёмника по сигналу нужна? В настройках пользователя можно добавить таймаут подтверждения и количество повторов. Можно ещё отдельно блок для строк сделать.

Шифрование занимает 72%  динамической памяти в случае с Atmega328 , и 20%  в случае с Mega2560 . Поэтому целесообразность применения шифрования весьма сомнительна , разве что на Mega,Due и т.д.

Добавлено (27.10.2017, 12:19)
---------------------------------------------
Кстати CraCk ,  модули на Si4432 не пробовали использовать ?  Да, подключение по SPI , больше проводов, но гибкость и функциональность это компенсируют. Есть RSSI , разные виды модуляции,детектор разряда батареи , малое потребление в режиме sleep и т.д.  Для портативных устройств в связке с  трехвольтовой Arduino Mini самое оно.
Последний раз редактировалось golowa70 27.10.2017{, 12:07}, всего редактировалось 1 раз.

Аватара пользователя
Sher2104
Сержант
Сообщения: 204
Зарегистрирован: 17.12.2015{, 08:23}
Репутация: 0
Откуда: Карши Узбекистан
Имя: Шермухаммад

Протокол связи для радио модулей HC-12

#125

Сообщение Sher2104 » 27.10.2017{, 14:05}

golowa70 писал(а):Кстати CraCk ,  модули на Si4432 не пробовали использовать ?
 Полностью поддерживаю, давненько закупил эти модули. Кстати можно сделать Блок чтобы работал как НС-12.. Т.е передача данных не spi,  а  rx tx ; Нужен блок конвертер вход сигналы spi, а на выход rx tx, тогда данные можно передавать до 10 км, лично не пробовал но есть в нете статья с применением внешней антенны.
Не важно, кто ты снаружи, главное — кто ты внутри.

golowa70
Сержант
Сообщения: 195
Зарегистрирован: 20.02.2016{, 00:05}
Репутация: 6

Протокол связи для радио модулей HC-12

#126

Сообщение golowa70 » 27.10.2017{, 14:41}

Sher2104 писал(а):Кстати можно сделать Блок чтобы работал как НС-12..
Так а в чём тогда смысл?
HC-12 это STM8+Si4463. Характеристики трансиверов похожи.
Преимущество работы по SPI в том, что есть доступ ко всем регистрам чипа. А если нужен Uart мост, так проще использовать готовый модуль.

Аватара пользователя
Sher2104
Сержант
Сообщения: 204
Зарегистрирован: 17.12.2015{, 08:23}
Репутация: 0
Откуда: Карши Узбекистан
Имя: Шермухаммад

Протокол связи для радио модулей HC-12

#127

Сообщение Sher2104 » 27.10.2017{, 15:46}

golowa70 писал(а):проще использовать готовый модуль.
 Я Вас понял и полностью согласен. Просто немного пугало кол-во проводов, в принципе  в качестве юарт переходника можно использовать ардуино. Я так думаю.
Не важно, кто ты снаружи, главное — кто ты внутри.

golowa70
Сержант
Сообщения: 195
Зарегистрирован: 20.02.2016{, 00:05}
Репутация: 6

Протокол связи для радио модулей HC-12

#128

Сообщение golowa70 » 28.10.2017{, 00:25}

Доработал чуток. Приемник и передатчик теперь отдельными блоками (+init) и могут использоваться в проекте несколько раз. Пока без описания , думаю с установками разберетесь.
Вложения
RH_Serial.rar
(251.06 КБ) 124 скачивания
Последний раз редактировалось golowa70 28.10.2017{, 02:04}, всего редактировалось 1 раз.

Vano1989
Рядовой
Сообщения: 25
Зарегистрирован: 30.07.2017{, 06:24}
Репутация: 0

Протокол связи для радио модулей HC-12

#129

Сообщение Vano1989 » 28.10.2017{, 01:54}

А через HC-12, который с RX-TX, получится помехи в эфир послать? как на STX882
 
Последний раз редактировалось Vano1989 28.10.2017{, 03:20}, всего редактировалось 1 раз.

CraCk
Лейтенант
Сообщения: 632
Зарегистрирован: 10.09.2015{, 21:51}
Репутация: 10

Протокол связи для радио модулей HC-12

#130

Сообщение CraCk » 29.10.2017{, 18:19}

golowa70 писал(а):Четыре байта достаточно?
Пока хватит. Я так понял что в последней версии уже компенсированная нехватка количества передаваемых байт, возможностью создания нескольких блоков передачи.
Как будет себя вести программа если одновременно подать высокий уровень на отправку данных из нескольких блоков трансмиттеров?
Что получит приемник и как он будет знать с какой части программы он получил данные если у блоков нет идентификации? Например я на передатчике понасоздавал кучу блоков RH_Serial_TX и шлю с блоков разные данные, а на приемнике стоит один блок RH_Serial_RX которому все равно от которого блока он получил данные.
Тогда теряется смысл создавать нескольких блоков.
golowa70 писал(а):Очистка буфера приёмника по сигналу нужна?
Тоже уже вижу что есть. Только как ею пользоваться? В каких случая нужна?
golowa70 писал(а):В настройках пользователя можно добавить таймаут подтверждения и количество повторов.
Можно. Только таймаут ограничить не меньше 200мс. Количество повторов сколько максимально три?
Если подать высокий сигнал на вход блока send_data и так его держать. С каким тогда интервалом происходит передача данных? Можно где то корректировать интервал.
golowa70 писал(а):Шифрование занимает 72% динамической памяти
Жалко. Даже самое простое шифрование?
golowa70 писал(а):Кстати CraCk , модули на Si4432 не пробовали использовать ?
Когда решал на чем строить сеть, оценивал все за и против дешевых радио модулей там был и Si4432. Основная проблема была в отсутствие на это время поддержки в flprog. А сам не потяну еще и такое сложное устройство как радиопередатчики. По этому остановился на НС-12. Простота использования, не грузит основной МК тяжелыми библиотеками, только цена на 0,5$ дороже. И вообще когда покупал планировал использовать НС-12 в связке с MODBUS. Но чуток не получилось.

Добавлено (29.10.2017, 16:27)
---------------------------------------------
golowa70 писал(а):Преимущество работы по SPI в том, что есть доступ ко всем регистрам чипа.
Может на сам НС-12 STM8 заливать прошивку с корректировкой регистров под свои нужды а потом работать с Ардуино через UART?

Добавлено (29.10.2017, 18:19)
---------------------------------------------
Как пример https://github.com/al177/hc12pj
Последний раз редактировалось CraCk 29.10.2017{, 16:15}, всего редактировалось 1 раз.

golowa70
Сержант
Сообщения: 195
Зарегистрирован: 20.02.2016{, 00:05}
Репутация: 6

Протокол связи для радио модулей HC-12

#131

Сообщение golowa70 » 29.10.2017{, 20:40}

CraCk писал(а):Как будет себя вести программа если одновременно подать высокий уровень на отправку данных из нескольких блоков трансмиттеров?
Будет передавать в порядке очереди. Но нужно иметь ввиду,что если текущий блок передатчика не получил подтверждение то он сначала использует все свои повторы и только потом перейдет к следующему блоку передачи.
CraCk писал(а):Что получит приемник и как он будет знать с какой части программы он получил данные если у блоков нет идентификации? Например я на передатчике понасоздавал кучу блоков RH_Serial_TX и шлю с блоков разные данные, а на приемнике стоит один блок RH_Serial_RX которому все равно от которого блока он получил данные.Тогда теряется смысл создавать нескольких блоков.
Смысл исключительно в удобстве использования .  Например на одной плате отправляем одному абоненту ,на второй другому.
CraCk писал(а):Количество повторов сколько максимально три?
Максимально вроде бы 255.
CraCk писал(а):Жалко. Даже самое простое шифрование?
Для шифрования используется сторонняя библиотек "Crypto" которая и отжирает память.
CraCk писал(а):Если подать высокий сигнал на вход блока send_data и так его держать. С каким тогда интервалом происходит передача данных? Можно где то корректировать интервал.
С интервалом равным длительности цикла программы. Интервал Вы задаете сами по входу send_data , как по мне это удобно и более гибко. Если нужно, могу внести это в настройки блока , но по сути это будет тоже самое.

Добавлено (29.10.2017, 20:40)
---------------------------------------------
CraCk писал(а):Простота использования, не грузит основной МК тяжелыми библиотеками,
Кстати библиотека RH_Serial занимает памяти чуть больше чем библиотека RF22  для Si4432.
CraCk писал(а):Может на сам НС-12 STM8 заливать прошивку с корректировкой регистров под свои нужды а потом работать с Ардуино через UART?
Ну  не знаю ....   для меня все таки предпочтительнее использовать SPI , если конечно не нужен простой UART мост. Дело в том , что даже если модифицировать прошивку HC12 ,  вы можете получать доступ к регистрам трансивера только при помощи AT команд. А это не очень удобно,ресурсоемко и не очень   быстро .
Получил как раз недавно несколько модулей Si4432. В теме  " Блоки пользователей "  выложил простенькие, хочу допилить их и попробовать организовать на них небольшую сеть по топологии "звезда" , когда клиенты работают каждый на своей частоте , а сервер прыгает по частотам .
Последний раз редактировалось golowa70 29.10.2017{, 20:41}, всего редактировалось 1 раз.

CraCk
Лейтенант
Сообщения: 632
Зарегистрирован: 10.09.2015{, 21:51}
Репутация: 10

Протокол связи для радио модулей HC-12

#132

Сообщение CraCk » 30.10.2017{, 00:26}

golowa70 писал(а):Если нужно, могу внести это в настройки блока , но по сути это будет тоже самое.
Нет не нужно.
golowa70 писал(а):Для шифрования используется сторонняя библиотек "Crypto" которая и отжирает память.
Пишут что даже для Тини есть библиотека http://rweather.github.io/arduinolibs/crypto.html я так понимаю.
Последний раз редактировалось CraCk 30.10.2017{, 00:28}, всего редактировалось 1 раз.

golowa70
Сержант
Сообщения: 195
Зарегистрирован: 20.02.2016{, 00:05}
Репутация: 6

Протокол связи для радио модулей HC-12

#133

Сообщение golowa70 » 03.11.2017{, 20:45}

CraCk писал(а):Пишут что даже для Тини есть библиотека http://rweather.github.io/arduinolibs/crypto.html я так понимаю.
Да, есть немного облегченные версии - SpeckTiny и SpeckSmall. Простой пример приема-передачи занимают 60% и 63% динамической памяти. В принципе для чего то простого типа нескольких  входов -выходов вполне хватит. Можно попробовать.

Добавлено (03.11.2017, 20:45)
---------------------------------------------
golowa70 писал(а):Можно попробовать.
Облегченные версии у меня почемуто не заработали с RH_Serial.

Mikhail72
Рядовой
Сообщения: 44
Зарегистрирован: 21.12.2016{, 06:01}
Репутация: 0
Откуда: Тюмень
Имя: Михаил

Протокол связи для радио модулей HC-12

#134

Сообщение Mikhail72 » 03.11.2017{, 21:49}

Прочитал несколько первых сообщений темы, вопрос к топик стартеру, а как на счёт протокола MySensors? В нём реализованы ваши хотелки и даже больше.

CraCk
Лейтенант
Сообщения: 632
Зарегистрирован: 10.09.2015{, 21:51}
Репутация: 10

Протокол связи для радио модулей HC-12

#135

Сообщение CraCk » 03.11.2017{, 23:35}

Mikhail72 писал(а):а как на счёт протокола MySensors?
Ничего не имею против попробовать.
Mikhail72 писал(а):В нём реализованы ваши хотелки и даже больше.
Передача по UART реализована? Я так понимаю что все датчики состоят из одного устройства например датчик температуры или освещения и т.д. У меня же на одном МК будет подключено несколько исполнительных, или измерительных устройств. По этому я не смогу просто компилировать готовые примеры из библиотеки MySensors. Нужны блоки в которых организованная передача по протоколу MySensors. Примеры блоков можете увидеть постами выше.
golowa70 писал(а):Облегченные версии у меня почемуто не заработали с RH_Serial.
Жаль. Тогда пусть будет без шифрования.

Mikhail72
Рядовой
Сообщения: 44
Зарегистрирован: 21.12.2016{, 06:01}
Репутация: 0
Откуда: Тюмень
Имя: Михаил

Протокол связи для радио модулей HC-12

#136

Сообщение Mikhail72 » 04.11.2017{, 10:40}

CraCk писал(а):Передача по UART реализована?
Нет, т.к. в качестве радио используется либо NRF24l01 или NRF5, либо RFM69, которые используют SPI.
CraCk писал(а):Я так понимаю что все датчики состоят из одного устройства например датчик температуры или освещения и т.д
Это в стандартных примерах, но если вы умеете программировать, то количество ограничивается либо пинами, либо объёмом памяти.
CraCk писал(а):Нужны блоки в которых организованная передача по протоколу MySensors.
http://elref.ru/load/bloki_polzovatelej ... /2-1-0-350

P.S. Обратил внимание на ссылку на сайт MajorDoMo, подумал может вы из "наших". 

CraCk
Лейтенант
Сообщения: 632
Зарегистрирован: 10.09.2015{, 21:51}
Репутация: 10

Протокол связи для радио модулей HC-12

#137

Сообщение CraCk » 05.11.2017{, 01:02}

Mikhail72 писал(а):Нет, т.к. в качестве радио используется либо NRF24l01 или NRF5
А будет что то подобное планироваться по добавлению НС-11\НС-12
NRF24l01 или NRF5 такие модули только для двухкомнатных квартир, понимаю что можно использовать и репитеры для увеличения радиуса. Но не всегда удобно репитер использовать на улице если он только нужен для увеличения радиуса.
Mikhail72 писал(а):либо RFM69
Уже более годное.
golowa70 может вместо модулей на Si4432 попробовать RFM69? Интересный проект нашел по RFM69 https://lowpowerlab.com/shop/product/99
Mikhail72 писал(а):Это в стандартных примерах, но если вы умеете программировать, то количество ограничивается либо пинами, либо объёмом памяти.
Это к нам не относиться  
Посмотрел. Очень много интересных функций есть, но они не полноценные. Чтоб блоки понравились пользователям. Нужно блок полностью сделать работоспособным без ковыряния кода и добавления библиотек радиомодулей. Тогда люди подтянуться так как есть построена экосистема плюс сопряжение с умными домами.
Mikhail72 писал(а):P.S. Обратил внимание на ссылку на сайт MajorDoMo, подумал может вы из "наших".
Не понял о чем речь?

Mikhail72
Рядовой
Сообщения: 44
Зарегистрирован: 21.12.2016{, 06:01}
Репутация: 0
Откуда: Тюмень
Имя: Михаил

Протокол связи для радио модулей HC-12

#138

Сообщение Mikhail72 » 05.11.2017{, 09:30}

CraCk писал(а):А будет что то подобное планироваться по добавлению НС-11\НС-12
На этот вопрос не готов ответить, т.к. добавление нового радио должно осуществляться разработчиками на уровне библиотеки.
CraCk писал(а):NRF24l01 такие модули только
Тут я с вами не соглашусь, т.к. использую в доме и у других пользователей работают в домах, не говоря уже о квартирах. Качество связи напрямую зависит от качества модулей, также так называемый гейт(шлюз) использует на своём борту NRF24 с усилителем и внешней антенной, что увеличивает площадь покрытия.
CraCk не всегда удобно репитер использовать на улице
Репитер это не обязательно отдельная нода(узел), эта функция может быть активирована на любом узле с постоянным питанием (не от батарейки)

Добавлено (05.11.2017, 09:30)
---------------------------------------------
CraCk Это к нам не относиться
Вы уже в проекте 2 года, так что не думаю что вы до сих пор не научились. Я когда пришёл сюда даже моргать светодиодом неумел.
CraCk функций есть, но они не полноценные
Не понял в чём неполноценность?
CraCk Нужно блок полностью сделать работоспособным без ковыряния кода и добавления библиотек радиомодулей
Это на сегодняшний день ограничения FLprog, если автор внесёт изменения в программу, исправим.
А по поводу добавления библиотек не понял.
CraCk Не понял о чем речь?
Я подумал вы являетесь пользователем MajoDoMo

P.S. На сегодняшний день тенденция такая, пользователи системы умный дом используют либо готовые устройства с беспроводной передачей данных, либо делают свои используя MySensors. Все кто пробовал изобрести свой велосипед, перешли на MySensors и теперь развивают его в той или иной степени, в том числе и я. Можно найти в теме Слимпера про NFR24, что я тоже хотел создать что то подобное, т.к. не понимал в программировании, но пришлось разобраться и создать блоки для MySensors в первую очередь для себя, а потом я уже решил выложить их на суд народный.
Последний раз редактировалось Mikhail72 05.11.2017{, 09:38}, всего редактировалось 1 раз.

CraCk
Лейтенант
Сообщения: 632
Зарегистрирован: 10.09.2015{, 21:51}
Репутация: 10

Протокол связи для радио модулей HC-12

#139

Сообщение CraCk » 05.11.2017{, 14:49}

Mikhail72 писал(а):NRF24 с усилителем и внешней антенной, что увеличивает площадь покрытия.
C NRF24 у меня печальная история. В начале экспериментов все работало, радиус был смешной. Через дом в 10м и две стены кирпич толщиной 0,5м уже не пробивали, а модули с антенной просто муляж. От которых очень мало пользы. Конечно можно сказать что я покупал поделки плохого качества. Но при выборе более дорогих теряется смысл использования NRF24.
Mikhail72 писал(а):Репитер это не обязательно отдельная нода(узел), эта функция может быть активирована на любом узле с постоянным питанием (не от батарейки)
Между домом и сараем расстояние 30м. Между этим расстоянии дом соседа. NRF24 в таком случае просто труп. Будет интересно посмотреть на реакцию соседа когда буду на стене его дома прибивать коробочку, и тянуть к ней кабель. При вопросе что я делаю, отвечу нод креплю. Думаю на 103 он сразу позвонит.
Mikhail72 писал(а):Вы уже в проекте 2 года, так что не думаю что вы до сих пор не научились. Я когда пришёл сюда даже моргать светодиодом неумел.
Не всем дано.
Mikhail72 писал(а):Это на сегодняшний день ограничения FLprog, если автор внесёт изменения в программу, исправим.А по поводу добавления библиотек не понял..
Я ошибся, библиотеки радио модулей есть. Но все приходится в ручную раскомментировать.
И непонятно 
Т.е. в скетче должна быть одна функция void presentation() и одна void receive(const MyMessage &message)
Добавлено (05.11.2017, 14:09)
---------------------------------------------
Mikhail72 Я подумал вы являетесь пользователем MajoDoMo
Пока нет. Возможно в будущем.
Mikhail72 Все кто пробовал изобрести свой велосипед,
Я пока что в этой стадии.

Добавлено (05.11.2017, 14:49)
---------------------------------------------
Вопрос по mysensors. Все датчики передают данные на шлюз. А дальше куда? Как производить управление и контроль?
Последний раз редактировалось CraCk 05.11.2017{, 14:49}, всего редактировалось 1 раз.

Mikhail72
Рядовой
Сообщения: 44
Зарегистрирован: 21.12.2016{, 06:01}
Репутация: 0
Откуда: Тюмень
Имя: Михаил

Протокол связи для радио модулей HC-12

#140

Сообщение Mikhail72 » 05.11.2017{, 15:47}

CraCk писал(а):Но все приходится в ручную раскомментировать.
Раскомментировать нужно только, то что отходит от стандартной ситуации, если устраивают параметры, которые по умолчанию, то шапку вообще можно не трогать или удалить. Стандартные параметры приведены на оф. сайте
CraCk писал(а):И непонятно

В зависимости от того сколько у вас будет сенсоров на одной ноде, столько и будет отправок данных на сервер для их презентации. Количество сенсоров определяется количеством блоков Sending - receiving, FLprog создает для каждого сенсора свою функцию презентации и приёма данных с уникальными переменными, а должно быть всего по одной функции и содержать в себе данные по всем сенсорам.
CraCk писал(а):Вопрос по mysensors. Все датчики передают данные на шлюз. А дальше куда? Как производить управление и контроль?
Шлюз передаёт на сервер, в моём случае MajorDoMo, либо данные идут через шлюз на другую ноду. Про управление и контроль это уже тема Контроллера(Сервера)

http://forum.flprogwiki.ru/viewtopic.php?f=18&t=2607 wiki не работает. Вопросы к Автору.
Последний раз редактировалось Mikhail72 05.11.2017{, 15:53}, всего редактировалось 1 раз.

Ответить

Вернуться в «Radio 433 MHz»