ESP-8266. Alarm to Telegram, Pushsafer or Pushover: temerature, movement, siren.

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

Метки:
  1. SergeiL

    SergeiL Оракул Модератор

    У меня критические: открыта закрыта входная дверь квартиры ( когда меня нет дома), протечка воды, пропадание / появление 220В дома и на даче, превышение температуры в серверных на работе, отсутствие связи с ESP более 15мин и т.д.
    Информационные сообщения: рестарт, переподключение ESP по Wi-Fi, MQTT, статистика за день, показания счетчиков воды, отладочная информация типа: вход выход из геозоны, iBeacon и.т.д. То есть то, что либо информационное, либо само восстановилось и уведомило о событии, для анализа.
     
    Egony и ИгорьК нравится это.
  2. ИгорьК

    ИгорьК Гуру

    а на этом что работает?
     
  3. SergeiL

    SergeiL Оракул Модератор

    По сути iBeacon - Bluetooth Low Energy (BLE) маячок, поддерживаенмый системой iOS, приложение регистрирует его ID, и система уведомляет приложение, о входе/выходе из зоны.
    Влияния на расход батареи не заметил.
    Дома стоит 4 маячка, прописаны в OwenTracks в Regions.
    То же самое, что регионы в OwenTracks, но видны из одной или в крайнем случае из соседней комнаты.
    Открылась входная дверь - взвел таймер на 3 минуты, если все в OFF, ушел из дома.
    Появился первый, или сработала GPS геозона или появился в домашней сети - пришел домой.
    Работает на 100% точно.

    Дома потерял телефон, вдобавок сел аккумулятор. Только по логам в OH от iBeacon и нашел.
    Перед смертью, телефон видел два iBeacon-а, искал на пересечении, нашел провалившимся в диван.
     
    ИгорьК нравится это.
  4. ИгорьК

    ИгорьК Гуру

    Как это реализовано в железе?
     
  5. SergeiL

    SergeiL Оракул Модератор

    У меня стоят iBeacon iB004N, совместимые как с iOS так и с Android, купленные в nfcpoint.
    iBeacon расставлены по комнатам.
    В плане работы - доволен, по настройке - нет. Для входа в режим настройки нужно постучать им около 5 раз по поверхности, должен перейти в режим настройки. Переходит, но 1 из 10-20 раз.
    Для дачи смотрю Estimote.
    вот скриншот с телефона:
    IMG_4061_1.png
     
    Последнее редактирование: 18 апр 2018
    ИгорьК нравится это.
  6. ИгорьК

    ИгорьК Гуру

    Буду вникать.
     
  7. ИгорьК

    ИгорьК Гуру

    А вот и еще одна отправка, теперь на Pushover:
    Код (C++):
    if wifi.sta.status() ~= 5 then return end
    if not dat then dat = 'Alarm!!!' end
    http.post('https://api.pushover.net/1/messages.json',
      '',
      'token=ВАШ_ТОКЕН_API&user=ВАШ_ЮЗЕР_KEY&title=Alarm&message='..dat,

      function(code, data)
        if (code < 0) then
          print("HTTP request failed")
        else
          print(code, data)
        end
        if not flagalarm then tmr.start(askt) end
      end)
    Или если надо красиво за счет памяти:
    Код (Lua):
    do
    if wifi.sta.status() ~= 5 then return end
    if not dat then dat = 'Alarm!!!' end
    rq = {
       token   = "ВАШ_ТОКЕН_API", -- Your application token
       user    = "ВАШ_ЮЗЕР_KEY", -- Your user token
       title   = "Alarm"
    }
    local data_str = {}
        for k,v in pairs(rq) do
            table.insert(data_str, tostring(k) .. "=" .. tostring(v))
        end
    data_str = table.concat(data_str, "&")
    data_str = data_str ..'&message='..dat
    http.post('https://api.pushover.net/1/messages.json', '', data_str,
      function(code, data)
        if (code < 0) then
          print("HTTP request failed")
        else
          print(code, data)
        end
        if not flagalarm then tmr.start(askt) end
      end)
    end
     
    Последнее редактирование: 18 апр 2018
  8. IvanUA

    IvanUA Гуру

    Ага, с радостью... Вот только HTML5 и CSS3 домучаю)))))
    А вообще, конечно на все времени катастрофически не хватает(((
     
  9. Securbond

    Securbond Гуру

    У Вас этот сервис еще работает? Что то попытаюсь зарегистрироваться, но ни как не приходит пароль на телефон..
     
  10. SergeiL

    SergeiL Оракул Модератор

    Работает. Доволен.
    С паролем тоже была проблема. На мегафон так и не пришел пароль.
    На МТС пришел сразу. Не знаю как объяснить!
     
  11. Securbond

    Securbond Гуру

    Написал в службу поддержки, прислали на почту. :)
     
  12. obuhanoe

    obuhanoe Гик

    Игорь, подскажите по такому вопросу:
    Для работы с API telegram нужен модуль TLS?
    Использовать модуль NET не получится, так как он не умеет работать с HTTPS?

    P.S. Обновил прошивку - file_gpio_http_mqtt_net_node_rtctime_sntp_tmr_uart_wifi_tls_float
    Ваш пример или пример с сайта nodemcu - никаких реакций нет, ни в receive ни в connection

    Код (Text):
    local bot = '12345678:AAAAAAAAAAAAAAAAAAAA-rrrrrrrrrrrrrrrrr' -- Тут свое значение подставил
    local id  = '123456789' -- тут тоже
    ------------
    local curl = 'GET /bot'..bot..'/sendMessage?chat_id='..id..'&text='..dat..'\r\nHost: api.telegram.org\r\n\r\n'
    local srv = tls.createConnection()
    srv:on("receive", function(sck, c)
         print(c)
         print('\nSent at heap: '..node.heap()..'\n')
         c = nil
         sck:close()
         bot, id, sck, curl, srv = nil, nil, nil, nil, nil
         biz = false
    end)
    srv:on("connection", function(sck, c)
        print("SEND")
        sck:send(curl)
    end)
    srv:connect(443,"api.telegram.org")

    Код (Text):
    srv = tls.createConnection()
    srv:on("receive", function(sck, c) print(c) end)
    srv:on("connection", function(sck, c)
      -- Wait for connection before sending.
      sck:send("GET / HTTP/1.1\r\nHost: google.com\r\nConnection: keep-alive\r\nAccept: */*\r\n\r\n")
    end)
    srv:connect(443,"google.com")
    Спасибо.
     
    Последнее редактирование: 4 июл 2022
  13. ИгорьК

    ИгорьК Гуру

    Безусловно. В первом посте на картинке показано как "заказать" прошивку, в том числе и галочка TLS показана.

    Четыре года прошло. Возможно в API Telegram что-то поменялось. На момент выкладывания кода он 100% рабочий. Что сейчас не скажу, надо разбираться отдельно.
     
  14. obuhanoe

    obuhanoe Гик

    TLS заказана )
    Понял, буду дальше ковырять.
    Смущает то, что вызов с сайта с TLS также молчит.