Arduino, ESP8266 Lua, Raspberry Pi 2 && OpenHab. Умный дом: азы управления.

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

  1. AlexUnder

    AlexUnder Нерд

    Привет!
    Пытаюсь соорудить что - то похожее что и в этом проекте, но......
    Raspberry Pi 3 Raspbian Jessie Mosquitto openhab 1.8.2
    Данные от ESP-01 поступают, но на веб странице openhab не обновляются. Значение температуры обновится, если я ВРУЧНУЮ обновлю страницу. В приложении openhab на планшете все работает нормально.
    Уже не знаю куда копать =( Может поможете.....
     

    Вложения:

  2. ИгорьК

    ИгорьК Гуру

    Никуда не копайте. Это так 1.8.2 на некоторых браузерах работает. Можете дауншифтнуть его до 1.8.1 или поменять браузер или забить и подождать чуть. Я же на предыдущей странице показал в чем дело.
     
    AlexUnder нравится это.
  3. ИгорьК

    ИгорьК Гуру

    Как она, Raspberry Pi 3 для нашего дела? Греется?
     
  4. AlexUnder

    AlexUnder Нерд

    "От оно чё......." (с)какой-то фильм
    Спасибо Вам Игорь за столь оперативный ответ, а то я уже третий день бодаюсь......Чуть с ума не сошел =))
    Raspberry Pi 3 не холодная конечно,с учетом того что дома 30 градусов =)) я радиаторы налепил, в корпус воткнул. Зависла один раз только, и то по неизвестной причине. Встроенный wifi и bluetooth весьма радуют =)
     
    ИгорьК нравится это.
  5. AlexUnder

    AlexUnder Нерд

    Охо-хо.....в - общем, поставил я на raspberry iseweasel(Firefox) там такая же петрушка....сам не обновляется.....
    С десктопа захожу на сервер, тоже ничего не обновляестся, только вручную....=(
    Может я где - то что-то не прописал, или не установил?
     
    Последнее редактирование: 19 апр 2016
  6. ИгорьК

    ИгорьК Гуру

    Все установлено. Эта петрушка, видимо, связана с вопросами html5, которые еще не устоялись. Да не переживайте Вы так: дом работает, управляется. Пройдет две-три недели, выйдет обновление и все успокоится. Не у одного у Вас так.
     
    AlexUnder нравится это.
  7. AlexUnder

    AlexUnder Нерд

    Ок. Пока обновление не вышло, может заморочусь установкой 1.8.1 =)
    Еще раз спасибо Вам Игорь=)
     
  8. AlexUnder

    AlexUnder Нерд

    А вот еще ламерский вопрос....Программист из меня никудышный.....Хреновый вовсе даже из меня программист =) Наваял я код, из трех найденных в этой теме, но естественно, работает он хреново =) Может подскажете, как его поправить?
    Суть такая ESP-01 gpio4 - ds18b20 gpio3 - просто релюшка. Вместо релюшки сейчас светодиод, и он как - то мерцает. А иногда и вовсе гаснет ненадолго, негодяй =)

    Код (Lua):
    pin=4 -- На этой ноге DS18b20
    gpio.mode(3,gpio.OUTPUT) -- Здесь реле
    gpio.write(3,gpio.LOW) -- Ногу вниз - реле включить

    Broker="192.168.1.108"
    port=1883
    myClient="ESPThermo"
    name="ESPThermo"
    pass="password"

    m = mqtt.Client(myClient, 180, name, pass)
    m:lwt("/myhome/ESPThermo/", "By!", 0, 0)
    m:on("offline", function(con)
       print ("reconnecting...")
      tmr.alarm(1, 90000, 1, function()
         m:connect(Broker, port, 0, function(conn)
           tmr.stop(1)
           m:subscribe("/myhome/Switch001/command",0, function(conn)
             print ("Subscribed!")
           end)
         end)
      collectgarbage()
      end)
    end)

    tmr.alarm(2, 60000, 1, function()
    local ds18b20 = require('ds18b20')
      ds18b20.setup(pin)
      local addres={}
      addres=ds18b20.addrs()
      local t = ds18b20.read(addres[1])
      if t ~= 85 then
      m:publish("/myhome/out/temperature001/state",t,0,0, function(conn)
      print("Temp "..t.." published!")
             ds18b20 = nil
             package.loaded["ds18b20"]=nil
             collectgarbage()
      end)
      end
    end)

    m:on("message", function(conn, topic, data)
      print("Recieved:" .. topic .. ":" .. data)
    if (data=="ON") then
      print("Enabling LED")
      gpio.write(3,gpio.LOW)
      m:publish("/myhome/Switch001/state","ON",0,0)
      elseif (data=="OFF") then
      print("Disabling LED")
      gpio.write(3,gpio.HIGH)
      m:publish("/myhome/Switch001/state","OFF",0,0)
      else
      print("Invalid - Ignoring")
      end
      collectgarbage()
    end)

    tmr.alarm(0, 1000, 1, function()
       if wifi.sta.status() == 5 and wifi.sta.getip() ~= nil then
         tmr.stop(0)
         m:connect(Broker, port, 0, function(conn)
           print("Connected!")
           m:subscribe("/myhome/Switch001/command",0, function(conn)
             print("Subscribed!")
           end)
         end)
       end
    end)
     
     
  9. ИгорьК

    ИгорьК Гуру

    Цифровая техника, она такая... Или мигает, или не мигает, или горит и не гаснет. Если что-то мерцает - неисправность проводки, не хватает питания, или... пожгли микросхему. Особенно если подают на нее 5 вольт или сигнал от пятивольтовой микросхемы. От той же Ардуино. Код, вроде бы, нормальный. Тем более, что по USB он передает информацию о своей работоспособности, и следует, вначале, изучить что он там пишет про свою жизнь.
    В общем, мое предположение:
    - не хватает питания;
    - усердно соединяли с ардуино без презерва... согласования уровней.
     
  10. zloy-glide

    zloy-glide Нерд

    Уважаемый Игорь, во-первых выражаю благодарность за ваши изыскания в плане спаривания нулайта с малинкой и опенхабом. Во-вторых прошу совета. Столкнулся с тем что от имени опенхаба не выполняется питоновский скрипт. Тот что собственно управляет светом. Сделал все по циклу статей из вашего блога. С консоли командами свет рулится. Так же он рулится если опенхаб запускать через start.sh но установленный через apt-get как пакет выполнять скрипты он не желает. Я так полагаю что опенхаб пытается запустить скрипт на выполнение успешно рапортует об этом в логах но от системы получает по лбу и молчит. У скрипта права доступа пробовал менять на 777 на 775 и все бестолку.
     
  11. ИгорьК

    ИгорьК Гуру

    Похоже. Что делать - не знаю. А хоть какие-нибудь скрипты выполняет? Хотя бы bash?
    Пока нет времени с этим разбираться. Поищите ответ на каком-нибудь форуме Java-водов, найдете - делитесь.
     
  12. zloy-glide

    zloy-glide Нерд

    Другие скрипты не пробовал. Пока думаю стоит копать в сторону повышения прав для опенхаба. А так мне проще из папки его запускать. Но если поборю, отпишусь.
     
    ИгорьК нравится это.
  13. ИгорьК

    ИгорьК Гуру

    Проверьте, на всякий случай, все ли в порядке с биндингом. Может, какая-то досадная опечатка. Бывает такое, у меня - частенько.
     
  14. zloy-glide

    zloy-glide Нерд

    Да если бы все так просто было бы) Биндинги проверил первым делом. Все рабочее. Так как я кидаю файлы конфигурации и файлы биндингов в голый опенхаб запускаю скриптом и все работает.
     

    Вложения:

    • noolite.jpg
      noolite.jpg
      Размер файла:
      202,2 КБ
      Просмотров:
      919
  15. ИгорьК

    ИгорьК Гуру

  16. zloy-glide

    zloy-glide Нерд

    В общем внимательно почитал мануал и там черным по белому написано =)
    1. If you wish to use a USB zwave stick or other USB/serial device you will need to add the "openhab" users to the "dialout" group:
      sudo usermod -a -G dialout openhab
      and then reboot.

      Работает блин)
     
    ИгорьК и alp69 нравится это.
  17. ИгорьК

    ИгорьК Гуру

    В заголовок.
     
  18. AlexUnder

    AlexUnder Нерд

    Ну вот как - то такая жизь получилась =)
    Почему проскакивает по 2 команды ON и OFF?
    Безымянный01_01.jpg 2016-04-20-204320_1920x1200_scrot_01.jpg провалы на gpio 0.jpg провалы на gpio 0_01.jpg провалы на gpio 0_02.jpg
     
  19. ИгорьК

    ИгорьК Гуру

    Все работает правильно. По две команды: ткнул кнопку - ушла команда, получена - вернулась подтверждением.
    А вот что там осциллограф показывает - я выше написал.
     
  20. AlexUnder

    AlexUnder Нерд

    Использовал два разных источника.С обоими результат - провалы...Но на всякий случай попробую прошить еще ESP-12 Amica...