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

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

  1. yucan

    yucan Гик

    Это получается из архива "final.zip" Там я нашёл файл NarodMonFinal.lua
     
    ИгорьК нравится это.
  2. ИгорьК

    ИгорьК Гуру

    Получается там :)
     
  3. yucan

    yucan Гик

    PORT OPEN 9600
    file.remove("NarodMonFinal.lua");
    > file.open("NarodMonFinal.lua","w+");
    > w = file.writeline
    > w([[-- ]]);
    > w([[-- !!!Обязательно исправить ds18b20.lua]]);
    > w([[require('ds18b20')]]);
    > w([[gpio2 = 4]]);
    > w([[-- "Temperature : " .. ds18b20.read(addres[1]) .." ; "]]);
    > w([[ds18b20.setup(gpio2)]]);
    > w([[addres=ds18b20.addrs()]]);
    > w([[sensors = table.getn(addres)]]);
    > w([[function sendNarod()]]);
    > w([[local sensors = sensors]]);
    > w([[local tm]]);
    > w([[local dataN = "#12-34-56-78-90-00\n"]]);
    > w([[for sensor = sensors, 1, -1 do]]);
    > w([[ tm = ds18b20.read(addres[sensor])]]);
    > w([[ dataN =dataN.."#T"..sensor.."#"..tm.."\n"]]);
    > w([[end]]);
    > w([[dataN = dataN.."##\n"]]);
    > w([[print(dataN)]]);
    > w([[conn=net.createConnection(net.TCP, 0) ]]);
    > w([[conn:eek:n("connection",function(conn, payload)]]);
    > w([[ conn:send(dataN) ]]);
    > w([[ end)]]);
    > w([[conn:eek:n("receive", function(conn, payload)]]);
    > w([[ print('\nRetrieved in '..((tmr.now()-t)/1000)..' milliseconds.')]]);
    > w([[ print('Narodmon says '..payload)]]);
    > w([[ conn:close()]]);
    > w([[ end) ]]);
    > w([[t = tmr.now() ]]);
    > w([[conn:connect(8283,'narodmon.ru') ]]);
    > w([[end]]);
    > w([[sendNarod()]]);
    > w([[tmr.alarm(0, 600000, 1, function() sendNarod() end )]]);
    > file.close();
    > dofile("NarodMonFinal.lua");
    #12-34-56-78-90-00
    ##

    >
    Retrieved in 250.7 milliseconds.
    Narodmon says NO VALUES
    Вот что получилось. Какие то смайлики в тексте...
     
  4. ИгорьК

    ИгорьК Гуру

    Я знал, что приключения еще не закончены :) Вы датчики то присоединяли?
     
  5. yucan

    yucan Гик

    Нет пока...Датчик на работе забыл...
     
  6. ИгорьК

    ИгорьК Гуру

    Попробуйте что-нибудь по оригинальнее, а то народмон Вас ударит тапком.
     
  7. ИгорьК

    ИгорьК Гуру

    Как же это я угадал...

    Но оно у Вас уже заработало! Народный Мониторинг подтвердился :)
     
  8. yucan

    yucan Гик

    А что там должно быть? ID датчика?
     
  9. ИгорьК

    ИгорьК Гуру

    Там сначала должны быть датчики.
    Все, я ушел пиво пить.
     
    yucan нравится это.
  10. yucan

    yucan Гик

    Блин... очень благодарен Вам, Игорь...Столько времени потрачено на меня!
    Датчик теперь в понедельник только смогу подключить. Спасибо!
     
  11. yucan

    yucan Гик

    У меня в данный момент народный мониторинг не работает.
     
  12. zezebra

    zezebra Нерд

    Кто на народный мониторинг делал расчет показаний точки росы (dew point)? Собираюсь сделать, может кто уже успел, что б лисапед не городить. Документ по расчету кидаю, тут
     
  13. ИгорьК

    ИгорьК Гуру

    Он работал. Это видно из вашего скриншота.
    Вы ему пару раз отправили пустые сообщения - Вас и забанил.
     
    yucan нравится это.
  14. Stan

    Stan Нерд

    NarodMonFinal.lua:8: 'for' initial value must be a number

    А первая версия "final" почему то при старте пуляет 85 градусов... Это только у меня?
     

    Вложения:

    • Clipboard01.jpg
      Clipboard01.jpg
      Размер файла:
      192,6 КБ
      Просмотров:
      904
    ИгорьК нравится это.
  15. zezebra

    zezebra Нерд

    Node MCU + датчик температуры + датчик влажности = Dew Point (расчет точки росы)

    Сделал расчет точки росы, кому надо смотреть мои показания, то тут. Для расчета по вашим данным есть он-лайн калькулятор, может сгодится и находится тут.
     
    Последнее редактирование: 27 фев 2016
    ИгорьК нравится это.
  16. ИгорьК

    ИгорьК Гуру

    Исправил.
    Это как раз исправлено во второй версии.
     
  17. ИгорьК

    ИгорьК Гуру

    Подскажите, в чем практический смысл - как это можно применить?
     
  18. zezebra

    zezebra Нерд



    По сути вычисляемая температура при которой поверхности покрываются росой, как по утру выпадает роса на траве. Допустим есть насосная станция и с улицы закачиваем воду в накопитель, зная эту температуру будем знать когда бак покроется росой, а это вызывает коррозию мет. деталей, тогда либо греем бак либо включаем вентилок что б влажность воздуха снизить. То ж касаемо домов, особливо из пеноблока или газосиликата, потом бегают и кричат стены заплесневели на 2-ой год. Это касаемо и ванных комнат, когда на стеклах писать можно, или тонких стеклопакетов. Применений масса, гугол как говорят в помощь, а нужно вам это или нет решайте сами. Скажу так у меня считается и внутри помещений, стоят как приватные.
     
    ИгорьК нравится это.
  19. Stan

    Stan Нерд

    А теперь почему-то при старте идет строка > No sensors = 1 и перезагрузка... Использую инструкцию, где писали, что в init.lua прописать tmr.alarm(0, 5000, 1, function() dofile("NarodMonFinal.lua") end), а в начале вашего файла - tmr.stop(0) (в прошлой версии работало, но выдавало 85)

    При обычном запуске работает ок!

    И подскажите пожалуйста, у меня все значения округлены до целых, как сделать чтобы было 2 знака после запятой?
     

    Вложения:

    • Clipboard02.jpg
      Clipboard02.jpg
      Размер файла:
      187,7 КБ
      Просмотров:
      751
    • Clipboard03.jpg
      Clipboard03.jpg
      Размер файла:
      142,5 КБ
      Просмотров:
      699
  20. ИгорьК

    ИгорьК Гуру

    У Вас на модуле уже какая-то каша из файлов. Не видите? Что там можно понять.
     
    Последнее редактирование: 27 фев 2016