Страница 2 из 22

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

Добавлено: 05 фев 2016, 21:23
Слимпер
Max, вот попробуйте
Была ошибка Смотри ниже ссылки 

Да было не верно, исправил. Еще я не понял как у вас был настроен датчик DS1820, я его поправил, если все было верно, верните назад.

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

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

Добавлено: 06 фев 2016, 02:02
Skull
Блин, ну не могу же я быть настолько идиотом, чтобы не подключить 7 проводков неправильно несколько раз по схеме !!
Слимпер писал(а):Max, вот попробуйте Сервер
Клиент
Взял этот пример. Подключил. Не работает.
Пробовал разные NRFки. Отдельно 3V3. Все равно не работает.

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

Добавлено: 06 фев 2016, 06:44
Слимпер
Для проверки подключения модуля лучше использовать пример из библиотеки называется scanner. Он Сканирует занятость диапазона 2,4ГГц.

Загружаешь Arduino IDE /Файл/Образцы/RF24-master/scanner 
Заливашь его в контроллер (подключение CSN 10  CE/SS 9)

Включаешь мониторинг COM-порта и должен увидеть что вроде 
2871235.jpg
Если этого нет, значить что то не так или в подключении или в самом устройстве. Так проверь оба устройства и приёмник и передатчик.

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

Добавлено: 06 фев 2016, 11:32
Skull
Сканер- работает  Изображение

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

Добавлено: 06 фев 2016, 14:49
Schlosser
Подключил свои NRF24L01+PA+LNA. Управлял 4 реле, в 3х комнатной квартире через несколько стен берет отлично. Я доволен, Автору блоков огромное спасибо!
Теперь надо как то проверить на дальность, нужно були передать метров на 500.
По началу была проблема с примерами автора при передачи данных в сом порт, оказалась проблема была в "качественном" разъеме USB от китайских производителей.



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

Добавлено: 06 фев 2016, 17:33
Слимпер
Skull писал(а):канер- работает  Прикрепления: 5155793.jpg(121K
Вы включили мониторинг COM-порта на скорости 9600, а в примере в коде используется скорость 57600

Добавлено (06.02.2016, 17:33)
---------------------------------------------
Слимпер писал(а):Max, вот попробуйте
Еще раз проверил.  Изображение Допустил ошибку в вашей северной части  (сколько уже раз попадал на этом вместо мультивибратора вставил одновибратор), исправленный вариант:
Сервер
Клиент
Извиняюсь   Изображение
Убрал в том сообщеии

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

Добавлено: 06 фев 2016, 20:34
Skull
Вот, переключил скорость. 

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

Добавлено: 06 фев 2016, 20:37
Слимпер
Skull писал(а):Вот, переключил скорость.
 Теперь видно что работает. Так на обоих устройствах ?

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

Добавлено: 06 фев 2016, 20:54
Skull
Да, на разных портах висят. 


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

Добавлено: 06 фев 2016, 20:58
Слимпер
Ну тогда и связь между ними должна работать. А какой код у вас работать не хочет, можно посмотреть?

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

Добавлено: 06 фев 2016, 21:11
Max
В общем так. В макетном режиме все работает. Расстояние, примерно 15-20 см (на столе).

Значит, блок разработанный Слимпером достоин внимания.

Я так понимаю, данные на выходе NTransfer указывают количество посылок?

А если я хочу команды посылать на клиент или с клиента на сервер, то соответственно задействовать надо входы-выходы inX?

P.S. Надоели вылеты программы без предупреждения. Работаю с выходами, появляется символ "карандаш", или "чашка" и все, вылет.

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

Добавлено: 06 фев 2016, 21:47
Слимпер
Max писал(а):Я так понимаю, данные на выходе NTransfer указывают количество посылок?
Номер текущей посылки, использовал для проверки качества связи (если идут по порядку значит связь устойчивая) 
Max писал(а):А если я хочу команды посылать на клиент или с клиента на сервер, то соответственно задействовать надо входы-выходы inX?
Да все что подключено к входам in1-in6 будет выдано на out1-out6 соответственно.

Но есть момент с клиента данные передаются в любом из трёх режимах:
- По времени - с заданным в настройках интервалом.
- По запросу - только в ответ на запрос с сервера
- По импульсу - по импульсу на входе Send

А вот с сервера только  
- По импульсу - по импульсу на входе Send

И есть момент с идентификацией. Для передачи данных  в клиент надо чтобы на момент подачи импульса на вход Send  на входе Clients был номер нужного клиента ( тот же номер, который был настроен в клиенте identifier

Вообще я еще думаю оптимально ли вышло или нужно как то по другому сделать. 
Из того что просто можно изменить это количество и тип данных, но не больше 24 байт.
Т.е. можно сделать до 24 byte, 12 int или 6 float.

Еще из характеристик известно количество одновременных каналов радиосвязи: 6, но как это реализовать не разобрался.

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

Добавлено: 07 фев 2016, 08:16
Skull
Слимпер писал(а):А какой код у вас работать не хочет, можно посмотреть?
Этот

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

Добавлено: 07 фев 2016, 08:42
Слимпер
Skull писал(а):Цитата Слимпер ()А какой код у вас работать не хочет, можно посмотреть?Этот
Мне было неохота искать датчик температуры, заменил генератором случайных числе, залил это:
Клиент
Сервер
Все работает. Даже не знаю в чем у вас проблема.
Питание то 3.3В?

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

Добавлено: 07 фев 2016, 18:55
Max
Слимпер писал(а):А вот суть попробую объяснить.Например нам надо передать несколько дискретных состояний берём и делаем вот так
А что за блоки использовали? Что то такие не вижу в программе. Блоки своей сборки?

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

Добавлено: 07 фев 2016, 19:00
Слимпер
Max писал(а):А что за блоки использовали? Что то такие не вижу в программе. Блоки своей сборки?
Да это самодельные, я их в пятом сообщении выкладывал, вот еще раз ссылка 
Блоки

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

Добавлено: 07 фев 2016, 19:52
Max
Слимпер писал(а):Да это самодельные,
Довольно длинная задержка на передачу включения кнопки, более 1 сек иногда дольше Это нормально?

Как насчет шифрования и защиты канала?

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

Добавлено: 07 фев 2016, 20:07
Слимпер
Почему в LAD? В FBD они сделаны.

Но все равно работали бы, как я понял автора, блок может быть написан на любом языке. Блок на LAD будет работать и в проектах и на LAD и на FBD, и на оборот блок на FBD будет работать и FBD и LAD проектах.

Добавлено (07.02.2016, 20:07)
---------------------------------------------
Max писал(а):Довольно длинная задержка на передачу включения кнопки, более 1 сек. Это нормально?
Ну задержка обусловлена тем что в примере сделан цикл отправки равный 1сек.
Если надо быстрее, надол или цикл менять или делать через входы query - на сервере или Send на клиенте ( но там тогда надо режим поменять ).
Max писал(а):Как насчет шифрования и защиты канала?
Ну это по мне уже лишнее. К тому же кто знает какие данные и в каком формате предаются?  А это в само по себе уже защита.

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

Добавлено: 07 фев 2016, 20:13
Max
Слимпер писал(а):Почему в LAD? В FBD они сделаны.
Поэтому и стер сообщение, ошибся.

Добавлено (07.02.2016, 20:13)
---------------------------------------------
Слимпер писал(а):Ну задержка обусловлена тем что в примере сделан цикл отправки равный 1сек.
Да, с задержками разобрался.

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

Добавлено: 07 фев 2016, 22:28
Skull
Слимпер писал(а):Питание то 3.3В?
Конечно ))))