• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Решено NodeMCU с опцией u8g

OlegRnD

New member
Добрый день, уважаемые! Наигравшись на модуле esp8266 от Amica с получением температуры с ds18b20 и отправкой по mqtt, решил так же выводить температуру на oled ssd1306 по i2c с использованием команд u8g. Собрал прошивку NodeMcu c u8g и I2C, дописал вывод на экран и... получил неоднозначный результат:
1) модуль, с подключенным дисплейчиком и запитанным 3.3v от самого модуля, вообще не стартует и в терминал есплорера ничего не пишет, видимо не хватает питания в момент включения. Обошел включением модуля и последующим подключением питания дисплея.
2) в таком порядке запускаю скрипт (руками из есплорера, а не через unit.lua) все норм, температура отправляется на брокер и выводится на экранчик, но стоит (предварительно отключив экран) передернуть модуль кнопкой Rst или просто отключив питание и больше он до конца не запускается: идет попытка старта, мигает светодиод, в терминал есплорера выводится какая-то инфа о чексуммах, которой обычно нет и снова мигание, снова чексуммы и так до бесконечности. Перепрошивка этой же прошивкой с опцией u8g проходит из этого состояния успешно, но после нее опять аналогичные попытки старта, при этом и экран отключен и скрипт не в автомате стоит. Лечится такое состояние перепрошивкой на прошивку без опции u8g, при этом после первого старта автоматом запускается форматирование и длится около минуты, дальше модуль ведет себя отлично. Снова ставлю прошивку с u8g и все первый раз запускается, работает, после рестарта опять та же песня.
Может у кого-то будут мысли, в чем может быть проблема?
Пины данных для экранчика висят на D7, D8.
 
Последнее редактирование:

OlegRnD

New member
@OlegRnD D8 - это gpio15. nodemcu распиновка
Для нормального старта должен быть притянут к земле через резистор, а Вы на него повесили экран с высоким уровнем.
Спасибо за информацию. Однако, пробовал и D6, D7 с аналогичным результатом. Более того, войдя в режим постоянных рестартов модуль и с электрически полностью отключенным дисплеем не загружается.
 

OlegRnD

New member
Решил вернуться к этой проблеме, немного поигрался отключением/подключением дисплея в разные моменты работы модуля, в итоге повесил пины данных на 1 и 2 пин и проблема ушла. Попутно возник вопрос хоть и не по теме: линии данных ds18b20 и dht22 повесил на один пин модуля и все вроде работает, насколько это криминально?
 

Jury_78

New member
ds18b20 и dht22 повесил на один пин модуля и все вроде работает, насколько это криминально?
dht22 это же не адресуемый модуль - ему нужна независимая линия. Если так случайно получилось, что временные интервалы не совпадают с требуемыми то он не реагирует.
 

tretyakov_sa

Moderator
Команда форума
Решил вернуться к этой проблеме, немного поигрался отключением/подключением дисплея в разные моменты работы модуля, в итоге повесил пины данных на 1 и 2 пин и проблема ушла. Попутно возник вопрос хоть и не по теме: линии данных ds18b20 и dht22 повесил на один пин модуля и все вроде работает, насколько это криминально?
Не криминально. Так как опросы датчиков идут в разное время.
 
Сверху Снизу