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

Создаем свой блок. Вопросы, помощь знатоков.
tagan61
Рядовой
Сообщения: 21
Зарегистрирован: 07.09.2015{, 18:47}
Репутация: 0
Откуда: Россия
Имя: Александр

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

#181

Сообщение tagan61 » 25.10.2016{, 00:04}

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

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

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

#182

Сообщение Слимпер » 29.10.2016{, 09:03}

CraCk,  Результаты работы с библиотекой RF24Network

Получилось на данный момент:
1. Один главный блок, обязательный на всех контролерах (на ретрансляторах  нужен только он)
2. Парные блоки передачи/приема для 1 INT, 5 INT, String
3. Довольно легко переделать блоки передачи/приема под любой набор данных.
4. Направление передачи любое (в том  числе двухстороннее)
5. Блоки передачи/ приема могу использоваться несколько раз в одно проекте.
6. Есть контроль доставки сообщения (выход status)

Пока собрано только две макетки, по этому не проверял сложную сеть, но должна работать, если правильно настроить адреса во всех блоках.

Возможно будут конфликты со старой библиотекой для NRF24, в этом случаи надо найти и удалить  библиотеку RF24-master.

Добавлено (29.10.2016, 09:03)
---------------------------------------------
Почитал документацию  на библиотеку NRF24 от TMRh20  похоже можно запустить не только на аппаратном SPI но программном и даже c использованием UART  Описание
Правда не пробовал, но информация интересная
Вложения
9591463.rar
(358.08 КБ) 59 скачиваний
Последний раз редактировалось Слимпер 29.10.2016{, 08:41}, всего редактировалось 1 раз.

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

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

#183

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

Цитата СлимперРезультаты работы с библиотекой RF24Network Спасибо за труд. Протестирую как только найду третю ардуинку и время с которым сейчас проблематично. Пересмотрел блоки и примеры. Из недостатков по сравнению с блоками NRF24, скетч занимает в два раза больше места на контролере Главный блок и INT5 берут 20% на НАНО. Из плюсов сами блоки проще и удобней в использование. По сравнению с блоками многоножками.
Есть некоторые непонятки:
Немогу разовбраться с NRF24OnMessage -получено сообщение, желательно блокировать все длительные операция до перехода выхода в 0
Можна на примере объяснит что и как блокировать при полученном сообщении.
typeMessage можно таблицу ASCII с кодом 65-127?
Выход status теперь контролер передатчик сам опрашивает приемник, получено ли сообщение? На сколько такому методу можно доверять?
Размышления:
Если одновременно отправят  два передатчика приемнику данные тогда они в любом случае будут приняты, но только нужно добавит небольшую логику с выхода status на передатчиках чтобы обеспечить повторную отправку данных .

Правильно думаю?
Слимпер писал(а):3. Довольно легко переделать блоки передачи/приема под любой набор данных.
А как?
Слимпер писал(а):Почитал документацию  на библиотеку NRF24 от TMRh20
Но тогда не будет сети, а это одно из преимуществ nRF24L01. Mesh сетю никто не может похвалиться из доступных радио модулей. Мне кажеться что луче двигаться в направление энерго сбережения, долгая жизнь от аккумуляторов. Получи себе такого небольшого убийцу ESP8266  так как ESP8266 без розетки ни как.
Последний раз редактировалось CraCk 30.10.2016{, 00:05}, всего редактировалось 1 раз.

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

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

#184

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

CraCk писал(а):Но тогда не будет сети, а это одно из преимуществ nRF24L01. Mesh сетю никто не может похвалиться из доступных радио модулей.
Не правильно понял мое сообщение.  RF24Network это надстройка над NRF24, и по этому я писал, что можно если возникнит необходимость использовать не только аппаратный SPI порт, но и другие контакты. А конфликты бывают.

Кстати библиотеку  RF24Mesh я еще не использовал (это уже надстройка над  RF24Network), думаю с ней будет еще тяжелее код.
CraCk писал(а):Немогу разовбраться с NRF24OnMessage -получено сообщение, желательно блокировать все длительные операция до перехода выхода в 0
Ну имел виду, что когда было получено сообщение (1 на этом выходе), желательно (но не обязательно), запретить долгие операции (чтение датчиков, отправка данных в com порт). пример чуть позже. 
CraCk писал(а):typeMessage можно таблицу ASCII с кодом 65-127?
 
СпойлерПоказать
Добавлено (30.10.2016, 08:28)
---------------------------------------------
CraCk писал(а):Выход status теперь контролер передатчик сам опрашивает приемник, получено ли сообщение? На сколько такому методу можно доверять?Размышления:Если одновременно отправят  два передатчика приемнику данные тогда они в любом случае будут приняты, но только нужно добавит небольшую логику с выхода status на передатчиках чтобы обеспечить повторную отправку данных .Правильно думаю?
Если честно, пробовал разобраться в код библиотеки отвечающий за это, но там все слишком мудрено для меня. Из описание понял, что это не контроль приема модулем, а полноценное отвеное сообщение генерируемое библиотекой, при считывании полученных данных.
Т.е. отправил данные библиотека ждет ответного сообщения, о доставки до адресата, а только потом, выдает статус доставлено.
Кстати, если я правильно понял, то при  typeMessage заданном в диапазоне 0-64 контроля доставки не будет, это может быть полезно для разгрузки сети. 
CraCk писал(а):А как?
Проще всего посмотреть как реализованы блоки  NRF24_INT5_посылка и  NRF24_INT5_прием.
Там данные передаются в виде структуры, а в нее можно упаковать любые типы данных кроме String. Если будет интересно потом сделаю для примера блоки с набором разно типных входов.

Добавлено (30.10.2016, 10:21)
---------------------------------------------
CraCk писал(а):Мне кажеться что луче двигаться в направление энерго сбережения, долгая жизнь от аккумуляторов.
Ну если будет нормально работать можно попробовать и это сделать.
CraCk писал(а):Из недостатков по сравнению с блоками NRF24, скетч занимает в два раза больше места на контролере Главный блок и INT5 берут 20% на НАНО.
Размер не сравнивал, но он большей степени зависит от библиотеки, я и так попытался оптимизировать расход память, в меру моего разумения.
Вложения
5090332.png

zikkgaz24
Сержант
Сообщения: 132
Зарегистрирован: 26.08.2016{, 22:53}
Репутация: 0
Откуда: Красноярск

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

#185

Сообщение zikkgaz24 » 30.10.2016{, 21:49}

привет слимпер проверил твои новые блоки есть плюсы однако появился вопрос снова нету времени задержки данных в блоке приема думаю не лишнее и главный вопрос такой работают блоки только если использовать адрес устройства с номером 0 и 1 с другими номерами не работают
это так и должно быть или где то ошибки есть ?

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

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

#186

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

zikkgaz24 писал(а):главный вопрос такой работают блоки только если использовать адрес устройства с номером 0 и 1 с другими номерами не работают это так и должно быть или где то ошибки есть ?
Посмотри видео из сообщения 168 или поищите статьи про RF24Network там целая система организации адресов.
Да и адреса надо перепрописывать во всех блоках.
zikkgaz24 писал(а):однако появился вопрос снова нету времени задержки данных в блоке приема думаю не лишнее
А вот как раз не вижу в этом необходимости. Если нужно можно и внешней обвязкой сделать. Блоки и так тяжелые получились.

Ну максимум, может понадобится, это импульсный выход  новые данные.

Да и использовать их имеет смысл только если будет сеть из 3 и больше контроллеров.

zikkgaz24
Сержант
Сообщения: 132
Зарегистрирован: 26.08.2016{, 22:53}
Репутация: 0
Откуда: Красноярск

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

#187

