紅外線感應器在PM2.5研習的材料包裡並沒有附,請自行上拍賣購買,搜尋關鍵字hc-sr501,一個大概30元
IFTTT官網 https://ifttt.com/
IFTTT就是IF This Then That的縮寫,我們這裡會用到MAKER與LINE兩個SERVICE
它的原理就是:如果(if)MAKER收到來自WEB的訊號(this)就(then)LINE通知(that)
01.首次註冊請選右上角的Sign up
02.接著填入你的email與自設一個密碼(不是信箱密碼),按下Sign up就完成了,也不需要到信箱做啟用的動作,十分簡單
03.登入後點選右上角自己的帳號,出現下拉選單再點選>>New Applet
04.點選+this,來指定第一個service
05.提供的服務太多,直接在搜尋的地方輸入關鍵字MAKER,會出現兩項,點選MAKER
06.英文說明,直接按下下方的Connect
07.點選事件觸發時機,這裡只有一個可選,Receive a web request
08.輸入一個自訂名稱,我把它取名為sensor_pir,好了按下Create trigger
09.點+that,指定第二個Service
10.在搜尋的地方輸入line,這次只出現一個,直接點選
11.跟之前的MAKER一樣,按下Connect
12.接著跳出視窗,要求輸入LINE綁定的信箱跟密碼,輸入完畢按登入
13.帳號密碼沒問題的話,按下同意並連動
14.連結LINE帳戶完成
15.LINE帳戶連結完成後會跳回Step 4 ,接下來的動作也只有一個可以選,就是發送訊息
16.訊息對象可發送給自己,或是發送給群組(需先將LINE Notify這個帳號加入該群組);訊息內容也可自訂參數,由網址傳遞過來;另外也可以傳送圖片
17.先把訊息改成如下,在實務上安裝感應器可能會有好幾組擺放在不同的位置,所以我們這裡把感應器的編號用{{value1}}來取代,(請注意預覽時它是顯示圓角標籤Value1),按下Create action
18.設定完成,按下下方的Finish
19.目前服務已經跑起來了(On),若要修改內容,點右上角的齒輪
20.最後要查出連接MAKER時的APIKEY是多少,先點右上角自己的帳號,出現下拉選單再點Serviecs
21.點Maker
22.點左上角齒輪Settings
23.下方URL最末段反白的這一串就是您的APIKEY,請先複製下來備用
程式很簡單,打開arduino軟體,複製下方程式碼,修改一下無線網路SSID與密碼,並替換掉你自己的APIKEY,若是第2組感應器,就把value1的值改一下,修改好就可以把程式碼上傳到ESP-01了,(詳細上傳步驟請參閱上一章)
#include <ESP8266WiFi.h> #define SSID "無線網路SSID" #define PASS "無線網路密碼" void setup() { pinMode(2,INPUT); WiFi.begin( SSID, PASS ); } void loop(){ if(digitalRead(2)==HIGH){ WiFiClientSecure client; if( !client.connect("maker.ifttt.com", 443 ) ) { return; } else { //第二組感應器就把value1=1改成value1=2 String getStr_line = "GET /trigger/sensor_pir/with/key/本段文字替換成您的?value1=1 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(); } delay(5000); } }
請注意ESP-01電源是接到3.3V,紅外線感應器的電源是接到5V,別接錯了
接好線路插上變壓器,當紅外線感應器有偵測到動靜時,手機應該馬上就可以收到LINE的通知了