Страница 5 из 22
nRF24L01+ пользовательский блока на Си
Добавлено: 14 апр 2016, 21:46
Max
VirSpy писал(а):а кто мешает воссоздать строку из int на сервере?
Да, собрал по вашей схеме. Работает. Двигаюсь дальше...
Добавлено (14.04.2016, 21:46)
---------------------------------------------
Skull писал(а):При правильном питании
А тут, так же поподробней!
nRF24L01+ пользовательский блока на Си
Добавлено: 15 апр 2016, 09:42
Skull
Сергей писал(а):С вашего позволения обнародую
Есть небольшие изменения с исходной схемой - вместо 10к по питанию диодный мост с конденсатором последовательно. Также присутствует разрядник и антенна 1м.
Девайс прекрасно эмулирует промышленные помехи.
Добавлено (15.04.2016, 09:42)
---------------------------------------------
Max писал(а):А тут, так же поподробней!
Да пожалуйста ))
Все неиспользуемые ноги подтянуты к корпусу через 1к.
Плата Ардуины расположена между двумя пластинами заземленной фольги.
Резет подтянут через 1к, и конденсатор 0.1
Ввод питания через двузвенный LC фильтр, причем емкость ближнего к плате набрана из 2200, 220 - электролиты, 1.0, 0.1, 1н-неполярки в параллель..
В общем- по правилам экранирования ВЧ устройств.
nRF24L01+ пользовательский блока на Си
Добавлено: 15 апр 2016, 09:56
Слимпер
Skull писал(а):Все неиспользуемые ноги подтянуты к корпусу через 1к.Плата Ардуины расположена между двумя пластинами заземленной фольги.Резет подтянут через 1к, и конденсатор 0.1Ввод питания через двузвенный LC фильтр, причем емкость ближнего к плате набрана из 2200, 220 - электролиты, 1.0, 0.1, 1н-неполярки в параллель..В общем- по правилам экранирования ВЧ устройств
Предлагаю вам написать кратенькую статью на эту тему, и привести там схемы и рекомендации.
А то тема важная и все время будет актуальной и здесь ее вред ли кто найдет.
nRF24L01+ пользовательский блока на Си
Добавлено: 15 апр 2016, 10:02
Max
Слимпер писал(а):Предлагаю вам написать кратенькую статью на эту тему, и привести там схемы и рекомендации.
Поддерживаю.
Одно, искать подходящие схемы по питанию и долго экспериментировать, другое, уже обкатанную в огне и воде схему применить в деле.
nRF24L01+ пользовательский блока на Си
Добавлено: 16 апр 2016, 14:08
DerAlex
А если все неиспользуемые выводы запрограммировать как ВЫХОДЫ и на всех установить низкий уровень?Думаю что это тоже будет способствовать повышению помехозащищенности.
nRF24L01+ пользовательский блока на Си
Добавлено: 02 май 2016, 21:43
Max
Что то у меня перестали работать блоки.
Что я только не делал: менял платы NRF (у меня их 7 шт.) местами, менял Ардуинки.... Просто перестали работать и все. Сканер загружал. Активности нет...
Может я чего то туплю, но не могут же куча NRFок и плат Ардуино не работать...
Прилагаю проект и фото сканера...
И что интересно. раньше все работало. Иногда на стороне сервера появляются куча цифр случайного порядка... Бессистемно. Никакого отношения к полезным данным не имеющие.
Не могу добавить файл клиента...Что то с сайтом... И клиент и сервер упаковал в архив NRF24...
nRF24L01+ пользовательский блока на Си
Добавлено: 03 май 2016, 15:47
Слимпер
Max писал(а):Что то у меня перестали работать блоки.
Ну и из очевидного у вас разные каналы (Channe) настроены на сервер (85) и клиенте (10).
Они обязательно должны быть одинаковые.
nRF24L01+ пользовательский блока на Си
Добавлено: 03 май 2016, 21:28
Max
Слимпер писал(а):Ну и из очевидного у вас разные каналы (Channe) настроены на сервер (85) и клиенте (10).Они обязательно должны быть одинаковые.
Да это из за того, что просто переключал на разные каналы и сохранились последние изменения. Нет, каналы выставлял одинаковые...
Да, подцепил на стороне сервера (на приеме данных с клиента) вывод в UART... Присылается какя то ерунда вместо температуры...
nRF24L01+ пользовательский блока на Си
Добавлено: 04 май 2016, 05:55
Слимпер
Я сейчас даже проверить не могу осталось одна макетная плата

