NRF24 и ESP8266

После долгих мучений наконец-то заставил NodeMCU (ESP8266) работать с nRF24L01p. В этом деле мне здорово помог логический анализатор. Сначала я снял обмен данными с ардуины, где есть отлаженная библиотека и всё работает с полпинка. Затем привел свой код в аналогичный вид, но без какого-либо результата. При снифе моего обмена оказалось, что модуль SPI в NodeMCU поднимает Chip Select после каждого байта! Естественно, загрузка адресов и полезных данных в nRF24 нифига не работала. Сильно запутало то, что чтение и запись одиночных регистров при этом происходили правильно — в одной транзакции я отправлял адрес регистра, в следующей — успешно получал содержимое. Чудеса! Решилось ручным управлением Chip Select’ом с отдельного GPIO. Ну и вишенкой на торте стали перепутанные провода CE и CSN на одной из тестовых плат.

Теперь наконец можно сделать перекладыватель из nRF в MQTT и перенести батарейные датчики с ESP8266 на STM8L+nRF24. Предварительный расчет показал, что батарейки CR2032 должно хватить на 5 лет при отправке данных каждую минуту. Правда, это без каких либо датчиков.

NRF24 и ESP8266: 2 комментария

    1. Схемы нет, т.к. для NodeMCU полный интернет примеров, а идею с датчиком на STM8L я так и не довел до конца.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *