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

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

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

#41

Сообщение Слимпер » 07.02.2016{, 22:37}

Skull писал(а):Конечно ))))
Если честно заканчиваются идеи. Разве, что где то аппаратная неисправность.
Пришлите фото подключения обоих плат.

Аватара пользователя
Skull
Лейтенант
Сообщения: 424
Зарегистрирован: 08.09.2015{, 16:18}
Репутация: 4
Откуда: Мариуполь

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

#42

Сообщение Skull » 07.02.2016{, 23:15}

Вот. Нет вспышки в телефоне ) Пришлось фонариком светить

При аппаратной неисправности, думаю пример сканера не работал бы....
Вложения
5297804.jpg
Последний раз редактировалось Skull 07.02.2016{, 23:16}, всего редактировалось 1 раз.

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

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

#43

Сообщение Max » 08.02.2016{, 06:15}

Skull писал(а):Нет вспышки в телефоне ) Пришлось фонариком светить
Вот, что значит тяга к знаниям! Работаем при фонарике и при свечах, как Михаил Васильевич Ломоносов!

Аватара пользователя
Сергей
Лейтенант
Сообщения: 578
Зарегистрирован: 31.08.2015{, 15:06}
Репутация: 6
Имя: Сергей
Контактная информация:

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

#44

Сообщение Сергей » 08.02.2016{, 09:53}

Проверил блоки. У меня все запустилось с пол тычка. Сервак - МЕГА и 2 клиента УНО.
Вообще в проекте планируется 15 клиентов и 1 сервер. 
Слимпер, спасибо за работу! И сразу вопрос: не понял как от сервера строку передать? Режим - 1.

Аватара пользователя
Kocтик
Рядовой
Сообщения: 75
Зарегистрирован: 07.09.2015{, 23:51}
Репутация: 0

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

#45

Сообщение Kocтик » 08.02.2016{, 10:33}

Skull, А конденсаторы вы подпаяли?
NRF куплены у одного продавца?

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

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

#46

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

Сергей писал(а):И сразу вопрос: не понял как от сервера строку передать? Режим - 1.
Сейчас одновременно с запросом данных с клиента, на клиент отправляются данные находящиеся на входе блока сервер.

Кстати на всякий случай, вмести могут работать только блоки с одним типом данных, т.е. блок int и string  несовместимы

Не знаю, может  лучше сделать два разных входа для запроса данных и для передачи.
Но это позже, завтра я на 4 дня в командировку уезжаю.

Добавлено (08.02.2016, 11:18)
---------------------------------------------
Kocтик писал(а):, А конденсаторы вы подпаяли?
Skull,Может и правда стоит попробовать впаять конденсатор.
Я в первом посте писал рекомендацию про них.

Вообще почитайте еще здесь, там про подключение и есть несколько примеров, можно еще их для теста использовать. Кстати там автор вообще рекомендовал отдельное питание.
Последний раз редактировалось Слимпер 08.02.2016{, 10:56}, всего редактировалось 1 раз.

Аватара пользователя
Skull
Лейтенант
Сообщения: 424
Зарегистрирован: 08.09.2015{, 16:18}
Репутация: 4
Откуда: Мариуполь

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

#47

Сообщение Skull » 08.02.2016{, 12:25}

Да, кондеры на другой стороне плат, танталы по 22 мкф
Да, у одного 

Народ, вопрос- а может кто сможет  сотворить  модбас сквозь NRFки ??

Evgesha
Лейтенант
Сообщения: 525
Зарегистрирован: 29.10.2015{, 09:57}
Репутация: 20
Откуда: Kazakhstan
Имя: Evgesha

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

#48

Сообщение Evgesha » 08.02.2016{, 17:55}

подскажите пожалуйста, если на одну ардуину подключен датчик температуры,нажатия каких либо кнопок, и радио модуль, а на другой стороне ардуино, дисплей, и радиомодуль и выходные реле, то нужен блок с инт и строки вместе ?
ПОМОЩЬ ПРОЕКТУ FLPROG:
http://flprog.ru/pomoshh-proektu/

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

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

#49

