:::
PM2.5空污監測器實作

幫PM2.5偵測器加上LINE通知

discuss pic 2016-12-03 08:03:33
先註冊line notify跟IFTTT,然後在IFTTT上開通2項服務MAKER跟LINE,
IFTTT就是IF This Then That的縮寫,
它的原理就是:如果(if)MAKER收到PM25的訊號(this)就(then)LINE通知(that)

詳細申請與設定步驟可參考網路文章 http://k12cc.tw/tools/page/show_page. ... dZq%2Farticle_qsXqz6.html

MAKER在設定好後,會得到一組APIKEY,與自訂的啟動指令,跟資訊中心提供的資料庫介接方法很類似,
以GET或POST把這串帶有APIKEY與自訂指令的網址送出後,MAKER收到就會啟動LINE通知,
不過上面的教學大章使用的是scratch,要送出https的網址比較簡單,我們的ESP8266就複雜一些,得再修改一下原本的程式碼

MAKER是以https接收,所以多引入一個#include <WiFiClientSecure.h>
接著仿照原本程式30分鐘傳回資訊中心資料庫的寫法,
多設一組計時器,把時間間隔加大到1小時或更久,才不會空氣品質不好時,LINE半小時就叮咚一次
<pre>
  if(abs( millis() - updateStart2) > updateInterval2 && T>=54 ) { 
   
   WiFiClientSecure client;
    if( !client.connect("maker.ifttt.com", 443 ) )
    {
         return;
    }
    else
    {
        String getStr_line = "GET /trigger/自訂指令/with/key/MAKER的APYKEY  HTTP/1.1\r\n";
        client.print( getStr_line );
        client.print( "Host: maker.ifttt.com\n" );
        client.print( "Connection: close\r\n\r\n" );
        client.stop();
        updateStart2 = millis();    
        }  
   }
</pre>

把修改好的程式碼再燒錄回ESP8266,
資訊中心已有提供貼紙,產生貼紙時會自動去抓取資料庫裡最新的一筆資料,
我覺得這超讚的,在送回MAKER的資料就不用加上PM2.5的數據了
直接在LINE通知的貼圖填入網址
這樣就大功告成了