ESP8266 и nrf24l01+ настабильная работа
- Войдите на сайт для отправки комментариев
Сб, 17/06/2017 - 23:57
Пытаюсь запустить nrf24l01+ на ESP8266 (пробовал ESP-12F и NodeMCU 1.0), использую библиотеку RF24.
Иногда может проработать несколько минут, а после валится в постоянные перезагрузки. Иногда при первом же пакете - ребут. В то же время другой проект на том же железа работает стабильно (без библиотеки RF24).
Может кто использует такую связку у себя?
П.С.
Задавал вопрос автору библиотеки https://github.com/nRF24/RF24/issues/363
ДЛя начала расскаэжтие, от чего и как именно все это питаете (параметры БП и схема разводки питания).
Питание от зарядки для мобильного 5В 2А через USB разъём NodeMCU V3 (примерно такая).
Сама NodeMCU воткнута в беспаечную плату для макетирования, также подключен nrf24l01+. Претензий к стабильности платы нет, если прошить другой проект - работает стабильно (день, больше не тестировал).
Вообще-то зарядки предназначены, чтобы от них заряжать аккумуляторы, а не для того, чтобы питать устройства.
Попытайтесь заменить питание на что-нибудь более стабильное (хотя бы лабораторный блок питания) и проверьте, как это скажется на стабильность работы.
Век зарядок, которые имели внутри собственно контролирующую схему (окромя преобразователя напруги), ИМХО, уже давно прошёл, так что если 2А честные, то должно работать. Всё, что есть сейчас у меня заряжающего, выдаёт обычные 5В без капризов и регулировки тока.
К сожалению на данный момент у меня нет БП который бы вызывал больше доверия.
Модуль NodeMCU уже несколько дней работает стабильно используя arduino как i2c прокси для доступа к nrf24l01+.
Как только найду адекватный БП - протестирую, чтобы отбросить версию плохого питания.
Советую обзавестись джентельменским набором сеньора разработчика -
1. ЛБП. Уже полгода пользуюсь Gophert CPS-3205 - чудо из чудес, недорого и удобно
2. Мультиметр. Вообще-то, вещь номер 1. Я рекомендую Fluke 15B, но это не каждый потянет, так что можно и что-то попроще, типа UT-60A, желательно с автопереключением пределов (тут UT60A грешит, он на этом тормозит)
3. Осциллограф. Либо что-то с USB, либо DS0138, но это не очень серьёзно, хотя для большинства проектов хватает.
4. Логический анализатор. Штука, спасшая много нервов при работе с интерфейсами. Китайские копии на сипрессовском чипе, совместимые с Logic - самое то.
Всё это вместе почти гарантирует успешную разработку, а вы, как я вижу, занялись более-менее серьёзно) Если лезть в дебри ESP8266 или чего-нибудь ещё на Cortex-M - хорошо бы ещё J-Link прикупить (или ST-Link и сделать из него J-Link, было в теме по 32-биткам).
Удачи!
Yarik.Yar, спасибо за рекомендации.
ЛБП очень не плох, искал что-то такое.
Никому не навязываю свою точку зрения, но мне лично сей набор представляется чем-то из разряда "когда деньги некуда девать".
Больше 99% случаев его применения накрывает пара копеешных DC-DC модулей с али. Одна повышайка и одна понижайка. Если есть нужда, то такие модули берутся с регулируемой защитой по току. В качестве источника -- комповый БП или 12 вольт с самого компа. Результат -- имеем практически весь функционал ЛБП без загромождения стола (на котором никогда не хватает места) и лишних трат.
Флюк 15 -- древний и легендарный аппарат, справедливо имеющий хорошую репутацию и столь же "хорошую" цену. Незадача же в том, что китайцы настропалились клепать на приличной элементной базе мультиметры того же класса с ценой до десяти раз меньшей. На муське можно найти несколько обзоров с подробным тестированием различных китайцев, где используются поверенные эталоны и результаты претендуют на достоверность. В качестве вишенки часто приводят сравнение с флюками. По результатам часто выходит, что китайцы оказываются точнее, что не отменяет того факта, что флюки всегда в допуске. Так что выбор флюк-китаец не столь очевиден, как это можно было бы предположить. Можно купить флюка за 7 тыс. руб., а можно того же функционала китайца за 700р и попасть в ситуацию, когда потребительские свойства с ценой никак не коррелируют.
Осциллограф для работы с цифровыми устройствами -- штука маловостребованная. По своему опыту могу сказать, что его основная функция -- занимать место и собирать на себе пыль. Нет, иногда бывает интересно (скорее из любопытства) куда-нибудь тыкнуться, но ситуации, чтобы без него прямо никак, исчезающе-редки.
Так и не придумал, зачем бы он мне мог понадобиться, отчего так до сих пор и не купил. Возможно, для сложных проектов из десятков корпусов, он вещь незаменимая, но для проектов вида МК + еще чего-нибудь, весь логический анализ быстрее произвести в уме.
имеем практически весь функционал ЛБП без загромождения стола (на котором никогда не хватает места)
Сейчас на моём подоконнике стоят и БП от ПК, и вышеупомянутый Gophert. Угадайте, кто больше места занимает?) Вообще, делаю себе привычку запускать все устройства сначала от БП с защитой, потом уже от их обычного питания. Да и вообще, вещь исключительно удобная, но на вкус и цвет.
Флюк - отдельный разговор, я его не покупал, он достался бесплатно, и, собственно, всегда устраивал по параметрам.
Осцилл - ну, ногда действительно бывает надо. И в цифре он один из тех самых приборов, которые подскажут, почему оно не пашет.
Анализатор - вещь незаменимая при работе с интерфейсами. Ответило ли то устройство мне по I2C или послало меня NACK? С IIC больше всего бился, и, если бы не анализатор, так бы и бился до сих пор.
В общем, на вкус и цвет фломастеры разные, я не стремился никого ущемить, просто делился тем, что применяю сам)
Пытаюсь запустить nrf24l01+ на ESP8266 (пробовал ESP-12F и NodeMCU 1.0), использую библиотеку RF24.
Иногда может проработать несколько минут, а после валится в постоянные перезагрузки. Иногда при первом же пакете - ребут. В то же время другой проект на том же железа работает стабильно (без библиотеки RF24).
Может кто использует такую связку у себя?
П.С.
Задавал вопрос автору библиотеки https://github.com/nRF24/RF24/issues/363
Эту связку я бы не использовал, частоты близко расположены, друг другу мешают работать.
Для начала протестируйте esp8266 без nrf24l01
Уберите Gophert и ситуация с занимаемым местом сразу прояснится. :) Вот что точно стоит иметь всегда под рукой -- это комповый БП. Источник такой мощности, который часто не нужно даже покупать (остался от старого компа), по показателю качество/цена не имеет конкурентов.
Вот не бьется это утверждение с моими собственными наблюдениями. С цифровыми схемами имею дело часто, а осциллограф при этом включаю редко. Не требуется. Современные цифровые чипы -- довольно строгие и стабильные устройства. Если нет ошибок в схемотехнике или монтаже, форму сигнала рассматривать обычно нет нужды. По этой причине проще не тратить время на оциллограф, а сразу начинать искать ошибку.
Ответило или нет, проще посмотреть в регистре статуса по завершению транзакции. Там содержится исчерпывающая информация о состоянии интерфейса и произошедших событиях. С учетом того, что сам интерфейс довольно незатейлив, анализатором там просто смотреть нечего. Сколько ни имел дело с I2C, ни разу не возникало позывов посмотреть его анализатором. Так бы давно купил, благо стоит не дорого.
Нет, я не пытаюсь ввязаться в принципиальный спор, почесывая уязвленное самолюбие. Просто ваши рекомендации как-то не очень стыкуются с моими наблюдениями и мыслями на данный счет, что просто захотелось уточнить, не упускаю ли я чего-то важного.
a5021, Yarik.Yar, ваша дискуссия ушла сильно вбок от теми поста.
russo, вы тему читали?