nRF24L01 отправка/прием строки или т.п.

BelkinVadim
Offline
Зарегистрирован: 09.12.2013

Осваиваю nRF24L01. Почитал документацию - ничё не понял)) Скачал библиотеку Mirf для него, с переводчиком что-то более менее разобрал, что для чего. А вот сделать простую передачу с одного arduino на другой, например слова или набора символов, а потом вывода в мониторинг порта второго arduino не получается. Со знанием программирования у меня слабовато, но быстро учусь. Вот хочу попросить помощи, может кто объяснит, как сделать то что я хочу.

На форуме много примеров для nRF24L01, но они все я бы не сказал что простые, типа передача показаний датчиков и т.п. Для меня это пока сложновато, мне бы хватило передачи/приема одного слова или набора символов.

axill
Offline
Зарегистрирован: 05.09.2011

совет - поменяйте библиотеку на RF24, там есть готовый пример обмена led_remote

BelkinVadim
Offline
Зарегистрирован: 09.12.2013

axill пишет:

совет - поменяйте библиотеку на RF24, там есть готовый пример обмена led_remote

с этой библиотекой выходит Ошибка компиляции

 

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

BelkinVadim пишет:

с этой библиотекой выходит Ошибка компиляции

предлагаете заварить кофе и погадать какая ошибка у вас вышла? и куда она вышла?

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

Клапауций
Offline
Зарегистрирован: 10.02.2013

Puhlyaviy пишет:

предлагаете заварить кофе и погадать какая ошибка у вас вышла? и куда она вышла?

токо кофе допил - недорого свежую-негаданую гущу в инстаграмм могу выложить.

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

Клапауций пишет:

токо кофе допил - недорого свежую-негаданую гущу в инстаграмм могу выложить.

выкладывай тут, пригодится еще не раз

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

ну если пошла такая заварушка спрошу здесь. 

в радиоуправлении через этот модуль была большая задержка. как по максимому урезать либу rf24 для увеличения скорости передачи между 2 модулями только в 1 сторону

 

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

jeka_tm пишет:

ну если пошла такая заварушка спрошу здесь. 

в радиоуправлении через этот модуль была большая задержка. как по максимому урезать либу rf24 для увеличения скорости передачи между 2 модулями только в 1 сторону

я пытаюсь понять как размер влияет на погоду на улице... 
если большая задержка, то тут уже и без теста на беременость понятно что пора за подгузниками собираться..

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

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

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

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

с библиотекой все нормально тоже.. а вот если там математика при отправке получении тогда конечно.

MaksMS
Offline
Зарегистрирован: 11.03.2013

В коде библиотеки RF24 есть такая строчка :





const uint32_t timeout = 500; 

Она задает время таймаута отправки,если со связью все плохо ,то происходит повторная отправка в цикле и остальная программа останавливается на полсекунды ... 

Вообще для быстродействия лучше отказывается от float ,например передавать температуру/влажность х10 без дополнительной математики

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

не передаю только int. float не использую на передаче

axill
Offline
Зарегистрирован: 05.09.2011

jeka_tm пишет:

не передаю только int. float не использую на передаче

Так не только на передаче, но и в других частях программы. Практически все можно посчитать целочисленно, если не 8ми битной то 16, 32 или 64х битной математикой. Достаточно сдвинуть "точку" до нужной точности, переделав формулы со звижкой на х10, х100, х1000 и тд

Rednaxela
Offline
Зарегистрирован: 26.08.2013

Эти NRF  не работают без конденсаторов!!! Т.е вообще не работают!

Обязательно вешайте хотя бы 1мкФ на ноги питания модуля как можно ближе к микросхеме.

 

И потом не мучайтесь с кучей переменных. Объявите СТРУКТУРУ (не более 32 байт) и передавайте в ней все что вам нужно одним пулом.

 

RF24 -отстой!  Библиотека на то и делается чтобы скрыть максимум телодвижений, но это не про RF24.

Mirf!

kisoft
kisoft аватар
Offline
Зарегистрирован: 13.11.2012

Nrf работают без конденсаторов, у меня, во всяком случае проблем не было. Другое дело, что их лучше всего поставить, чтобы было меньше проблем.

MaksMS
Offline
Зарегистрирован: 11.03.2013

Rednaxela пишет:

RF24 -отстой!  Библиотека на то и делается чтобы скрыть максимум телодвижений, но это не про RF24.

Mirf!

RF24 - по сути это голая обертка для работы с этими радиомодулями , а Mirf - это реализация протокола обмена.

Поверх RF24 можно организовать какой угодно протокол обмена без ломания мозга в отличии от Mirf...По крайней мере у меня получилось организовать свой протокол (если его можно так назвать..) на RF24 без проблем и запустить его на  nRF24L01 (на чистом СИ AVR) ,а так же на nRF24LE1 - радимодули nRF24L01 с  м/к которому тупо уже сразу можно подключить датчики,реле, управление по ШИМ светодиодами и .т.д....

axill
Offline
Зарегистрирован: 05.09.2011

MaksMS, поделитесь опытом. Сам активно использую радиомодули на простом Си в Atmel Studio. Применяю клон RF24 сделанный jaseg. А вы что используете? 

Так же очень интересен опыт с LE1. Чем програмируете чип, каким програматором? Что используете в качестве среды програмирования? Буду признателен за пример кода

MaksMS
Offline
Зарегистрирован: 11.03.2013

На Си авр свою либу использую, основаную на  RF24 ..

Про LE1 писал на хабре http://habrahabr.ru/post/210974/

Все материалы nRF24L01/nRF24LE1 выкладываю тут http://homes-smart.ru/index.php/oborudovanie/bez-provodov-2-4-ggts

axill
Offline
Зарегистрирован: 05.09.2011

спасибо! отличная работа

у самого LE1 лежат пылятся, руки не дошли, с ваше помощью будет проще

это хороший вариант для очень компактных датчиков (кстати у радиодатчиков Neptun XP стоят LE1) или же умный радиомодуль с функцией удаленной прошивки ардуино/AVR