nRF24L01+ пользовательский блока на Си
nRF24L01+ пользовательский блока на Си
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 Описание
Правда не пробовал, но информация интересная
Получилось на данный момент:
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 Описание
Правда не пробовал, но информация интересная
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось Слимпер 29 окт 2016, 08:41, всего редактировалось 1 раз.
-
- Лейтенант
- Сообщения: 674
- Зарегистрирован: 10 сен 2015, 21:51
- Благодарил (а): 1 раз
- Поблагодарили: 1 раз
nRF24L01+ пользовательский блока на Си
Цитата СлимперРезультаты работы с библиотекой RF24Network Спасибо за труд. Протестирую как только найду третю ардуинку и время с которым сейчас проблематично. Пересмотрел блоки и примеры. Из недостатков по сравнению с блоками NRF24, скетч занимает в два раза больше места на контролере Главный блок и INT5 берут 20% на НАНО. Из плюсов сами блоки проще и удобней в использование. По сравнению с блоками многоножками.
Есть некоторые непонятки:
Немогу разовбраться с NRF24OnMessage -получено сообщение, желательно блокировать все длительные операция до перехода выхода в 0
Можна на примере объяснит что и как блокировать при полученном сообщении.
typeMessage можно таблицу ASCII с кодом 65-127?
Выход status теперь контролер передатчик сам опрашивает приемник, получено ли сообщение? На сколько такому методу можно доверять?
Размышления:
Если одновременно отправят два передатчика приемнику данные тогда они в любом случае будут приняты, но только нужно добавит небольшую логику с выхода status на передатчиках чтобы обеспечить повторную отправку данных .
Правильно думаю?
Есть некоторые непонятки:
Немогу разовбраться с NRF24OnMessage -получено сообщение, желательно блокировать все длительные операция до перехода выхода в 0
Можна на примере объяснит что и как блокировать при полученном сообщении.
typeMessage можно таблицу ASCII с кодом 65-127?
Выход status теперь контролер передатчик сам опрашивает приемник, получено ли сообщение? На сколько такому методу можно доверять?
Размышления:
Если одновременно отправят два передатчика приемнику данные тогда они в любом случае будут приняты, но только нужно добавит небольшую логику с выхода status на передатчиках чтобы обеспечить повторную отправку данных .
Правильно думаю?
А как?Слимпер писал(а):3. Довольно легко переделать блоки передачи/приема под любой набор данных.
Но тогда не будет сети, а это одно из преимуществ nRF24L01. Mesh сетю никто не может похвалиться из доступных радио модулей. Мне кажеться что луче двигаться в направление энерго сбережения, долгая жизнь от аккумуляторов. Получи себе такого небольшого убийцу ESP8266 так как ESP8266 без розетки ни как.Слимпер писал(а):Почитал документацию на библиотеку NRF24 от TMRh20
Последний раз редактировалось CraCk 30 окт 2016, 00:05, всего редактировалось 1 раз.
nRF24L01+ пользовательский блока на Си
Не правильно понял мое сообщение. RF24Network это надстройка над NRF24, и по этому я писал, что можно если возникнит необходимость использовать не только аппаратный SPI порт, но и другие контакты. А конфликты бывают.CraCk писал(а):Но тогда не будет сети, а это одно из преимуществ nRF24L01. Mesh сетю никто не может похвалиться из доступных радио модулей.
Кстати библиотеку RF24Mesh я еще не использовал (это уже надстройка над RF24Network), думаю с ней будет еще тяжелее код.
Ну имел виду, что когда было получено сообщение (1 на этом выходе), желательно (но не обязательно), запретить долгие операции (чтение датчиков, отправка данных в com порт). пример чуть позже.CraCk писал(а):Немогу разовбраться с NRF24OnMessage -получено сообщение, желательно блокировать все длительные операция до перехода выхода в 0
CraCk писал(а):typeMessage можно таблицу ASCII с кодом 65-127?
[spoiler=Спойлер][/spoiler]
Добавлено (30.10.2016, 08:28)
---------------------------------------------
Если честно, пробовал разобраться в код библиотеки отвечающий за это, но там все слишком мудрено для меня. Из описание понял, что это не контроль приема модулем, а полноценное отвеное сообщение генерируемое библиотекой, при считывании полученных данных.CraCk писал(а):Выход status теперь контролер передатчик сам опрашивает приемник, получено ли сообщение? На сколько такому методу можно доверять?Размышления:Если одновременно отправят два передатчика приемнику данные тогда они в любом случае будут приняты, но только нужно добавит небольшую логику с выхода status на передатчиках чтобы обеспечить повторную отправку данных .Правильно думаю?
Т.е. отправил данные библиотека ждет ответного сообщения, о доставки до адресата, а только потом, выдает статус доставлено.
Кстати, если я правильно понял, то при typeMessage заданном в диапазоне 0-64 контроля доставки не будет, это может быть полезно для разгрузки сети.
Проще всего посмотреть как реализованы блоки NRF24_INT5_посылка и NRF24_INT5_прием.CraCk писал(а):А как?
Там данные передаются в виде структуры, а в нее можно упаковать любые типы данных кроме String. Если будет интересно потом сделаю для примера блоки с набором разно типных входов.
Добавлено (30.10.2016, 10:21)
---------------------------------------------
Ну если будет нормально работать можно попробовать и это сделать.CraCk писал(а):Мне кажеться что луче двигаться в направление энерго сбережения, долгая жизнь от аккумуляторов.
Размер не сравнивал, но он большей степени зависит от библиотеки, я и так попытался оптимизировать расход память, в меру моего разумения.CraCk писал(а):Из недостатков по сравнению с блоками NRF24, скетч занимает в два раза больше места на контролере Главный блок и INT5 берут 20% на НАНО.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
nRF24L01+ пользовательский блока на Си
привет слимпер проверил твои новые блоки есть плюсы однако появился вопрос снова нету времени задержки данных в блоке приема думаю не лишнее и главный вопрос такой работают блоки только если использовать адрес устройства с номером 0 и 1 с другими номерами не работают
это так и должно быть или где то ошибки есть ?
это так и должно быть или где то ошибки есть ?
nRF24L01+ пользовательский блока на Си
Посмотри видео из сообщения 168 или поищите статьи про RF24Network там целая система организации адресов.zikkgaz24 писал(а):главный вопрос такой работают блоки только если использовать адрес устройства с номером 0 и 1 с другими номерами не работают это так и должно быть или где то ошибки есть ?
Да и адреса надо перепрописывать во всех блоках.
А вот как раз не вижу в этом необходимости. Если нужно можно и внешней обвязкой сделать. Блоки и так тяжелые получились.zikkgaz24 писал(а):однако появился вопрос снова нету времени задержки данных в блоке приема думаю не лишнее
Ну максимум, может понадобится, это импульсный выход новые данные.
Да и использовать их имеет смысл только если будет сеть из 3 и больше контроллеров.
nRF24L01+ пользовательский блока на Си
в моей ситуации как раз имеет смысл именно новых блоков т.к. новая библиотека оптимизирована под аттини и надо только решить с spi
я уже поприбовал вшить блоки в аттини убирая spi ардуино и код шьеться но spi не активный вот
про внешнюю обьвязку поподробней можно а то непонял как это реализовать
Добавлено (31.10.2016, 19:38)
---------------------------------------------
про адреса смотрел и понял что адрет главного должен начинаться с 0 и потом паутиной расходиться непонятно почему так думал может ты знаешь про это
я уже поприбовал вшить блоки в аттини убирая spi ардуино и код шьеться но spi не активный вот
про внешнюю обьвязку поподробней можно а то непонял как это реализовать
Добавлено (31.10.2016, 19:38)
---------------------------------------------
про адреса смотрел и понял что адрет главного должен начинаться с 0 и потом паутиной расходиться непонятно почему так думал может ты знаешь про это
nRF24L01+ пользовательский блока на Си
Ну это проста форма записи восьмеричной системы счисления, также как 0x в начали записи числа означает шестнадцатеричную систему счисления.zikkgaz24 писал(а):что адрет главного должен начинаться с 0
Вот хоть и на английском, но про систему записи адресов
Но в FLProg, так записать в числовую переменную нельзя, вот и я тоже до конца не уверен будет ли правильно работать.
Цитата
вот тут посмотриzikkgaz24 писал(а):в моей ситуации как раз имеет смысл именно новых блоков т.к. новая библиотека оптимизирована под аттини и надо только решить с spi
nRF24L01+ пользовательский блока на Си
zikkgaz24 писал(а):вопрос снова нету времени задержки данных в блоке приема думаю не лишнее и
Вот доработал блоки, добавил выход new - одиночный импульс при получении новых данных.zikkgaz24 писал(а):про внешнюю обьвязку поподробней можно а то непонял как это реализовать
А внешняя обвязка примерно такая
[spoiler=Спойлер][/spoiler]
У вас нет необходимых прав для просмотра вложений в этом сообщении.
nRF24L01+ пользовательский блока на Си
Вот еще небольшой вопрос. Я так понял, что сейчас в блоке созданным Дмитрием NRF, можно сказать, работает "открытым текстом". Возможно ли дополнить блок схемой шифрования и дешифрирования данных?
nRF24L01+ пользовательский блока на Си
Я не разрабатываю блок с нуля, по сути сделал блоки использую всего несколько из функций имеющихся в библиотеки RF24Network, но системы шифрования я там не видел.Max писал(а):Я так понял, что сейчас в блоке созданным Дмитрием NRF, можно сказать, работает "открытым текстом". Возможно ли дополнить блок схемой шифрования и дешифрирования данных?
Да и если честно не очень понимаю зачем уже так нужно шифрован, это же не Wifi, самодельная сеть с непонятным набором данных?
Да и в шифровании я полный ноль.
Но если сильно надо, можно наверное и блок с шифрованием сделать, но это если кто то готовую библиотеку шифрования найдет, сам я таким точно заниматься не буду. Знаний не хватить, а желания сильно углубляться в эту тему нет.
-
- Лейтенант
- Сообщения: 674
- Зарегистрирован: 10 сен 2015, 21:51
- Благодарил (а): 1 раз
- Поблагодарили: 1 раз
nRF24L01+ пользовательский блока на Си
https://www.youtube.com/watch?v=qiOaeGK ... e=youtu.beСлимпер писал(а):но это если кто то готовую библиотеку шифрования найдет,
nRF24L01+ пользовательский блока на Си
привет слимпер посмотрел ссылку и да я читал и должно работать но чет пока пробовал один раз и не пошло возможно с нрф что то первый раз пробую версию мини тут приобрел еще одну как домой попаду так проверю
и исходя из статьи их можно подключать двумя вариантами с 3 или 5 контактов без spi библиотеки вот думаю просто радиомодуль дохлый вот и непошло
если интересно как проверю другой могу сообщить как с аттини все обстоит!!!
и исходя из статьи их можно подключать двумя вариантами с 3 или 5 контактов без spi библиотеки вот думаю просто радиомодуль дохлый вот и непошло
если интересно как проверю другой могу сообщить как с аттини все обстоит!!!
nRF24L01+ пользовательский блока на Си
Да, если ты просто читаешь какие то данные (температуру, влажность, состояние контактов и т.д.), ну а если управляешь чем нибудь? Тут конечно надо защиту.Слимпер писал(а):Да и если честно не очень понимаю зачем уже так нужно шифрован, это же не Wifi, самодельная сеть с непонятным набором данных?
nRF24L01+ пользовательский блока на Си
и да мне развязка такая не пойдет так как я использую диалоговую передачу данных и постоянная задержка все рушит ! по этому хотел спросить старые блоки смотрел и сравнивал код и увидел много идентичного по коду и то что ты дополнял для моих нужд . если выбрать эти данные части кода и вставить в новые будет работать или нет если да то какой блок надо редоктировать основной или приема
Добавлено (02.11.2016, 18:14)
---------------------------------------------
Max, тебе вопрос зачем шифровка ? ты пробовал сканером смотреть свои же данные управления?
Добавлено (02.11.2016, 18:14)
---------------------------------------------
Max, тебе вопрос зачем шифровка ? ты пробовал сканером смотреть свои же данные управления?
nRF24L01+ пользовательский блока на Си
Сканера у меня нет. А зачем, я выше написал.zikkgaz24 писал(а):Max, тебе вопрос зачем шифровка ? ты пробовал сканером смотреть свои же данные управления?
nRF24L01+ пользовательский блока на Си
Странно, я на внешних блоках сделал ровно тоже, что делал кодом в блоках. По получению новых данных, они выдаются на выход, а по прошествии стольких то миллисекунд, в места них выдаются нули.zikkgaz24 писал(а):и да мне развязка такая не пойдет так как я использую диалоговую передачу данных и постоянная задержка все рушит !
По идеи вполне все должно сработать. А править надо блоки приема.zikkgaz24 писал(а):по этому хотел спросить старые блоки смотрел и сравнивал код и увидел много идентичного по коду и то что ты дополнял для моих нужд . если выбрать эти данные части кода и вставить в новые будет работать или нет если да то какой блок надо редоктировать основной или приема
Добавлено (02.11.2016, 20:01)
---------------------------------------------
Ну там похоже, может закодировать только одиночный байт. Может и достаточно будет для каких то целей.CraCk писал(а):https://www.youtube.com/watch?v=qiOaeGK ... e=youtu.be
Вот сайт с примерами на который идет ссылка в видео.
nRF24L01+ пользовательский блока на Си
Max, собери ты сканер простой есть даже пример проверки нрф и увидешь обсолютно непонятные цифры которые ни как не сопоставить и определить что это на крайняк можеш использовать блок рандум -случайное число и плюсуй свои команды и будет тебе шифровка
Добавлено (03.11.2016, 19:37)
---------------------------------------------
Слимпер, подскажи в блоке приема надо просто вставить эти куски кода или как то иначе?
Добавлено (03.11.2016, 19:37)
---------------------------------------------
Слимпер, подскажи в блоке приема надо просто вставить эти куски кода или как то иначе?
nRF24L01+ пользовательский блока на Си
Ну попробуй сделать как кажется правильным и скинь в личку, если будут ошибки поправлю.zikkgaz24 писал(а):Слимпер, подскажи в блоке приема надо просто вставить эти куски кода или как то иначе?
Последний раз редактировалось Слимпер 03 ноя 2016, 20:06, всего редактировалось 1 раз.
nRF24L01+ пользовательский блока на Си
Не я неправильно понял принцип работы KeeLoq. Данные передаются открыто, но в мести с ними передается зашифрованный номер счетчика команд, если на приемнике после рашифровки номер счетчика совпадают, значит команды обрабатываются.Слимпер писал(а):Ну там похоже, может закодировать только одиночный байт. Может и достаточно будет для каких то целей.
Но, посмотрел код библиотеки, и мне не нравится там циклы из 528 операций, да и сам механизм записи значения счетчика в EEPROM
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей