Протокол связи для радио модулей HC-12
Протокол связи для радио модулей HC-12
Заменил в своих проектах блоки на новые Radio Head. Все завелось с пол оборота, ничего не переделывал. Но скорость передачи данных происходит на много быстрее чем на PJON хотя скорость передачи та же 9600. По чему раньше я этой библиотеки не замечал? Очень хочется увидеть продолжение разработки блоков на этой библиотеке. Так понимаю функционал очень богат. Еще очень пригодиться шифрование, а оно как раз там есть.
И вопрос по блоку есть несколько входов/выходов в типе данных integer. Это какая то задумка или просто ошибка при создание блока?
И вопрос по блоку есть несколько входов/выходов в типе данных integer. Это какая то задумка или просто ошибка при создание блока?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось CraCk 26 окт 2017, 14:23, всего редактировалось 1 раз.
Протокол связи для радио модулей HC-12
Это ошибка , но не критично. Блоки накидал на скорую рукуCraCk писал(а):И вопрос по блоку есть несколько входов/выходов в типе данных integer. Это какая то задумка или просто ошибка при создание блока?
Времени особо нет, но если будете тестировать,можно попробоватьCraCk писал(а):Очень хочется увидеть продолжение разработки блоков на этой библиотеке.
Протокол связи для радио модулей HC-12
Да потестирую. Можно пробовать. Еще есть что-то интересное в библиотеке кроме шифрирования?
Протокол связи для радио модулей HC-12
Четыре байта достаточно? Очистка буфера приёмника по сигналу нужна? В настройках пользователя можно добавить таймаут подтверждения и количество повторов. Можно ещё отдельно блок для строк сделать.
Шифрование занимает 72% динамической памяти в случае с Atmega328 , и 20% в случае с Mega2560 . Поэтому целесообразность применения шифрования весьма сомнительна , разве что на Mega,Due и т.д.
Добавлено (27.10.2017, 12:19)
---------------------------------------------
Кстати CraCk , модули на Si4432 не пробовали использовать ? Да, подключение по SPI , больше проводов, но гибкость и функциональность это компенсируют. Есть RSSI , разные виды модуляции,детектор разряда батареи , малое потребление в режиме sleep и т.д. Для портативных устройств в связке с трехвольтовой Arduino Mini самое оно.
Шифрование занимает 72% динамической памяти в случае с Atmega328 , и 20% в случае с Mega2560 . Поэтому целесообразность применения шифрования весьма сомнительна , разве что на Mega,Due и т.д.
Добавлено (27.10.2017, 12:19)
---------------------------------------------
Кстати CraCk , модули на Si4432 не пробовали использовать ? Да, подключение по SPI , больше проводов, но гибкость и функциональность это компенсируют. Есть RSSI , разные виды модуляции,детектор разряда батареи , малое потребление в режиме sleep и т.д. Для портативных устройств в связке с трехвольтовой Arduino Mini самое оно.
Последний раз редактировалось golowa70 27 окт 2017, 12:07, всего редактировалось 1 раз.
- Sher2104
- Сержант
- Сообщения: 205
- Зарегистрирован: 17 дек 2015, 08:23
- Откуда: Карши Узбекистан
- Имя: Шермухаммад
Протокол связи для радио модулей HC-12
Полностью поддерживаю, давненько закупил эти модули. Кстати можно сделать Блок чтобы работал как НС-12.. Т.е передача данных не spi, а rx tx ; Нужен блок конвертер вход сигналы spi, а на выход rx tx, тогда данные можно передавать до 10 км, лично не пробовал но есть в нете статья с применением внешней антенны.golowa70 писал(а):Кстати CraCk , модули на Si4432 не пробовали использовать ?
Не важно, кто ты снаружи, главное — кто ты внутри.
Протокол связи для радио модулей HC-12
Так а в чём тогда смысл?Sher2104 писал(а):Кстати можно сделать Блок чтобы работал как НС-12..
HC-12 это STM8+Si4463. Характеристики трансиверов похожи.
Преимущество работы по SPI в том, что есть доступ ко всем регистрам чипа. А если нужен Uart мост, так проще использовать готовый модуль.
- Sher2104
- Сержант
- Сообщения: 205
- Зарегистрирован: 17 дек 2015, 08:23
- Откуда: Карши Узбекистан
- Имя: Шермухаммад
Протокол связи для радио модулей HC-12
Я Вас понял и полностью согласен. Просто немного пугало кол-во проводов, в принципе в качестве юарт переходника можно использовать ардуино. Я так думаю.golowa70 писал(а):проще использовать готовый модуль.
Не важно, кто ты снаружи, главное — кто ты внутри.
Протокол связи для радио модулей HC-12
Доработал чуток. Приемник и передатчик теперь отдельными блоками (+init) и могут использоваться в проекте несколько раз. Пока без описания , думаю с установками разберетесь.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось golowa70 28 окт 2017, 02:04, всего редактировалось 1 раз.
Протокол связи для радио модулей HC-12
А через HC-12, который с RX-TX, получится помехи в эфир послать? как на STX882
Последний раз редактировалось Vano1989 28 окт 2017, 03:20, всего редактировалось 1 раз.
Протокол связи для радио модулей HC-12
Пока хватит. Я так понял что в последней версии уже компенсированная нехватка количества передаваемых байт, возможностью создания нескольких блоков передачи.golowa70 писал(а):Четыре байта достаточно?
Как будет себя вести программа если одновременно подать высокий уровень на отправку данных из нескольких блоков трансмиттеров?
Что получит приемник и как он будет знать с какой части программы он получил данные если у блоков нет идентификации? Например я на передатчике понасоздавал кучу блоков RH_Serial_TX и шлю с блоков разные данные, а на приемнике стоит один блок RH_Serial_RX которому все равно от которого блока он получил данные.
Тогда теряется смысл создавать нескольких блоков.
Тоже уже вижу что есть. Только как ею пользоваться? В каких случая нужна?golowa70 писал(а):Очистка буфера приёмника по сигналу нужна?
Можно. Только таймаут ограничить не меньше 200мс. Количество повторов сколько максимально три?golowa70 писал(а):В настройках пользователя можно добавить таймаут подтверждения и количество повторов.
Если подать высокий сигнал на вход блока send_data и так его держать. С каким тогда интервалом происходит передача данных? Можно где то корректировать интервал.
Жалко. Даже самое простое шифрование?golowa70 писал(а):Шифрование занимает 72% динамической памяти
Когда решал на чем строить сеть, оценивал все за и против дешевых радио модулей там был и Si4432. Основная проблема была в отсутствие на это время поддержки в flprog. А сам не потяну еще и такое сложное устройство как радиопередатчики. По этому остановился на НС-12. Простота использования, не грузит основной МК тяжелыми библиотеками, только цена на 0,5$ дороже. И вообще когда покупал планировал использовать НС-12 в связке с MODBUS. Но чуток не получилось.golowa70 писал(а):Кстати CraCk , модули на Si4432 не пробовали использовать ?
Добавлено (29.10.2017, 16:27)
---------------------------------------------
Может на сам НС-12 STM8 заливать прошивку с корректировкой регистров под свои нужды а потом работать с Ардуино через UART?golowa70 писал(а):Преимущество работы по SPI в том, что есть доступ ко всем регистрам чипа.
Добавлено (29.10.2017, 18:19)
---------------------------------------------
Как пример https://github.com/al177/hc12pj
Последний раз редактировалось CraCk 29 окт 2017, 16:15, всего редактировалось 1 раз.
Протокол связи для радио модулей HC-12
Будет передавать в порядке очереди. Но нужно иметь ввиду,что если текущий блок передатчика не получил подтверждение то он сначала использует все свои повторы и только потом перейдет к следующему блоку передачи.CraCk писал(а):Как будет себя вести программа если одновременно подать высокий уровень на отправку данных из нескольких блоков трансмиттеров?
Смысл исключительно в удобстве использования . Например на одной плате отправляем одному абоненту ,на второй другому.CraCk писал(а):Что получит приемник и как он будет знать с какой части программы он получил данные если у блоков нет идентификации? Например я на передатчике понасоздавал кучу блоков RH_Serial_TX и шлю с блоков разные данные, а на приемнике стоит один блок RH_Serial_RX которому все равно от которого блока он получил данные.Тогда теряется смысл создавать нескольких блоков.
Максимально вроде бы 255.CraCk писал(а):Количество повторов сколько максимально три?
Для шифрования используется сторонняя библиотек "Crypto" которая и отжирает память.CraCk писал(а):Жалко. Даже самое простое шифрование?
С интервалом равным длительности цикла программы. Интервал Вы задаете сами по входу send_data , как по мне это удобно и более гибко. Если нужно, могу внести это в настройки блока , но по сути это будет тоже самое.CraCk писал(а):Если подать высокий сигнал на вход блока send_data и так его держать. С каким тогда интервалом происходит передача данных? Можно где то корректировать интервал.
Добавлено (29.10.2017, 20:40)
---------------------------------------------
Кстати библиотека RH_Serial занимает памяти чуть больше чем библиотека RF22 для Si4432.CraCk писал(а):Простота использования, не грузит основной МК тяжелыми библиотеками,
Ну не знаю .... для меня все таки предпочтительнее использовать SPI , если конечно не нужен простой UART мост. Дело в том , что даже если модифицировать прошивку HC12 , вы можете получать доступ к регистрам трансивера только при помощи AT команд. А это не очень удобно,ресурсоемко и не очень быстро .CraCk писал(а):Может на сам НС-12 STM8 заливать прошивку с корректировкой регистров под свои нужды а потом работать с Ардуино через UART?
Получил как раз недавно несколько модулей Si4432. В теме " Блоки пользователей " выложил простенькие, хочу допилить их и попробовать организовать на них небольшую сеть по топологии "звезда" , когда клиенты работают каждый на своей частоте , а сервер прыгает по частотам .
Последний раз редактировалось golowa70 29 окт 2017, 20:41, всего редактировалось 1 раз.
Протокол связи для радио модулей HC-12
Нет не нужно.golowa70 писал(а):Если нужно, могу внести это в настройки блока , но по сути это будет тоже самое.
Пишут что даже для Тини есть библиотека http://rweather.github.io/arduinolibs/crypto.html я так понимаю.golowa70 писал(а):Для шифрования используется сторонняя библиотек "Crypto" которая и отжирает память.
Последний раз редактировалось CraCk 30 окт 2017, 00:28, всего редактировалось 1 раз.
Протокол связи для радио модулей HC-12
Да, есть немного облегченные версии - SpeckTiny и SpeckSmall. Простой пример приема-передачи занимают 60% и 63% динамической памяти. В принципе для чего то простого типа нескольких входов -выходов вполне хватит. Можно попробовать.CraCk писал(а):Пишут что даже для Тини есть библиотека http://rweather.github.io/arduinolibs/crypto.html я так понимаю.
Добавлено (03.11.2017, 20:45)
---------------------------------------------
Облегченные версии у меня почемуто не заработали с RH_Serial.golowa70 писал(а):Можно попробовать.
Протокол связи для радио модулей HC-12
Прочитал несколько первых сообщений темы, вопрос к топик стартеру, а как на счёт протокола MySensors? В нём реализованы ваши хотелки и даже больше.
Протокол связи для радио модулей HC-12
Ничего не имею против попробовать.Mikhail72 писал(а):а как на счёт протокола MySensors?
Передача по UART реализована? Я так понимаю что все датчики состоят из одного устройства например датчик температуры или освещения и т.д. У меня же на одном МК будет подключено несколько исполнительных, или измерительных устройств. По этому я не смогу просто компилировать готовые примеры из библиотеки MySensors. Нужны блоки в которых организованная передача по протоколу MySensors. Примеры блоков можете увидеть постами выше.Mikhail72 писал(а):В нём реализованы ваши хотелки и даже больше.
Жаль. Тогда пусть будет без шифрования.golowa70 писал(а):Облегченные версии у меня почемуто не заработали с RH_Serial.
Протокол связи для радио модулей HC-12
Нет, т.к. в качестве радио используется либо NRF24l01 или NRF5, либо RFM69, которые используют SPI.CraCk писал(а):Передача по UART реализована?
Это в стандартных примерах, но если вы умеете программировать, то количество ограничивается либо пинами, либо объёмом памяти.CraCk писал(а):Я так понимаю что все датчики состоят из одного устройства например датчик температуры или освещения и т.д
http://elref.ru/load/bloki_polzovatelej ... /2-1-0-350CraCk писал(а):Нужны блоки в которых организованная передача по протоколу MySensors.
P.S. Обратил внимание на ссылку на сайт MajorDoMo, подумал может вы из "наших".
Протокол связи для радио модулей HC-12
А будет что то подобное планироваться по добавлению НС-11\НС-12Mikhail72 писал(а):Нет, т.к. в качестве радио используется либо NRF24l01 или NRF5
NRF24l01 или NRF5 такие модули только для двухкомнатных квартир, понимаю что можно использовать и репитеры для увеличения радиуса. Но не всегда удобно репитер использовать на улице если он только нужен для увеличения радиуса.
Уже более годное.Mikhail72 писал(а):либо RFM69
golowa70 может вместо модулей на Si4432 попробовать RFM69? Интересный проект нашел по RFM69 https://lowpowerlab.com/shop/product/99
Это к нам не относитьсяMikhail72 писал(а):Это в стандартных примерах, но если вы умеете программировать, то количество ограничивается либо пинами, либо объёмом памяти.
Посмотрел. Очень много интересных функций есть, но они не полноценные. Чтоб блоки понравились пользователям. Нужно блок полностью сделать работоспособным без ковыряния кода и добавления библиотек радиомодулей. Тогда люди подтянуться так как есть построена экосистема плюс сопряжение с умными домами.Mikhail72 писал(а):http://flprog.ru/load/bloki_polzovatele ... /2-1-0-350
Не понял о чем речь?Mikhail72 писал(а):P.S. Обратил внимание на ссылку на сайт MajorDoMo, подумал может вы из "наших".
Протокол связи для радио модулей HC-12
На этот вопрос не готов ответить, т.к. добавление нового радио должно осуществляться разработчиками на уровне библиотеки.CraCk писал(а):А будет что то подобное планироваться по добавлению НС-11\НС-12
Тут я с вами не соглашусь, т.к. использую в доме и у других пользователей работают в домах, не говоря уже о квартирах. Качество связи напрямую зависит от качества модулей, также так называемый гейт(шлюз) использует на своём борту NRF24 с усилителем и внешней антенной, что увеличивает площадь покрытия.CraCk писал(а):NRF24l01 такие модули только
Репитер это не обязательно отдельная нода(узел), эта функция может быть активирована на любом узле с постоянным питанием (не от батарейки)CraCk не всегда удобно репитер использовать на улице
Добавлено (05.11.2017, 09:30)
---------------------------------------------
Вы уже в проекте 2 года, так что не думаю что вы до сих пор не научились. Я когда пришёл сюда даже моргать светодиодом неумел.CraCk Это к нам не относиться
Не понял в чём неполноценность?CraCk функций есть, но они не полноценные
Это на сегодняшний день ограничения FLprog, если автор внесёт изменения в программу, исправим.CraCk Нужно блок полностью сделать работоспособным без ковыряния кода и добавления библиотек радиомодулей
А по поводу добавления библиотек не понял.
Я подумал вы являетесь пользователем MajoDoMoCraCk Не понял о чем речь?
P.S. На сегодняшний день тенденция такая, пользователи системы умный дом используют либо готовые устройства с беспроводной передачей данных, либо делают свои используя MySensors. Все кто пробовал изобрести свой велосипед, перешли на MySensors и теперь развивают его в той или иной степени, в том числе и я. Можно найти в теме Слимпера про NFR24, что я тоже хотел создать что то подобное, т.к. не понимал в программировании, но пришлось разобраться и создать блоки для MySensors в первую очередь для себя, а потом я уже решил выложить их на суд народный.
Последний раз редактировалось Mikhail72 05 ноя 2017, 09:38, всего редактировалось 1 раз.
Протокол связи для радио модулей HC-12
C NRF24 у меня печальная история. В начале экспериментов все работало, радиус был смешной. Через дом в 10м и две стены кирпич толщиной 0,5м уже не пробивали, а модули с антенной просто муляж. От которых очень мало пользы. Конечно можно сказать что я покупал поделки плохого качества. Но при выборе более дорогих теряется смысл использования NRF24.Mikhail72 писал(а):NRF24 с усилителем и внешней антенной, что увеличивает площадь покрытия.
Между домом и сараем расстояние 30м. Между этим расстоянии дом соседа. NRF24 в таком случае просто труп. Будет интересно посмотреть на реакцию соседа когда буду на стене его дома прибивать коробочку, и тянуть к ней кабель. При вопросе что я делаю, отвечу нод креплю. Думаю на 103 он сразу позвонит.Mikhail72 писал(а):Репитер это не обязательно отдельная нода(узел), эта функция может быть активирована на любом узле с постоянным питанием (не от батарейки)
Не всем дано.Mikhail72 писал(а):Вы уже в проекте 2 года, так что не думаю что вы до сих пор не научились. Я когда пришёл сюда даже моргать светодиодом неумел.
Я ошибся, библиотеки радио модулей есть. Но все приходится в ручную раскомментировать.Mikhail72 писал(а):Это на сегодняшний день ограничения FLprog, если автор внесёт изменения в программу, исправим.А по поводу добавления библиотек не понял..
И непонятно
Добавлено (05.11.2017, 14:09)Т.е. в скетче должна быть одна функция void presentation() и одна void receive(const MyMessage &message)
---------------------------------------------
Пока нет. Возможно в будущем.Mikhail72 Я подумал вы являетесь пользователем MajoDoMo
Я пока что в этой стадии.Mikhail72 Все кто пробовал изобрести свой велосипед,
Добавлено (05.11.2017, 14:49)
---------------------------------------------
Вопрос по mysensors. Все датчики передают данные на шлюз. А дальше куда? Как производить управление и контроль?
Последний раз редактировалось CraCk 05 ноя 2017, 14:49, всего редактировалось 1 раз.
Протокол связи для радио модулей HC-12
Раскомментировать нужно только, то что отходит от стандартной ситуации, если устраивают параметры, которые по умолчанию, то шапку вообще можно не трогать или удалить. Стандартные параметры приведены на оф. сайтеCraCk писал(а):Но все приходится в ручную раскомментировать.
CraCk писал(а):И непонятно
В зависимости от того сколько у вас будет сенсоров на одной ноде, столько и будет отправок данных на сервер для их презентации. Количество сенсоров определяется количеством блоков Sending - receiving, FLprog создает для каждого сенсора свою функцию презентации и приёма данных с уникальными переменными, а должно быть всего по одной функции и содержать в себе данные по всем сенсорам.
Шлюз передаёт на сервер, в моём случае MajorDoMo, либо данные идут через шлюз на другую ноду. Про управление и контроль это уже тема Контроллера(Сервера)CraCk писал(а):Вопрос по mysensors. Все датчики передают данные на шлюз. А дальше куда? Как производить управление и контроль?
http://forum.flprogwiki.ru/viewtopic.php?f=18&t=2607 wiki не работает. Вопросы к Автору.
Последний раз редактировалось Mikhail72 05 ноя 2017, 15:53, всего редактировалось 1 раз.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость