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

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

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

#161

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

zikkgaz24, а как вы добавили в Arduino IDE поддержку ATtiny85?

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

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

#162

Сообщение zikkgaz24 » 22.09.2016{, 16:03}

https://geektimes.ru/post/267798/
http://research.andbas.com/2012....85.html
вот две статьи там описано
https://www.youtube.com/watch?v=z9ff922jrCY это видео где описываеться все действия ниже плеера есть ссылка с самой библиотекой я этот вариант использовал все работает

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

Добавлено (22.09.2016, 16:03)
---------------------------------------------
и там библиотека не только 85 а всех аттини менять можно Mhz вольтаж

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

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

#163

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

zikkgaz24, ,бегло глянул, у ATtiny85 как то совсем по другому работа с с портами SPI и I2C, ну они на одних и тех же пинах, так что одновременно их  использовать точно нельзя.
ну и думаю стандартные библиотек могут не работать.
Но сразу говорю, разбираться с другими камнями я пока не планирую.

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

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

#164

Сообщение zikkgaz24 » 22.09.2016{, 18:15}

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

Добавлено (22.09.2016, 18:15)
---------------------------------------------
  • TMRh20/RF24
  • TMRh20/RF24Network
  • вот он пишет чтоб скомпилировать скетчь нужны вот эти библиотеки только я разницы не вижу с обычными и да я малость не вкурил как в твоем блоке да и в ардуино ide библиотеки внедрить

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

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

#165

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

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

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

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

#166

Сообщение zikkgaz24 » 24.09.2016{, 18:48}

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

Добавлено (24.09.2016, 18:48)
---------------------------------------------
Слимпер, вы попробовали поддержку аттини поставить ?

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

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

#167

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

zikkgaz24 писал(а):Слимпер, вы попробовали поддержку аттини поставить ?
Нет, зачем, если у меня нет самого камня?
Да и со временем сейчас напряжёнка.

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

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

#168

Сообщение CraCk » 12.10.2016{, 18:52}

Немного пищи для наших программистов. Возможно такой вариант реализации связи, компенсирует недостаток дальность связи.
[video][/video]

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

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

#169

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

CraCk писал(а):"Пин IRQ подключать не обязательно. Я его подключил к пину 2, на котором у  Arduino  Pro Mini есть обработчик прерываний. Его будем использовать для пробуждения радиомодуля из режима сна, в который будем погружать его для экономии питания.Подсоединим по этой схеме радиомодули к принимающей и отправляющей ардуинам."
Вот как раз сегодня экспериментировал с усыплением контроллера и его пробуждением по прерыванию. Спящие режимы

Добавлено (12.10.2016, 19:50)
---------------------------------------------
CraCk писал(а):Немного пищи для наших программистов. Возможно такой вариант реализации связи, компенсирует недостаток дальность связи.
Видел я уже эту библиотеку, но вот самому мне это пока не надо, а желания просто так разбираться пока нет.
Хотя дачный сезон закончился, может позже и займусь.

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

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

#170

Сообщение CraCk » 12.10.2016{, 20:21}

Слимпер писал(а):Вот как раз сегодня экспериментировал с усыплением контроллера и его пробуждением по прерыванию
И как результат. Удалось использовать пин IRQ?
Слимпер писал(а):Видел я уже эту библиотеку, но вот самому мне это пока не надо, а желания просто так разбираться пока нет.
Если решитесь. Дайте знать. буде тестером. Закупил НРФОК 3шт. думал сооружать умный дом. Начал тестировать, а их радиус действия для мого дома сарая и гаража маловат в формате один сервер и все клиенты.
Последний раз редактировалось CraCk 12.10.2016{, 20:21}, всего редактировалось 1 раз.

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

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

#171

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

CraCk писал(а):И как результат. Удалось использовать пин IRQ?
С модулями не пробовал, но вот просто усыпить и пробудить по импульсу на входе, вроде получилось. Так что может и заработает и с модулем.
Надо будет дальше пробовать, хотя опят же, сам я на батарейках устройств еще не делал.
Но вот тут было интересно получится или нет.

Добавлено (22.10.2016, 07:55)
---------------------------------------------
CraCk, Решил я поэкспериментировать с RF24Network но у меня там даже примеры не компилируются.
Вот и облом пока вышал

Добавлено (22.10.2016, 07:58)
---------------------------------------------
Хым, а эта версия RF24Network вроде работает

Добавлено (22.10.2016, 13:45)
---------------------------------------------
Удалил все старые версии библиотек скачал RF24 и RF24Network от TMRh20 вроде начали компилироваться примеры.

Сейчас сижу читаю  через переводчик Tmrh20.github.io

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


Добавлено (22.10.2016, 15:16)
---------------------------------------------
Почитал документацию  к библиотеки  RF24Network от TMRh20, в теории вроде можно попробовать сделать блоки, притом довольно гибкая система вырисовывается.
В заголовки сообщения уже есть идентификатор отправителя и тип сообщения (задается ASCII символом, т.е 62 типа выходит).
Можно передавать практически любой тип данных и структуры, т.е. произвольный набор данных размером до 120 байт.
Есть даже режим сна, какой то встроенный.

Но это только описание возможностей.
Что удастся реализовать не знаю.
Да и как это лучше это сделать не знаю пока.

Но точно, будет не один блок, а набор из нескольких.

Несколько дней подумаю как это лучше реализовать, а потом попробую сделать что-нибудь простое на пробу.

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

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

#172

Сообщение CraCk » 22.10.2016{, 22:42}

Слимпер писал(а):Есть даже режим сна, какой то встроенный.
Ну как его использовать. В mesh сети должны все ждать команди от удаленных модулей которые сами не достанут к серверу и транслировать уже серверу. Когда же спать?
Тут это реализовано но не пойму как.
http://nrf24l01.pp.ua/nrf24l0....l01-s-n

Добавлено (22.10.2016, 22:42)
---------------------------------------------
Слимпер
RF24Network
Там используется протокол TCP/IP? Получается что мы получаем гарантированную доставку пакетов? И не нужно делать всякие контрольные запросы о доставке?
Последний раз редактировалось CraCk 22.10.2016{, 22:44}, всего редактировалось 1 раз.

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

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

#173

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

CraCk писал(а):Ну как его использовать. В mesh сети должны все ждать команди от удаленных модулей которые сами не достанут к серверу и транслировать уже серверу. Когда же спать?
Контроллер  засыпает, если нет сообщений от других модулей. А когда сообщение приходит, на ноге IRQ NRF  возникает высокий уровень, он будет контроллер, тот обрабатывает сообщения и снова засыпает.
А для оконечных модулей, с датчиками есть еще и побудка по таймеру - Проснулся считал датчики, отправил данные и заснул.

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

Но пока это так как информация, пока думаю как реализовать блоки для передачи.

Добавлено (23.10.2016, 07:20)
---------------------------------------------
CraCk писал(а):Там используется протокол TCP/IP? Получается что мы получаем гарантированную доставку пакетов? И не нужно делать всякие контрольные запросы о доставке?
Вот этот момент я пока до конца не понял. Performance and Data Loss: Tuning the Network
Здесь, вроде написано, что система подтверждение доставки есть, но вот как ее отследить надо разбираться.
Последний раз редактировалось Слимпер 23.10.2016{, 06:47}, всего редактировалось 1 раз.

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

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

#174

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

CraCk, Ну  так если интересно, результат первых экспериментов по созданию блоков на базе  RF24Network.
Проверял пока только напрямую, т.е. только два контроллера без промежуточных модулей (Надо еще одну макетку собирать с контроллером и NRF, а пока лень)
Да и сделал только блоки для передачи одиночного числа типа INT.
Вложения
NRF24L01.rar
(326.67 КБ) 60 скачиваний
Последний раз редактировалось Слимпер 23.10.2016{, 18:59}, всего редактировалось 1 раз.

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

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

#175

Сообщение tagan61 » 23.10.2016{, 22:48}

Подскажите в чем может быть дело, получать данные с клиента получается а вот управлять нет.
Допустим передаю int 45 чтобы серва повернулась и на этом все ни каких действий со стороны клиента.
Последний раз редактировалось tagan61 23.10.2016{, 22:59}, всего редактировалось 1 раз.

OlegAn1962
Лейтенант
Сообщения: 361
Зарегистрирован: 07.09.2015{, 23:53}
Репутация: 0

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

#176

Сообщение OlegAn1962 » 23.10.2016{, 23:08}

Сложно в слепую отвечать.

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

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

#177

Сообщение tagan61 » 24.10.2016{, 22:05}

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

Добавлено (24.10.2016, 22:05)
---------------------------------------------
Вопрос кто использует эти блоки, Вы только показание с датчиков считуити и все? а управлять с помощью этих блоков ни кто не пробовал.
Автор блока откликнись и приведи пример не только с сом портом но и с управлением пинов.
Последний раз редактировалось tagan61 24.10.2016{, 14:09}, всего редактировалось 1 раз.

OlegAn1962
Лейтенант
Сообщения: 361
Зарегистрирован: 07.09.2015{, 23:53}
Репутация: 0

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

#178

Сообщение OlegAn1962 » 24.10.2016{, 23:02}

Я на этих блоках делал управляемый термостат, прекрасно работают (блоки), правда с небольшой задержкой. Мне кажется , что у вас проблема во входе querry сервера- туда лучше подавать импульсы, а не постоянный сигнал, как у вас сейчас. И я пользовал более старые блоки Слимпера, те, которые отдельно для строк и чисел. У меня например так:



Добавлено (24.10.2016, 23:02)
---------------------------------------------
tagan61 писал(а):пример не только с сом портом но и с управлением пинов
автор уже отвечал, что  булевы переменные надо упаковывать в байты, а со стороны клиента их обратно распаковывать, почитайте выше.
Вложения
0760798.png
Последний раз редактировалось OlegAn1962 24.10.2016{, 22:51}, всего редактировалось 1 раз.

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

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

#179

Сообщение tagan61 » 24.10.2016{, 23:35}

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

OlegAn1962
Лейтенант
Сообщения: 361
Зарегистрирован: 07.09.2015{, 23:53}
Репутация: 0

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

#180

Сообщение OlegAn1962 » 24.10.2016{, 23:48}

Не пинайте пины, а для начала подайте на сервер константы и посмотрите уартом, принимает ли их клиент.

Ответить

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