nRF24L01+ пользовательский блока на Си

Создаем свой блок. Вопросы, помощь знатоков.
Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06.09.2015{, 16:56}
Репутация: 27
Откуда: Новосибирск

nRF24L01+ пользовательский блока на Си

#361

Сообщение Слимпер » 12.06.2017{, 16:28}

Возникала у меня задача переделать свою автоматику где канал передачи данных были Радиомодули nRF24L01+.

По ряду причин все старые версии моих блоков, меня же не устроили  

Вот посидел, сделал новую версию.

Основана на доработано библиотеки

Теперь это не два блока, а целый набор, подробное описание в  самих блоках.

Из возможностей :
- Возможно слушать до 5 труб одновременно
- Реализована штатная система контроля доставки сообщений (достоверна только когда адреса у вех труб разные)
- Возможно передавать String (30 символов максимум)
- Возможно передавать INT (пока 5 в одном блоке, но можно доделать до 15)
- Возможно передавать Float (7 в одном блоке)
- В одном проекте можно использовать по несколько блоков одно типа и блоки разных типов.
- На стороне получения в блоках есть выход новые данные
- Есть независимый блок Сканер - для проверки работы модуля и поиска свободного канала.

Если надо можно добавить блоки и для других типов данных.

На столе протестировал в сети из 3 штук. Вроде все работает. Если кому интересно на Яндекс Диск выложил Новая версия.

Буду признателен за тестирование. Возможно еще не все косяки выловил.

Тем кто использовал прошлые версии  блоков  необходимо удалить папки содержащие в названии RF24 из папки Flprog\ide\libraries\ (\Flprog\ideV2\libraries\) и/или c:\Users\Имя пользователя\Documents\Arduino\libraries\

Добавлено (08.06.2017, 06:39)
---------------------------------------------
Тут подумал, походу надо делать еще возможность отсылать данные под разными адресами, чтобы функция контроля доставки могла нормально работать.

Суда по описанию библиотеки, должно получится, надо пробовать сделать.
Последний раз редактировалось Слимпер 12.06.2017{, 16:36}, всего редактировалось 1 раз.

Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06.09.2015{, 16:56}
Репутация: 27
Откуда: Новосибирск

nRF24L01+ пользовательский блока на Си

#362

Сообщение Слимпер » 12.06.2017{, 16:38}

До работал описанную выше версию  блоков

Теперь о возможностях:
- Можно передавать данные сразу от имени несколькими разными адресов
- Возможно слушать до 5 труб одновременно
- Реализована штатная система контроля доставки сообщений (достоверна только когда адреса у вех труб разные)
- Возможно задавать частотные каналы
- Возможно задавать коэффициент усиление передатчика
- Возможно передавать String (30 символов максимум)
- Возможно передавать INT ( 5 и/или 15 в одном блоке)
- Возможно передавать Float (7 в одном блоке)
- В одном проекте можно использовать по несколько блоков одно типа и блоки разных типов.
- Есть отдельный блок для ретрансляции данных от контроллера к контроллеру
- На стороне получения в блоках есть выход новые данные
- Реализована система нескольких попыток отправки сообщения, для надежности доставки.
- Есть контроль переполнения приемного буфера.
- Есть независимый блок Сканер - для проверки работы модуля и поиска свободного канала.

Вообщем, блоки позволяют создать полноценную сеть из модулей и при этом получились довольно компактные.

Выложил там же  на Яндекс Диск  Новая версия 1.0.
И прикладываю самый простой пример.
Вложения
2597220.rar
(280.27 КБ) 100 скачиваний

jet-belan
Рядовой
Сообщения: 75
Зарегистрирован: 17.04.2016{, 10:09}
Репутация: 0

nRF24L01+ пользовательский блока на Си

#363

Сообщение jet-belan » 26.06.2017{, 11:08}

дорогие друзья, пока не могу понять как использовать две платы в одном проекте на новых блоках версии 1,0) если кто то имеет возможность, пожалуйста, создайте проект в котором можно передать значение с кнопки (высокий и низкий уровень) и значение с переменного резистора (от 0 до 255) на другую плату посредством nrf24l01+ и там вывести на пины: аналоговый (значение с кнопки) и цифровой с ШИМ (значение с потенциометра))))

а уж  от этого я буду плясать дальше))

vlad
Лейтенант
Сообщения: 396
Зарегистрирован: 11.09.2015{, 11:50}
Репутация: 0
Откуда: Казань

nRF24L01+ пользовательский блока на Си

#364

Сообщение vlad » 06.07.2017{, 07:53}

Чем обусловлена разность правил написания адреса в блоке " NRF24_Главный" и в блоках отправки?
( если я конечно правильно понял про адресацию в блоках) я понял что адрес в главном блоке: "1adrs", "2adrs","3adrs"."5adrs"."9adrs" соответствует "0","1","2","3","4" адресу в передающем блоке. Почему нельзя одинаково. что в главном то и в передающем? или я все не правильно понял?

Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06.09.2015{, 16:56}
Репутация: 27
Откуда: Новосибирск

nRF24L01+ пользовательский блока на Си

#365

Сообщение Слимпер » 06.07.2017{, 14:21}

vlad писал(а):Чем обусловлена разность правил написания адреса в блоке " NRF24_Главный" и в блоках отправки?( если я конечно правильно понял про адресацию в блоках) я понял что адрес в главном блоке: "1adrs", "2adrs","3adrs"."5adrs"."9adrs" соответствует "0","1","2","3","4" адресу в передающем блоке. Почему нельзя одинаково. что в главном то и в передающем? или я все не правильно понял?
Тут такое дело, фактически,  в главном блоке есть два параметра:
Адреса Устройства -тут через запитую задается массив (список) адресов от имени которых и будет совершатся отправка.
Адреса Прослушки - здесь  через запитую задается массив (список) адресов устройств от кого требуется принимать сообщения.

А вход address блоков отправки это всего лишь ссылка на положение (порядковый номер) нужного вам адреса из массива заданного в главном блоке в параметре Адреса Устройства.

Это было сделано для оптимизации получаемого кода.

vlad
Лейтенант
Сообщения: 396
Зарегистрирован: 11.09.2015{, 11:50}
Репутация: 0
Откуда: Казань

nRF24L01+ пользовательский блока на Си

#366

Сообщение vlad » 06.07.2017{, 20:54}

Слимпер спасибо, вроде разобрался.

vovka1973
Майор
Сообщения: 1060
Зарегистрирован: 14.02.2016{, 14:16}
Репутация: 42
Откуда: kazahstan

nRF24L01+ пользовательский блока на Си

#367

Сообщение vovka1973 » 08.07.2017{, 19:23}

DerAlex писал(а):Программа прекрасная и замечательная.Кто бы спорил.Самое слабое звено сама Ардуинка.В самое неподходящее время зависает, перезагружается.Для какого то серъезного устройства это очень нехорошо.
тоже заметил что ловит помехи с сети и перезагружается .избавился я от перезагрузов вот такой платой  и забыл про перезагруз.
Вложения
5502680.jpg
Последний раз редактировалось vovka1973 08.07.2017{, 19:36}, всего редактировалось 1 раз.
Изображение

Аватара пользователя
Smit8719
Рядовой
Сообщения: 64
Зарегистрирован: 03.07.2017{, 02:00}
Репутация: 3

nRF24L01+ пользовательский блока на Си

#368

Сообщение Smit8719 » 22.07.2017{, 16:35}

Здравствуйте, наткнулся на али на такой конвертер для NRF24L01 SPI to I2C, если его использовать, нужно будет что-то менять в блоке (CE и СSN)?

Изображение

Добавлено (22.07.2017, 16:35)
---------------------------------------------
Еще такой вопрос, двустороннюю связь можно реализовать?  делал "1Node" , "2Node",  менял address и message_ID,передать получается, а вот принять нет
Последний раз редактировалось Smit8719 22.07.2017{, 16:37}, всего редактировалось 1 раз.

Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06.09.2015{, 16:56}
Репутация: 27
Откуда: Новосибирск

nRF24L01+ пользовательский блока на Си

#369

Сообщение Слимпер » 22.07.2017{, 19:54}

Smit8719 писал(а):Здравствуйте, наткнулся на али на такой конвертер для NRF24L01 SPI to I2C, если его использовать, нужно будет что-то менять в блоке (CE и СSN)?
Ну точно не скажу, но думаю не будет работать вообще, там на борту совой процессор и работа с модулем реализовано на нем, а эти блоки рассчитаны на работу на прямую
Smit8719 писал(а):Еще такой вопрос, двустороннюю связь можно реализовать?  делал "1Node" , "2Node",  менял address и message_ID,передать получается, а вот принять нет
Описание вроде подробное , к тому же  в сообщении 362, давал ссылку на яндекс диск, там там много разных примеров лежит.

Аватара пользователя
Smit8719
Рядовой
Сообщения: 64
Зарегистрирован: 03.07.2017{, 02:00}
Репутация: 3

nRF24L01+ пользовательский блока на Си

#370

