Страница 10 из 23

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

Добавлено: 25.10.2016{, 00:04}
tagan61
серву поборол стала реагировать на изменения данных на сервере, буду теперь дальше копать

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

Добавлено: 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  Описание
Правда не пробовал, но информация интересная

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

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

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

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

Добавлено: 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% на НАНО.
Размер не сравнивал, но он большей степени зависит от библиотеки, я и так попытался оптимизировать расход память, в меру моего разумения.

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

Добавлено: 30.10.2016{, 21:49}
zikkgaz24
привет слимпер проверил твои новые блоки есть плюсы однако появился вопрос снова нету времени задержки данных в блоке приема думаю не лишнее и главный вопрос такой работают блоки только если использовать адрес устройства с номером 0 и 1 с другими номерами не работают
это так и должно быть или где то ошибки есть ?

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

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

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

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

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

Добавлено: 31.10.2016{, 19:38}
zikkgaz24
в моей ситуации как раз имеет смысл именно новых блоков т.к. новая библиотека оптимизирована под аттини и надо только решить с spi
я уже поприбовал вшить блоки в аттини убирая spi ардуино и код шьеться но spi не активный вот
про внешнюю обьвязку поподробней можно а то непонял как это реализовать

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

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

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

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

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

СпойлерПоказать

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

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

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

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

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

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

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

Добавлено: 02.11.2016{, 18:07}
zikkgaz24
привет слимпер посмотрел ссылку и да я читал и должно работать но чет пока пробовал один раз и не пошло возможно с нрф что то первый раз пробую версию мини тут приобрел еще одну как домой попаду так проверю
и исходя из статьи их можно подключать двумя вариантами с 3 или 5 контактов без spi библиотеки вот думаю просто радиомодуль дохлый вот и непошло
если интересно как проверю другой могу сообщить как с аттини все обстоит!!!

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

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

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

Добавлено: 02.11.2016{, 18:14}
zikkgaz24
и да мне развязка такая не пойдет так как я использую диалоговую передачу данных и постоянная задержка все рушит ! по этому хотел спросить старые блоки смотрел и сравнивал код и увидел много идентичного по коду и то что ты дополнял для моих нужд . если выбрать эти данные части кода и вставить в новые будет работать или нет если да то какой блок надо редоктировать основной или приема

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

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

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

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

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

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

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

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

Добавлено: 03.11.2016{, 19:37}
zikkgaz24
Max, собери ты сканер простой есть даже пример проверки нрф и увидешь обсолютно непонятные цифры которые ни как не сопоставить и определить что это на крайняк можеш использовать блок рандум -случайное число и плюсуй свои команды и будет тебе шифровка

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

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

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

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

Добавлено: 03.11.2016{, 20:05}
zikkgaz24
ок понял