Сообщение Max » 09.02.2016{, 09:34}

Evgesha писал(а):подскажите пожалуйста, если на одну ардуину подключен датчик температуры,нажатия каких либо кнопок, и радио модуль, а на другой стороне ардуино, дисплей, и радиомодуль и выходные реле, то нужен блок с инт и строки вместе ?
Автор блока NRF уже выкладывал блоки с массивом, можно так сказать, для передачи команд. Можно и напрямую к входам INT значения посылать и принимать, легко. Можно булеановские значения в INT преобразовывать и посылать, так же легко...

Аватара пользователя
Kocтик
Рядовой
Сообщения: 75
Зарегистрирован: 07.09.2015{, 23:51}
Репутация: 0

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

#50

Сообщение Kocтик » 10.02.2016{, 00:21}

Skull писал(а):Сканер- работает
 Э.... Судя по всему не работает. Начиная с четвёртой строчки, кроме нулей должны изредка появляться единицы, двойки. И строчек этих с нулями и всем остальным должно быть много.
У меня такая ерунда была когда перепутал выводы 9 и 10.
А примеры от Слимпер,  действительно рабочие. Спасибо ему.

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

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

#51

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

Skull писал(а):Народ, вопрос- а может кто сможет  сотворить  модбас сквозь NRFки ??
Не совсем понял, что вы хотите.
Что то вроде описанного в этой статье? Беспроводной контроллер бытового кондиционера в OpenHAB по Modbus через RF24Network

Аватара пользователя
Skull
Лейтенант
Сообщения: 424
Зарегистрирован: 08.09.2015{, 16:18}
Репутация: 4
Откуда: Мариуполь

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

#52

Сообщение Skull » 10.02.2016{, 15:36}

Слимпер писал(а):Что то вроде описанного в этой статье
Изображение Ага  :hands:
Ну и было бы крайне неплохо иметь беспроводный прозрачный  удлинитель MODBUS.
Последний раз редактировалось Skull 10.02.2016{, 15:41}, всего редактировалось 1 раз.

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

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

#53

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

Skull писал(а):Ага  :hands:Ну и было бы крайне неплохо иметь беспроводный прозрачный  удлинитель MODBUS.
Самому идея нравится, но боюсь моих знаний не хватит ее реализовать. Изображение

А использовать код из статьи не получится. Там библиотека Modbus переделанная используется и код рассчитан под arduino ide 1.6.5, а у нас пока 1.6.3.

Аватара пользователя
Siberian
Лейтенант
Сообщения: 475
Зарегистрирован: 07.09.2015{, 11:51}
Репутация: 8
Откуда: СССР
Имя: Александр

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

#54

Сообщение Siberian » 07.03.2016{, 08:43}

Слимпер писал(а):Там библиотека Modbus переделанная используется и код рассчитан под arduino ide 1.6.5, а у нас пока 1.6.3.
Можете попробовать http://forum.flprogwiki.ru/viewtopic.php?f=18&t=666
Я пользуюсь, работает.
Извлечь из архива папку ide и вставить с заменой в установленную Вашу программу FLProg.

Добавлено (07.03.2016, 08:43)
---------------------------------------------
Сегодня залил новую версию.

ЗДЕСЬ

Аватара пользователя
VirSpy
Рядовой
Сообщения: 62
Зарегистрирован: 03.12.2015{, 22:40}
Репутация: 3
Откуда: Минск, РБ

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

#55

Сообщение VirSpy » 11.03.2016{, 20:24}

Пожалуйста, объясните, в ваших примерах (клиент-сервер).
Если я переведу Клиент в режим отправки по сигналу ( например нажатие кнопки), то чтоСервер, при принятии данный, в этот же момент будет отправлять данные на отправку, либо будет ждать цикл. Плюс к тому-же как поведут себя регистры после приема-передачи данных.
Спасибо.

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

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

#56

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