Сообщение Smit8719 » 22.07.2017{, 22:18}

Действительно, не обратил внимание на пример, думал сам разберусь, настроил на двухстороннюю связь, спасибо за блок

vovka1973
Майор
Сообщения: 1060
Зарегистрирован: 14.02.2016{, 14:16}
Репутация: 42
Откуда: kazahstan

nRF24L01+ пользовательский блока на Си

#371

Сообщение vovka1973 » 24.07.2017{, 16:19}

кто нибудь пробовал путать питание nrf + с - .сразу сгорает или нет?
Изображение

pan
Полковник
Сообщения: 2860
Зарегистрирован: 13.04.2017{, 11:57}
Репутация: 204
Имя: noname

nRF24L01+ пользовательский блока на Си

#372

Сообщение pan » 24.07.2017{, 16:27}

предлагаете кому то повторить ваш трюк?)

vovka1973
Майор
Сообщения: 1060
Зарегистрирован: 14.02.2016{, 14:16}
Репутация: 42
Откуда: kazahstan

nRF24L01+ пользовательский блока на Си

#373

Сообщение vovka1973 » 24.07.2017{, 16:57}

нет конечно    ,просто спросил , я так сделал но как точно узнать сгорела или нет?
Изображение

Аватара пользователя
Dev1
Майор
Сообщения: 1026
Зарегистрирован: 12.07.2016{, 18:04}
Репутация: 59
Откуда: Гондурас

nRF24L01+ пользовательский блока на Си

#374

Сообщение Dev1 » 24.07.2017{, 17:25}

vovka1973 писал(а):я так сделал но как точно узнать сгорела или нет?
Обычно они медленно ползут на кладбище, накрывшись белой простыней. Хотя я предпочитаю с шумовыми и световыми эффектами. 
Win10-64 FLProg v7.5.2 Portable :fie:

vovka1973
Майор
Сообщения: 1060
Зарегистрирован: 14.02.2016{, 14:16}
Репутация: 42
Откуда: kazahstan

nRF24L01+ пользовательский блока на Си

#375

Сообщение vovka1973 » 24.07.2017{, 18:15}

Dev1 писал(а):Обычно они медленно ползут на кладбище
значит маленькая надежда есть что живой?
Изображение

pan
Полковник
Сообщения: 2860
Зарегистрирован: 13.04.2017{, 11:57}
Репутация: 204
Имя: noname

nRF24L01+ пользовательский блока на Си

#376

Сообщение pan » 24.07.2017{, 18:20}

подключите и проверьте. что мешает?

vovka1973
Майор
Сообщения: 1060
Зарегистрирован: 14.02.2016{, 14:16}
Репутация: 42
Откуда: kazahstan

nRF24L01+ пользовательский блока на Си

#377

Сообщение vovka1973 » 24.07.2017{, 18:26}

pan писал(а):подключите и проверьте. что мешает?
как придут новые тогда только я смогу проверить .а так просто я незнаю как проверить
Изображение

Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06.09.2015{, 16:56}
Репутация: 27
Откуда: Новосибирск

nRF24L01+ пользовательский блока на Си

#378

Сообщение Слимпер » 24.07.2017{, 18:32}

vovka1973 писал(а):как придут новые тогда только я смогу проверить .а так просто я незнаю как проверить
Для начала мульти метром нет ли короткого по питанию.

Если все вроде нормально то подключаем как надо к контролеру, а затем в новой версии блоков есть один блок  "NRF24_Сканер", он сделан специально для проверки работоспособности модуля.

Ссылка
Последний раз редактировалось Слимпер 24.07.2017{, 18:33}, всего редактировалось 1 раз.

vovka1973
Майор
Сообщения: 1060
Зарегистрирован: 14.02.2016{, 14:16}
Репутация: 42
Откуда: kazahstan

nRF24L01+ пользовательский блока на Си

#379

Сообщение vovka1973 » 24.07.2017{, 18:52}

Слимпер писал(а):Для начала мульти метром нет ли короткого по питанию.
все разобрался модули целые ура

$IMAGE2$
Последний раз редактировалось vovka1973 24.07.2017{, 20:16}, всего редактировалось 1 раз.
Изображение

cocs667
Рядовой
Сообщения: 7
Зарегистрирован: 22.12.2015{, 00:50}
Репутация: 0
Откуда: москва

nRF24L01+ пользовательский блока на Си

#380

Сообщение cocs667 » 24.07.2017{, 23:06}

вопрос на засыпку автору блока, есть возможность измерить силу сигнала от передатчика?

Ответить

Вернуться в «Разработка пользовательских блоков»