(одну использовал в проекте)
Но первым делом, зачем у вас идет опрос клиента сервером, если на клиенте выбран режим отправки по сигналу Send? Уберите опрос на серверной части.
А на клиенте увеличите период отправки данных (для пробы раз в секунду).
У меня есть предположение, что плата просто не успевает считать данные из буфера, прежде чем туда приходят новые.
nRF24L01+ пользовательский блока на Си
Добавлено: 04 май 2016, 06:24
Слимпер
Вот такой вариант попробуйте
nRF24L01+ пользовательский блока на Си
Добавлено: 04 май 2016, 06:27
Max
Слимпер писал(а):Но первым делом, зачем у вас идет опрос клиента сервером, если на клиенте выбран режим отправки по сигналу Send? Уберите опрос на серверной части.
Сегодня вечером исправлю. Да, это еще одно следствие сохранения и поисков проблемы...
Однако, раньше этого опроса не было и все работало! У меня вообще стало работать почти сразу после появления на сайте блоков! Питание такое же, когда и раньше... Какая то ерунда получается... Проект тот же, что и ранее функционировал нормально.
Уж грешил на новую версию FLProg, загрузил с более старой - не работает.
nRF24L01+ пользовательский блока на Си
Добавлено: 02 июл 2016, 19:06
Слимпер
Tvis2010 писал(а):Примеры прилагаю. брал где то с сообщений выше
Посмотрел, с программной стороны проблем не вижу, настройки сделаны верно.
В железе проверить сейчас не могу, но примеры в темы выложенные раньше проверял.
nRF24L01+ пользовательский блока на Си
Добавлено: 05 июл 2016, 20:35
Max
Вот кто объяснит интересную вещь?
Работаю в данный моментом с блоками NRF24 типа Стринг. Пытаюсь с сервера передать данные принятые в формате стринг от SIM800L. Так вот, завел переменную (тип стринг) для отсылки команд (набор цифр, или букв) в эту переменную записываю разобранную строку с командой и подаю на вход блока Str_I блока NRF24 (соотв. на входе query - true, на входе Clients - 1 (номер клиента для которого посылка)). Данные на клиенте не появляются!
Стоит в вышеуказанную переменную вручную прописать в значение-раздел "По умолчанию" любое значение и сочетание цифр и символов, то на клиенте все нормально принимается!
Что бы это значило?
nRF24L01+ пользовательский блока на Си
Добавлено: 05 июл 2016, 21:32
Слимпер
Max писал(а):Так вот, завел переменную (тип стринг) для отсылки команд (набор цифр, или букв) в эту переменную записываю разобранную строку с командой и подаю на вход блока Str_I блока NRF24 (соотв. на входе query - true, на входе Clients - 1 (номер клиента для которого посылка)). Данные на клиенте не появляются!
Вообще ничего не приходит или приходят левые данные? А значение на выходе клиента NTransfer меняется?
Можно посмотреть кусок проекта с тем, что передается и с тем что не может передаться.
Может дело в самих данных
nRF24L01+ пользовательский блока на Си
Добавлено: 06 июл 2016, 07:06
Max
Слимпер писал(а):Можно посмотреть кусок проекта с тем, что передается и с тем что не может передаться.
Вечером выложу.
Слимпер писал(а):Вообще ничего не приходит или приходят левые данные? А значение на выходе клиента NTransfer меняется?
Вывел переменную на дисплей клиента и судя по нему ничего не приходит. Если, в переменную на стороне сервера вбить вручную что либо (как я выше писал), то данные тут же появляются...
NTransfer не смотрел.
Поясню - пытаюсь передать от сервера клиенту.
nRF24L01+ пользовательский блока на Си
Добавлено: 06 июл 2016, 08:41
Слимпер
Max писал(а):NTransfer не смотрел.
Посмотри (это номер посылки), так можно будет понять вообще не происходит отправка или передается пустая строка.
nRF24L01+ пользовательский блока на Си
Добавлено: 06 июл 2016, 19:17
Max
Слимпер писал(а):Можно посмотреть кусок проекта с тем, что передается и с тем что не может передаться.
Вот куски проекта, а именно прием-передающая части.
nRF24L01+ пользовательский блока на Си
Добавлено: 06 июл 2016, 20:56
Слимпер
Max писал(а):Вот куски проекта, а именно прием-передающая части.
Прикрепления: 9316063.rar(321Kb)
Вроде должно бы работать. Надо обязательно посмотреть на клиенте значение NTransfer
Надо еще не забывать, что для каждой отправки с сервера на клиент необходимо подать одиночный импульс на вход "query" (т.е. или туда надо генератор по времени или по событию)
nRF24L01+ пользовательский блока на Си
Добавлено: 06 июл 2016, 21:17
Max
Слимпер писал(а):необходимо подать одиночный импульс на вход "query"
На "query" у меня стоит true...
Так почему данные вбитые вручную передаются, а строки принятые и записанные в эту же переменную нет?
Завтра посмотрю за значениями NTransfer...
nRF24L01+ пользовательский блока на Си
Добавлено: 07 июл 2016, 05:42
Слимпер
Max писал(а):На "query" у меня стоит true...
Теперь понял в чем дело.
"query" - это
не вход разрешения передачи данных от сервера клиенту.
"query" - это вход
по переднему фронту сигнала на котором передаются данные клиенту (с номером "Clients"). Одновременно запрашивается данные с клиента, он отвечает, если там стоит "1 - ответ на запрос сервера".
Т.е. для того что тебе нужно на вход "query" подавать именно
импульсы.
По событию или так:
Так сделал чтобы можно было опрашивать (отправлять данные) нескольким клиентам.
Выстроил на вход Clients =1 , подал импульс на вход query отправил данные одному, выстроил на вход Clients =2 , подал импульс на вход query отправил данные второму и так далее.
Max писал(а):Так почему данные вбитые вручную передаются, а строки принятые и записанные в эту же переменную нет?
Во время первого программного цикла данные блок значение true детектируется как единичный передний фронт и следовательно успевает один раз передать значение по умолчанию переменной OUTCommand. А когда идет расчет то данные OUTCommand поступают не в первом программном цикле, а позже.