Сообщение zikkgaz24 » 31.10.2016{, 19:38}

в моей ситуации как раз имеет смысл именно новых блоков т.к. новая библиотека оптимизирована под аттини и надо только решить с spi
я уже поприбовал вшить блоки в аттини убирая spi ардуино и код шьеться но spi не активный вот
про внешнюю обьвязку поподробней можно а то непонял как это реализовать

Добавлено (31.10.2016, 19:38)
---------------------------------------------
про адреса смотрел и понял что адрет главного должен начинаться с 0 и потом паутиной расходиться непонятно почему так думал может ты знаешь про это

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

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

#188

Сообщение Слимпер » 01.11.2016{, 15:24}

zikkgaz24 писал(а):что адрет главного должен начинаться с 0
Ну это проста форма записи восьмеричной системы счисления, также как 0x в начали записи числа означает шестнадцатеричную  систему счисления.
Вот хоть и на английском, но про систему записи адресов 
Но в  FLProg, так записать в числовую переменную нельзя, вот и я тоже до конца не уверен будет ли правильно работать.  
Цитата
zikkgaz24 писал(а):в моей ситуации как раз имеет смысл именно новых блоков т.к. новая библиотека оптимизирована под аттини и надо только решить с spi
вот тут посмотри

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

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

#189

Сообщение Слимпер » 01.11.2016{, 17:25}

zikkgaz24 писал(а):вопрос снова нету времени задержки данных в блоке приема думаю не лишнее и
zikkgaz24 писал(а):про внешнюю обьвязку поподробней можно а то непонял как это реализовать
Вот доработал блоки, добавил выход new - одиночный импульс при получении новых данных.
А внешняя обвязка примерно такая

СпойлерПоказать
Вложения
8614725.png

Аватара пользователя
Max
Лейтенант
Сообщения: 691
Зарегистрирован: 06.09.2015{, 13:12}
Репутация: 5
Откуда: Тюмень-Баку
Имя: Максим

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

#190

Сообщение Max » 02.11.2016{, 06:10}

Вот еще небольшой вопрос. Я так понял, что сейчас в блоке созданным Дмитрием NRF, можно сказать, работает "открытым текстом". Возможно ли дополнить блок схемой шифрования и дешифрирования данных?

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

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

#191

Сообщение Слимпер » 02.11.2016{, 15:10}

Max писал(а):Я так понял, что сейчас в блоке созданным Дмитрием NRF, можно сказать, работает "открытым текстом". Возможно ли дополнить блок схемой шифрования и дешифрирования данных?
Я не разрабатываю блок с нуля, по сути сделал блоки использую всего несколько из функций имеющихся в библиотеки RF24Network, но системы шифрования я там не видел.
Да и если честно не очень понимаю зачем уже так нужно шифрован, это же не Wifi, самодельная сеть с непонятным набором данных? 
Да и в шифровании я полный ноль. 
Но если сильно надо, можно наверное и блок с шифрованием сделать, но это если кто то готовую библиотеку шифрования найдет, сам я таким точно заниматься не буду. Знаний не хватить, а желания сильно углубляться в эту тему  нет.

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

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

#192

Сообщение CraCk » 02.11.2016{, 16:12}

Слимпер писал(а):но это если кто то готовую библиотеку шифрования найдет,

zikkgaz24
Сержант
Сообщения: 132
Зарегистрирован: 26.08.2016{, 22:53}
Репутация: 0
Откуда: Красноярск

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

#193

Сообщение zikkgaz24 » 02.11.2016{, 18:07}

привет слимпер посмотрел ссылку и да я читал и должно работать но чет пока пробовал один раз и не пошло возможно с нрф что то первый раз пробую версию мини тут приобрел еще одну как домой попаду так проверю
и исходя из статьи их можно подключать двумя вариантами с 3 или 5 контактов без spi библиотеки вот думаю просто радиомодуль дохлый вот и непошло
если интересно как проверю другой могу сообщить как с аттини все обстоит!!!

Аватара пользователя
Max
Лейтенант
Сообщения: 691
Зарегистрирован: 06.09.2015{, 13:12}
Репутация: 5
Откуда: Тюмень-Баку
Имя: Максим

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

#194

Сообщение Max » 02.11.2016{, 18:12}

Слимпер писал(а):Да и если честно не очень понимаю зачем уже так нужно шифрован, это же не Wifi, самодельная сеть с непонятным набором данных?
Да, если ты просто читаешь какие то данные (температуру, влажность, состояние контактов и т.д.), ну а если управляешь чем нибудь? Тут конечно надо защиту.

zikkgaz24
Сержант
Сообщения: 132
Зарегистрирован: 26.08.2016{, 22:53}
Репутация: 0
Откуда: Красноярск

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

#195

Сообщение zikkgaz24 » 02.11.2016{, 18:14}

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

Добавлено (02.11.2016, 18:14)
---------------------------------------------
Max, тебе вопрос зачем шифровка ? ты пробовал сканером смотреть свои же данные управления?

Аватара пользователя
Max
Лейтенант
Сообщения: 691
Зарегистрирован: 06.09.2015{, 13:12}
Репутация: 5
Откуда: Тюмень-Баку
Имя: Максим

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

#196

Сообщение Max » 02.11.2016{, 18:44}

zikkgaz24 писал(а):Max, тебе вопрос зачем шифровка ? ты пробовал сканером смотреть свои же данные управления?
Сканера у меня нет. А зачем, я выше написал.

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

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

#197

Сообщение Слимпер » 02.11.2016{, 20:01}

zikkgaz24 писал(а):и да мне развязка такая не пойдет так как я использую диалоговую передачу данных и постоянная задержка все рушит !
Странно, я на внешних блоках сделал ровно тоже, что делал кодом в блоках. По получению новых данных, они выдаются на выход, а по прошествии стольких то миллисекунд, в места них выдаются нули.
zikkgaz24 писал(а):по этому хотел спросить старые блоки смотрел и сравнивал код и увидел много идентичного по коду и то что ты дополнял для моих нужд . если выбрать эти данные части кода и вставить в новые будет работать или нет если да то какой блок надо редоктировать основной или приема
По идеи вполне все должно сработать. А править надо блоки приема.

Добавлено (02.11.2016, 20:01)
---------------------------------------------
CraCk писал(а):
Ну там похоже, может закодировать только одиночный байт. Может и достаточно будет для каких то целей.

Вот сайт с примерами на который идет ссылка в видео.

zikkgaz24
Сержант
Сообщения: 132
Зарегистрирован: 26.08.2016{, 22:53}
Репутация: 0
Откуда: Красноярск

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

#198

Сообщение zikkgaz24 » 03.11.2016{, 19:37}

Max, собери ты сканер простой есть даже пример проверки нрф и увидешь обсолютно непонятные цифры которые ни как не сопоставить и определить что это на крайняк можеш использовать блок рандум -случайное число и плюсуй свои команды и будет тебе шифровка

Добавлено (03.11.2016, 19:37)
---------------------------------------------
Слимпер, подскажи в блоке приема надо просто вставить эти куски кода или как то иначе?

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

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

#199

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

zikkgaz24 писал(а):Слимпер, подскажи в блоке приема надо просто вставить эти куски кода или как то иначе?
Ну попробуй сделать как кажется правильным  и скинь в личку, если будут ошибки поправлю.
Последний раз редактировалось Слимпер 03.11.2016{, 20:06}, всего редактировалось 1 раз.

zikkgaz24
Сержант
Сообщения: 132
Зарегистрирован: 26.08.2016{, 22:53}
Репутация: 0
Откуда: Красноярск

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

#200

Сообщение zikkgaz24 » 03.11.2016{, 20:05}

ок понял

Ответить

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