Individální projekty MPOA

Mikroprocesory s architekturou ARM

Uživatelské nástroje

Nástroje pro tento web


2016:esp8266-alarm

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revize Předchozí verze
Následující verze
Předchozí verze
2016:esp8266-alarm [2017/01/15 11:20]
Luboš Tlustoš [Hardware]
2016:esp8266-alarm [2017/01/15 20:54] (aktuální)
Luboš Tlustoš [Závěr]
Řádek 19: Řádek 19:
 Obr. 3     ​Zapojení pinů u modulu s integrovanou anténou. Obr. 3     ​Zapojení pinů u modulu s integrovanou anténou.
  
-Resetovací signál je aktivní v logické nule a příslušný pin s označením RST musí být osazen externím pull-up odporem. Pin s označením CH_PD povoluje rádiovou komunikace a je aktivní v logické jedničce. Programování tohoto modulu probíhá přes sériovou komunikaci. Před samotným programováním je zapotřebí uvést modul do flashovacího režimu, toto se provede resetem při kterém je pin GPIO0 držen ve stavu logické nuly. Pro programování modu lze využít vývojové prostředí Arduino IDE. Dveřní alarm navržený v tomto projektu bude napájen bateriemi, proto je zapotřebí využít úsporný režim modulu. Dostupné úsporné režimy a jejich spotřeba je uvedena v tabulce.+Modul umí pracovat jako klient, server i AP. Resetovací signál je aktivní v logické nule a příslušný pin s označením RST musí být osazen externím pull-up odporem. Pin s označením CH_PD povoluje rádiovou komunikace a je aktivní v logické jedničce. Programování tohoto modulu probíhá přes sériovou komunikaci. Před samotným programováním je zapotřebí uvést modul do flashovacího režimu, toto se provede resetem při kterém je pin GPIO0 držen ve stavu logické nuly. Pro programování modu lze využít vývojové prostředí Arduino IDE. Dveřní alarm navržený v tomto projektu bude napájen bateriemi, proto je zapotřebí využít úsporný režim modulu. Dostupné úsporné režimy a jejich spotřeba je uvedena v tabulce.
  
 ^ Item           ^ Modem sleep     ^ Light sleep        ^ Deep sleep      ^ ^ Item           ^ Modem sleep     ^ Light sleep        ^ Deep sleep      ^
Řádek 41: Řádek 41:
  
 Obr. 4 Schéma zapojení. Obr. 4 Schéma zapojení.
 +
 +Na následujícím obrázku jsou průběhy napětí změřené na vstupu a výstupu detektoru náběžné hrany. Vstupem je jazýčkový kontakt umístěný na dveřích. Výstupní signál je veden přímo na pin RST.
  
 {{ :​2016:​wifi_alarm_s_esp8266:​kontakt.jpeg?​nolink |}} {{ :​2016:​wifi_alarm_s_esp8266:​kontakt.jpeg?​nolink |}}
Řádek 49: Řádek 51:
 ===== Software ===== ===== Software =====
  
 +Program pro mikroprocesor ESP8266 byl napsán ve vývojovém prostředí Arduino IDE a jsou v něm využity funkce knihovny ESP8266WiFi.h. Na samotném začátku programu je definováno jméno sítě a její heslo, dále je definován server ke kterému se modul bude připojovat a apiKey pro konkrétní Maker. Ve funkci setup() je nastavena komunikace UART a modul se pokusí připojit do sítě, pokud se připojení nezdaří do definovaného času, modul vypíše informaci o této situaci a přejde do hlubokého spánku. Pokud se připojení zdaří modul vypíše na UART IP adresu kterou obdržel z DHCP serveru. Ve funkci loop() se alarm pokusí navázat spojení se serverem, pokud se spojení na portu 80 nezdaří opět modul vypíše error a přejde do režimu spánku. V případě navázání spojení je vytvořen a odeslán POST požadavek. Po tomto odeslání se modul uspí a čeká na další reset, který je vytvořen otevřením dveří.
  
     #include <​ESP8266WiFi.h>​     #include <​ESP8266WiFi.h>​
Řádek 134: Řádek 137:
         ESP.deepSleep(0);​         ESP.deepSleep(0);​
     }     }
 +
 +Jak vypadá výpis alarmu na sériovou linku při bezchybné činnosti je vidět na následujícím obrázku.
  
 {{ :​2016:​wifi_alarm_s_esp8266:​terminal.png?​nolink |}} {{ :​2016:​wifi_alarm_s_esp8266:​terminal.png?​nolink |}}
  
 Obr. 6 Výpis do terminálu. Obr. 6 Výpis do terminálu.
 +
 +Jak mohou vypadat jednotlivé Applety na serveru IFTTT.com je vidět na následujícím obrázku.
 +
 +{{ :​2016:​wifi_alarm_s_esp8266:​ifttt.png?​nolink |}}
 +
 +Obr. 7 Applety na serveru IFTTT.
  
 ---- ----
 ===== Ukázkové video ===== ===== Ukázkové video =====
 +
 +Video s alarmem odesílajícím email.
 +{{ youtube>​ITOvel4OPCg?​medium }}
 +
 +Video s alarmem odesílajícím SMS.
 +{{ youtube>​KvaLJijYAmU?​medium }}
 +
 +Na videu je použit jazýčkový kontakt typu NO a proto obvod detekuje přiložení magnetu. Pro detekci vzdálení magnetu je třeba zapojení osadit kontaktem typu NC.
  
 ---- ----
  
 ===== Závěr ===== ===== Závěr =====
 +
 +V tomto projektu jsem se seznámil s obvodem ESP8266 a funkcemi serveru IFTTT.com. Dále jsem navrhl obvod pro dveřní alarm a napsal program pro mikroprocesor. Takovéto řešení alarmu není příliš spolehlivé,​ protože při výpadku síťového napájení routeru, nebo při jiném výpadku připojení k internetu je tento alarm nefunkční. Navíc zde není řešena možnost odpojení alarmu majitelem objektu, takže každý průchod je alarmem nahlášen. Zapojení je navrženo s ohledem na spotřebu, protože se jedná o bateriemi napájený obvod. Proudový odběr v režimu hlubokého spánku je kolem 400 µA, tuto spotřebu lze snížit odletováním PWR LED z modulu na pouhých 27 µA při zavřených dveřích a 40 µA při otevřených dveřích.
2016/esp8266-alarm.1484475657.txt.gz · Poslední úprava: 2017/01/15 11:20 autor: Luboš Tlustoš