nRF24L01+ : побеждаем модуль.

Тема в разделе "Проводная и беспроводная связь", создана пользователем ИгорьК, 19 июн 2014.

  1. ИгорьК

    ИгорьК Оракул Модератор

    Эмммм.... это интересно. Но можно проще, с использованием возможностей модуля. Как? Все здесь описано. И не в средине темы.
    Зачем я делал эту тему? Чтобы вновь прибывшему и удобно устроившемуся в кресле пересказывать ее в сотый раз?
     
  2. OOM

    OOM Нерд

    С этого я и начинал. С Вашей помощью я организовал связь между двумя модулями, связь устойчивая, команды на управление устройством уходят и выполняются, но мне нужно, что бы было визуальное подтверждение выполненной команды, а вот как это сделать я пока, что не знаю, а хотелось бы, вот к Вам и обращаюсь.
     
  3. ИгорьК

    ИгорьК Оракул Модератор

    wwww11111.jpg
    344333333.jpg
     
    Последнее редактирование: 24 янв 2017
  4. OOM

    OOM Нерд

  5. Securbond

    Securbond Гуру

    День прошел плодотворно. Сожжено одна NRF L01 и одна L01+ (Не все блоки питания одинаково полезны)
    Вообщем интересненько.. Зато сделана макетная плата под NRF и получены основы её запуска. Ещё не до конца разобрался как правильнее передавать числа с точкой. Пробовал умножать на 100, потом отправлять и при получении делить на 100, но что то при делении теряется десятая часть. решил проблему отправкой и получением массива float, но думаю, что это не совсем правильно. Будем разбираться дальше.
    IMG_2488.JPG
    Нарыл на работе интересные блочки питания, на дин рейку 12v 0,8А. Как раз под наши нужды )
     
  6. ИгорьК

    ИгорьК Оракул Модератор

    Как текст.
     
  7. sanik

    sanik Гик

    Пожалуй помогу и я Заказал модули с китая такого типа NRF24L01 + PA+LNA SMA Подключил и нет связи долго ковырял код что только не делал пока случайно не открутил антенну от модуля связь сразу появилась. Начал разбирать выяснилось что нет контакта массы на саму антенну. Снимаем колпачок на первом фото Далее проверяем контакт между массой разъема и металлическим экраном антенны если нет контакта внутри антенны отверткой расширяем ободок массы на третьем фото[​IMG] [​IMG]
    [​IMG]
    [​IMG]
     
    sslobodyan нравится это.
  8. sergey-fedor

    sergey-fedor Нерд

    все, нет больше сил побеждать эти модули ушел вплотную изучать esp8266 :)) некоторое время балуюсь уже с ними micropython установил всяко пробую и на питоне и на ArduinoIDE. Может Игорь запилит тему с esp8266 он явно уже в этих модулях - профи ;)
     
  9. sslobodyan

    sslobodyan Гик

    Слабак :p Сдался.
    А у меня работают как часы ;). Правда, я отказался от автоподтверждения пакета.
    Алгоритм отладки простейший. Вешаем кнопочку на обеих дунях, по которой каждая дуня сбрасывает в порт состояние регистров своего радиомодуля. И анализируем регистры согласно пдфке.
    1. Проверяем режим прием-передача.
    2. Проверяем флаги переполнения входного и выходного буферов.
    3. Проверяем адреса каналов.
    Практически все :)
     
  10. ИгорьК

    ИгорьК Оракул Модератор

    Давно собираюсь это сделать. Но я работаю с модулями на Lua, и ... не нарадуюсь :)
     
  11. ИгорьК

    ИгорьК Оракул Модератор

    Не все модули можно "спарить". Для этого лучший метод - "инженерный тык", что Вы и подтверждаете.
    И это как часы? Это 50% их ценности.
    .
     
  12. tika

    tika Нуб

  13. DiaSan

    DiaSan Нуб

    Добрый день!

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

    Вопрос: может ли помочь в данном случае припаивание конденсаторов к линиями питания (в наличии электролитические на 10 мкФ)?

    Канал (90) проверил - свободен, скорость установил 1 Мб/с, мощность максимальная (идентично на обоих устройствах).
    Код (C++):
    radio.setChannel(90);
    radio.setDataRate (RF24_1MBPS);
    radio.setPALevel (RF24_PA_MAX);
    Модули NRF24L01 относительно фирменные:
    [​IMG]

    Передатчик: Arduino Uno, модуль NRF24L01 подключил через переходник:
    [​IMG]

    Приемник: ESP8266, питание модуля NRF24L01, соответственно, 3,3 В.
     
    Последнее редактирование: 29 янв 2017
  14. yden

    yden Гик

    Подскажите плиз, Сколько к одному модулю можно прицепить аналогичных модулей?
     
  15. Securbond

    Securbond Гуру

    Хватит задавать глупые вопросы. Почитайте тему... всё расписано и разжёвано несколько раз. Не лентитесь прочитать..
    Если лень читать, смотрите на ютуб канал arduinoLab. ПушнойЗвер там то же давно всё разжевал. Ну и не ленитесь гуглить в Яндексе и пользоваться мозгом.
     
    Последнее редактирование: 1 фев 2017
  16. sergey-fedor

    sergey-fedor Нерд

    То есть вы с ардуины пересылаете данные на esp8266, с помощью этих модулей? не понятен смысл просто, на есп можно с самой чего угодно и куда угодно отправить и сделать все не прибегая к помощи ардуино, или это просто - "потестить" и не было двух ардуин например? и поэтому применили как приемник esp8266 ?
    PS на самом деле эти модули должны и на большее расстояние передавать данные если нет стен и вообще преград, например у меня два модуля находясь в одной комнате замечательно общались, но через окно - уже нет (закрытое конечно окно). а вот с усилителем и антенной - даже через бетонные стены пробивают

     
    Последнее редактирование: 2 фев 2017
  17. DiaSan

    DiaSan Нуб

    Наверное, это не совсем относится к сути моего вопроса, но попробую объяснить идею "проекта" - убрал под спойлер.

    Основной блок - метеостанция (наверное, уже набившая многим оскомину?) на базе ESP8266: получает через Интернет прогноз погоды, получает время, дату и температуру внутри помещения с модуля часов DS3231, должна (!) получать наружную температуру через NRF24L01 с удаленного блока; выводит попеременно эту информацию на светодиодную матрицу 8x32 с контроллером MAX7219.
    Питается от сети.

    Удаленный блок - подразумевается, что-нибудь Arduino-подобное (т.е. на ATmega), считывает наружную температуру с герметичного датчика температуры DS18B20 и должен ее передавать на основной блок через NRF24L01.

    Предполагается питание удаленного блока от батарей: поэтому для экономии энергии хочется реализовать режим "глубокого сна" (Deep Sleep): удаленный блок в цикле раз в минуту просыпается, считывает температуру, "выстреливает" значение через NRF24L01 и засыпает.

    Наверное, можно было бы обойтись без NRF24L01 и реализовать удаленный блок тоже на ESP8266, передавая значение наружной температуры через WiFi, но меня смущают в ESP8266:
    • избыточность ресурсов для такой примитивной задачи;
    • невысокая энергоэффективность (под вопросом);
    • затрачиваемое время на подключение ESP8266 к сети WiFi при реализации режима "глубокого сна";
    • зависимость от наличия сети WiFi (в меньшей мере).

    С припаянными конденсаторами?

    P.S. Вы правы, второй Arduino у меня нет.
     
    Последнее редактирование: 3 фев 2017
  18. sergey-fedor

    sergey-fedor Нерд

    Да с кондерами, без них вообще не работало ничего

    Проект интересный и практически реализуемый каждым, кто делает что то в начале пути "умного дома", я тоже в начале пути. Практически все тоже самое, но еще управление светом на территории участка. Сделал, все работало, но постоянно (раз в месяц или два отваливается связь и не понятно от чего , каждый раз по разному) конечно тут и провода замешаны и коннекторы типа Дюпон. Но и сами модули nrf очень вредные. Вроде бы есп и избыточен зато более надежен. тем более на нем можно поднять watchdog(хотя пока не пробовал) . дак вот в итоге снял всю систему )) разобрал. Буду делать на есп все. А ведь Игорь еще в начале темы предупреждал - делайте люди на есп :))) пришлось почти год потратить, наступить на все грабли и прийти к осознанию....Но это к теме не относится конечно, так мысли вслух
     
    Последнее редактирование: 4 фев 2017
    DiaSan нравится это.
  19. Oleg_7

    Oleg_7 Гик

  20. ИгорьК

    ИгорьК Оракул Модератор

    Там стоит МК, который управляет модулем.

    Это хорошо, потому что правоверный ардуинщик не должен въезжать в команды железа и вообще понимать что он делает, кроме Ctrl + V.

    Это плохо, потому как не избавляет от левых модулей.
    252.jpg
    Это плохо, потому как адрес http://pan.baidu.com/s/1bocFZQ3 очень нехороший.
     
    Последнее редактирование: 7 фев 2017