ESP8266: отправка температуры на Народный мониторинг. Бюджетный вариант.

Тема в разделе "Глядите, что я сделал", создана пользователем ИгорьК, 3 мар 2015.

  1. ИгорьК

    ИгорьК Гуру

    Залить прошивку, в названии которой присутствует слово "float"
     
  2. Stan

    Stan Нерд

    А какая разница, сколько там файлов? Narod.lua - ваша первая версия скрипта, NarodMonFinal.lua - последняя, ds18b20-example.lua - пример из NodeMCU 1, ds18b20-web.lua пример из NodeMCU 2, ds18b20.lua - ваша библиотека, init.lua - содержит одну строчку tmr.alarm(0, 5000, 1, function() dofile("NarodMonFinal.lua") end), script1.lua - просто пример принта ds18b20, который кстати тоже при первом запуске писал 85 градусов...

    Из-за чего вообще возникает эта проблема с 85 градусами?


    Раньше читал, что она не очень стабильна, но раз так - установлю потом, попробую
     
  3. Stan

    Stan Нерд

    До восемнадцатой строки работает - далее ребут
     

    Вложения:

    • Clipboard04.jpg
      Clipboard04.jpg
      Размер файла:
      170,8 КБ
      Просмотров:
      757
  4. ИгорьК

    ИгорьК Гуру

    Пользуйтесь первой версией.
     
  5. Stan

    Stan Нерд

    Ну что сказать. Не работает ТОЛЬКО при автозапуске. Если запустить init.lua самому - то работает... Но если ошибочные данные - ребут... Не работает строка
    tm = ds18b20.read(addres[sensor])

    В чем все-таки происхождение 85 градусов? На Arduino pro mini, когда пользовался, такой проблемы не было...
     

    Вложения:

    • Clipboard05.jpg
      Clipboard05.jpg
      Размер файла:
      159,8 КБ
      Просмотров:
      846
    • Clipboard06.jpg
      Clipboard06.jpg
      Размер файла:
      178,2 КБ
      Просмотров:
      889
  6. ИгорьК

    ИгорьК Гуру

    Мне очень Важна Ваша экспертная оценка...
    Понять что это значит мне не по силам.
    Вы делаете какие-то вещи по своему разумению (второе фото в посте: http://forum.amperka.ru/threads/esp8266-отправка-температуры-на-narodmon-ru-Бюджетный-вариант.4568/page-4#post-67211)
    Вы загрузили не ту прошивку, которую я указал.
    Это типовая функция чтения показания датчика. Она не может не работать в принципе.
    Рассмотрите вопрос вернуться к ней. Здесь Вы занимаетесь не тем что я сделал, а собственными вариациями на тему.
     
    Последнее редактирование: 27 фев 2016
  7. Stan

    Stan Нерд

    Да это не собственные вариации. Мне нужно понять, откуда появляются эти 85 град.

    Только что я сделал сейчас все полностью, как в вашей инструкции: собрал nodemcu, скачал float, установил, закачал заново файлы - всё тоже самое: при автозагрузке постоянный ребут, цифры округлены до целых. ЧЯДНТ?
     

    Вложения:

    • Clipboard07.jpg
      Clipboard07.jpg
      Размер файла:
      127,7 КБ
      Просмотров:
      684
  8. ИгорьК

    ИгорьК Гуру

    Откуда Вы взяли функцию в автозагрузке (init.lua)? Там стоит таймер, который каждые 5 секунд запускает на исполнение один и тот же (основной) файл, который и так исполняется и висит в памяти, накладывая исполнение одно на другое. Более того, возможно перепутывается инициализация таймеров.
    Я такого не писал!
    Округление цифр - прошивка не float. Библиотека настроена на работу с прошивкой с плавающей точкой. Что тоже стабильности не добавляет. А, возможно, и рушит в определенных случаях программу.
    И в первом и во втором случае - это ваша самодеятельность. Почему я должен в это вникать?
    Более того! Если бы вы случайно не прислали фото со скриптом init я бы голову сломал от такой ситуации.
     
    Последнее редактирование: 29 фев 2016
  9. zezebra

    zezebra Нерд

    Стан-друг, а может бы и не парился, народу то полно, дал бы кому желез свой и залили бы те что надо и куда надо за емкость с жидкостью ну или как договоритесь, там то по сути делать нефиг, дольше паять и в корпус вкрячивать. Пришел бы домой залез бы в прошиву поправил логин и пасс и делов то.
     
  10. modex

    modex Нерд

    Новый скрипт перезалил на ESP8266-01, работает! Так же залил на ESP8266-07, пока без датчика, но вроде тоже все отлично.
    Показания передаются сразу!
    Спасибо! :)

    Пожалуй мелкий недочет в строке: print("No sensors = "..sensors)
    Слово "No" оказалось лишним, ибо если сенсор есть, пишет "No sensors = 1", если сенсора нет, пишет "No sensors = 0".
    Это мелочи конечно, просто решил сообщить.
     
    ИгорьК нравится это.
  11. zezebra

    zezebra Нерд

    наконец девайс родился, как подключишь к народмонитору ссыль кинь.
     
  12. modex

    modex Нерд

    Кому адресовано?

    Есть вопросик :) Хоть где-то отвечают!

    Имеем ESP8266-07 и цифровой led термометр (ссылка) с сенсором DS18B20 , с данной прошивкой. Резистор на сенсор не стал паять, без него (да и даже с ним) никаких изменений в работе не заметил, по этому решил не накидывать лишние детали.
    Я взял GND и DATA (от датчика ds18b20) проводки с этого термометра и запаял к ESP. Все работает, данные передаются на народмон и на led индикаторе показания выводятся. НО! Имеется маленький косяк - постоянно мерцает синий светодиод (пример: _ . . . _ . . . _ . . . _). Отсюда вопрос: Вредит ли такое мерцание светодиода ESP'шке? Прошло уже порядка 15 часов работы, все работает нормально, вроде не греется даже.
     
    zezebra нравится это.
  13. ИгорьК

    ИгорьК Гуру

    Тут лучше бы осциллографом посмотреть - какое напряжение сигнала у термометра на выходе. Если 5в - припаяйте. В конце концов вы подпалите вход ESPшки.
    Пусть мигает. У него задача такая. Это показывает выход сигнала TX от модуля.
     
  14. zezebra

    zezebra Нерд

    питаю через пониж стаб, но у меня nodemcu выставил ровно на 5 вольт, живет и не жжужит, резюк стоит-провод 3 жилы от телефона на улицу в белой ПВХ оплетке 2 метра , если проводка до датчика длинная можно не ставить. Ни диоду ни самой плате нифига не будет, он даж нагреваться не успевает, работает же импульсно, тебя еще переживет, если конеш ты не собираешься его спецом упороть.
     
  15. ИгорьК

    ИгорьК Гуру

    Круто! Веско! Уважуха!
    Лишь зануды и очкарики, типа меня, так не поступают.
     
    zezebra нравится это.
  16. zezebra

    zezebra Нерд

    Игорь тут главное доходчиво, сам согласись важна не форма, а содержание. Проще, доступней, даешь девайсы в массы!

    ЗЫ почитывал твои материалы, не занудства не красноглазия не заметил, скромность конеш. украшает человека, но не до такой же степени ))
     
    Последнее редактирование: 1 мар 2016
  17. modex

    modex Нерд

    Вольтметром замерил, 3,4v выдает.

    Мерцает он именно из-за LED термометра, без него такого мерцания нет.

    Вот записал видел даже https://goo.gl/photos/BFgN3AkTJULJxziT7
     
  18. ИгорьК

    ИгорьК Гуру

    Если вольтметром такое значение, то там скорее всего 5 вольт. С вероятностью процентов так 60.
    Все нормально.
     
    modex нравится это.
  19. Cadil

    Cadil Нерд

    Искренне благодарен тебе за твою работу. После многочисленных неудачных попыток загрузить информацию с датчика в облако на thingspeak.com - с твоим набором скриптов буквально с первой-второй попытки увидел температуру со своего датчика на сайте.
    Несколько вопросов, предложений:
    1. Я не понял - ds18b20.lua во вложении корректно отображает отрицательные температуры?
    2. Питание схемы, судя по отзывам в нете, очень затратное - 2 батарейки на 2-3 дня - это многовато! В выносном датчике метеостанции - меняю батарейки раз в год. Тебе, предполагаю, не составит большого труда доработать программу так, чтобы после измерения и отправки информации на сервер (время до секунды) перевести устройство в режим сна на 5-6 минут.
    3. Не задумывался написать скрипт, который позволит принимать по Wi-Fi информацию с датчика и отображать эту информацию на мобильном устройстве на Android'e или хотя бы на ноутбуке? Короче - исключить из цепочки удаленный сервер.
     
    Последнее редактирование: 9 мар 2016
  20. Stan

    Stan Нерд

    А что мешает? Пожалуйста, соединяйте GPIO16 с RST и уводите в deep sleep командой node.dsleep(n,0) на n сколько душе угодно микросекунд.