VirSpy писал(а):Пожалуйста, объясните, в ваших примерах (клиент-сервер).Если я переведу Клиент в режим отправки по сигналу ( например нажатие кнопки), то чтоСервер, при принятии данный, в этот же момент будет отправлять данные на отправку, либо будет ждать цикл. Плюс к тому-же как поведут себя регистры после приема-передачи данных.
Тут такое дело, я не особо разбирался в технической стороне вопроса. Нашёл в интернете  несколько пример проанализировал и сделал блоки, проверил, работает и ладно.
Но, в описанной вами ситуации скорей всего данные будут потеряны. Хотя  возможность совпадений есть, но  если данных оправляются не постоянно, не велика.

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

Добавлено (13.03.2016, 12:32)
---------------------------------------------
Если действительно надо будет, могу попробовать переделать блок для более надеждой связи, но тогда он точно будет тяжелее и будет дольше исполняется.
Последний раз редактировалось Слимпер 13.03.2016{, 12:28}, всего редактировалось 1 раз.

Аватара пользователя
VirSpy
Рядовой
Сообщения: 62
Зарегистрирован: 03.12.2015{, 22:40}
Репутация: 3
Откуда: Минск, РБ

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

#57

Сообщение VirSpy » 18.03.2016{, 23:01}

Правильно ли сделал выход по принятию нового пакета на сервере:

if ( query ) {
if (_trgrt1I) { pulse_request = 0;}
else {  pulse_request = 1; _trgrt1I = 1;}
}

else {  pulse_request = 0; _trgrt1I = 0;};

if( pulse_request ){
servernf.identifier= Clients ;
servernf.blok_data=Nomer_I ;
servernf.in_1= in1 ;
servernf.in_2= in2 ;
servernf.in_3= in3 ;
servernf.in_4= in4 ;
servernf.in_5= in5 ;
servernf.in_6= in6 ;
if (servernf.count <=2147483646)  servernf.count++;      // счетчик передач для контроля качества канала
else servernf.count =0;
radio.stopListening();
bool ok =radio.write( &servernf, sizeof(servernf) );
radio.startListening();
}
else{
if ( radio.available() ) {
NewD = 1;
 radio.read( &clientnf,sizeof(clientnf) );
Client = clientnf.identifier;
Nomer_O =clientnf.blok_data;
out1 = clientnf.in_1;
out2 = clientnf.in_2;
out3 = clientnf.in_3;
out4 = clientnf.in_4;
out5 = clientnf.in_5;
out6 = clientnf.in_6;
NTransfer = clientnf.count;
}
else{
NewD = 0;
}
}

ну и соответственно новый выход boolean NewD.
(сильно ногами не бейте - первые буквы на Си)
Последний раз редактировалось VirSpy 18.03.2016{, 23:06}, всего редактировалось 1 раз.

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

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

#58

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

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

Evgesha
Лейтенант
Сообщения: 525
Зарегистрирован: 29.10.2015{, 09:57}
Репутация: 20
Откуда: Kazakhstan
Имя: Evgesha

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

#59

Сообщение Evgesha » 24.03.2016{, 17:25}

Слимпер, скажите пожалуйста, если включен только сервер, а клиент не включен, ну или отключили клиента или нет сним связи, на выходе сервера на out1-6 должны быть какието числа ? или у меня что то с нрфкой?
еще вопросик. про мини atmega 328, 3.3v- работает с нрфкой, поддерживает spi интерфейс?
Последний раз редактировалось Evgesha 24.03.2016{, 19:11}, всего редактировалось 1 раз.
ПОМОЩЬ ПРОЕКТУ FLPROG:
http://flprog.ru/pomoshh-proektu/

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

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

#60

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

Evgesha писал(а):Слимпер, скажите пожалуйста, если включен только сервер, а клиент не включен, ну или отключили клиента или нет сним связи, на выходе сервера на out1-6 должны быть какието числа ? или у меня что то с нрфкой?
Если последним был включен сервер, т.е. после включения сервера не был включен клиент, то на выходах  out1-6 должны быть нули.
Если клиент хоть раз передал данные, то на выходах  out1-6 будут последние значения.
Evgesha писал(а):про мини atmega 328, 3.3v- работает с нрфкой, поддерживает spi интерфейс?
У меня нет 3.3V платы, но по идеи все должно работа нормально.

Ответить

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