Smart Science IOT:Kit物聯網科學套件_使用IoT:kit透過ThingSpeak和IFTTT發出光線強度警報|奧斯丁國際有限公司 OURSTEAM Internationl
icon教學資源
2021/01/07

Smart Science IOT:Kit物聯網科學套件_使用IoT:kit透過ThingSpeak和IFTTT發出光線強度警報

將IoT:kit收集的數據上傳到ThingSpeak IoT平台
 
使用IoT:kit透過ThingSpeak和IFTTT發出光線強度警報

在Micro:bit數據傳送到ThingSpeak IoT Platform的文章中,已討論了如何使用micro:bit將數據上傳到Thingspeak IoT平台。
因此本文將討論如何使用IFTTT發送micro:bit光線強度閾值警報的電子郵件。

什麼是IFTTT?

IFTTT的英文為:「IF This, Then That」,意思是:「如果發生了This(觸發條件),那麼就執行That(反應)」。
透過這個服務,我們能將許多各自獨立的網路服務(例如:信箱、LINE、雲端硬碟等),透過IFTTT平台串聯起來。

要使用IFTTT必須建立事件(Event),以及事件(Event)的This(觸發條件)That(反應)
以IoT Kit物聯網套件組來說,能夠觸發IFTTT服務便是使用Webhooks
Webhooks是透過HTTP向IFTTT發送要求的一種方法,當IFTTT接收到Webhooks後,
就會觸發設定好的That(反應)。我們可以藉由在IFTTT上設定,使它幫我們完成想要觸發的反應。

例如:透過IoT Kit物聯網套件組蒐集到的數據(光線感測值)
利用IFTTT x Webhooks服務設定觸發條件(當光線感測值超過40時)>>This(觸發條件)
引起指定的網路服務做出反應(透過Email發送通知)>>That(反應)



註冊IFTTT帳戶

請先登入IFTTT。如果您還沒有帳戶,請先前往註冊。近到網站後,請點擊右上角的Get started。



提供三種方式進行註冊,依個人需求選擇。以下就「Continue with Google」來做示範。



輸入您的電子郵件及該電子郵件的密碼。




即可完成註冊。



IFTTT 建立觸發事件_傳送電子郵件通知

按下右上角的 Create。



點選 If This,建立觸發事件的This。


IFTTT Webhooks設定

輸入「webhooks」以搜尋觸發程式,點選該圖案。




點選「Receive a web~」整段文字區塊。


命名此事件,例如:「light_alarm」。接著按下「Create trigger」。


完成「This」,接著要設定That,請點選下方That圖示。


搜尋「Email」,點選該圖案。


點選「Send me an email」整段文字區塊。


接著點選「Connect」。​


輸入「電子信箱」,按下Send PIN。


到信箱確認IFTTT寄出的「Email service connection PIN」,並回到網頁輸入PIN碼,按下Connect。

按下Create action。


完成「That」的設定,按下Continue。


再次檢查自己的電子信箱是否正確,接著按下Finish。


設定成功!


點選右上角圖像,再點選My services。


選擇「Webhooks」。


點擊右上角「Documentation」。


IFTTT_Webhooks測試

1.輸入您於Webhooks創建的事件名稱,例如:「light_alarm」。
2.可於value 1-3內輸入測試的數值,例如分別輸入:1, 2, 3。
3.按下「Test It」並前往您的信箱確認是否收到信件。



IFTTT_成功收到測試信件

請到信箱確認是否收到此信件:
信件主旨:「The event named "light_alarm" occurred on the Maker Webhooks service」
信件內容:依據您上一步輸入的資訊。



測試成功後,請回到剛才測試Webhooks的頁面,在您輸入於Webhooks創建的事件名稱後,頁面會自動產生網址,這是Web請求的連結,在下一步於ThingSpeak創建ThingHTTP的步驟中,需要將它貼上到URL處,請先複製起來。

 
 
設定Thingspeak

在執行以下操作前,請先將數據從micro:bit上傳到Thingspeak,若不確定怎麼操作,請先前往Smart Science IOT:Kit物聯網科學套件_雲端平台四部曲 x 第一部學習。

建立ThingHTTP服務

回到ThingSpeak平台,點選「Apps」的「ThingHTTP」按下New ThingHTTP。



建立ThingHTTP與IFTTT的連接設定

※Name:自訂名稱(可與Webhooks設定的事件名稱相同,方便辨識)。
※URL:貼上剛才於Webhooks所複製的網址,網址尋找方式:從IFTTT>>點選頭像>>My Service>>Webhooks>>Documentation,請於第一行空格輸入您創建的事件名稱後,複製產生的網址。
※Method:選擇POST、※Content Type:輸入application/json



※Body:請修改下方語句的Channel ID後再輸入(需全為小寫),輸入後請按下Save ThingHTTP。
{"value1":"%%channel_1403735_field_1%%"}
※channel ID尋找方式:從ThingSpeak>>Channels>>My Channels
完成需輸入的所有項目按下並Save ThingHTTP。   



※補充說明:Body格式從哪找?
1.在ThingSpeak的ThingHTTP中,點選右側的Learn More,會連結到Help Center網址。



2.依據下圖紅框中的格式來做修改,例如:{"value1":"%%channel_1403735_field_1%%"}
請留意{"value1":"及"}為固定格式,需輸入。



完成編輯。


ThingSpeak_建立React

在ThingSpeak平台,點選「Apps」的「React」,按下New React。建立React能使IFTTT依您所設定的條件進行通知。請注意:一個React只能設定一個Field的條件。


※React Name:自訂名稱(可與ThingHTTP設定的名稱相同,方便辨識)。
※Condition Type:選擇Numeric(數字)。
※Condition:從「If channel」、「field」選擇您要的項目。並可透過下拉選單自行設定判斷條件及輸入數值(您的偵測數值可以在ThingSpeak的Private View查看)。
※Action:「then perform ThingHTTP」,當不只建立一個ThingHTTP時,請記得選擇對應的。
※Options:建議選擇下方選項,設定當每一次符合條件時都會收到通知。完成所有設定後,按下Save React。

 
有關React APP更多的詳細資訊,請參閱
https://ww2.mathworks.cn/help/thingspeak/react-app.html


IFTTT_成功收到通知信件

假設我們所寫的程式是:使micro:bit持續將光線感測器偵測到的光線強度上傳到ThingSpeak。
現在請依照上一步在※Condition您所設定的條件,對光線感測器進行測試。
例如:於上一步在※Condition設定「is greater than 40」,利用手電筒來照感測器,使數值升高以達到所設定的觸發條件,看看能否成功收到通知信件。
完成測試後請到信箱確認是否收到此信件主旨:「The event named "您的事件名稱" occurred on the Maker Webhooks service」。





根據信件可以看到當數值超過我們所設定的條件時,就會收到來自IFTTT的通知信件。
 


IFTTT 建立觸發事件_傳送LINE通知

IFTTT_設定LINE連動
請依照上方示範設定Email通知的方式,建立觸發事件This,接著設定Webhooks為觸發程式並命名事件,將That的服務設定為LINE。



點選「Send message 」整段文字區塊。


接著點選「Connect」。


輸入您的LINE帳號密碼。


點選「同意並連動」。


 於您的LINE上確認是否成功連動。


按下「Create action」。


按下Continue。


點一下使圓圈往右滑,以打開通知。再按下Finish。  


點一下使圓圈往右滑,以打開通知。


點選右上角圖像,再點選My services。


點選「Webhooks」。


IFTTT_完成LINE連動設定

1.當完成LINE連動設定,可以在此畫面看到所創立的事件名稱。事件右下角會有圖示可以區別是連動到信箱還是LINE(黃框處)。
2.接著點選右上角的「Documentation」。



IFTTT_Webhooks測試

1.輸入您於Webhooks創建的事件名稱,例如:「light_alarm2」。
2.可於value 1-3內輸入測試的數值,例如分別輸入:1, 2, 3。
3.按下Test It並前往您的LINE確認是否收到LINE通知。




IFTTT_成功收到測試LINE通知

到LINE確認是否收到下圖中的訊息:
請留意:雖然這封測試訊息不會顯示您的事件名稱,但於上一步仍須輸入您於Webhooks創建的事件名稱,才能夠成功連動並收到通知。



測試後請回到IFTTT_Webhooks,確認輸入您於Webhooks創建的事件名稱後,請複製此網址連結。
在下一步於ThingSpeak創建ThingHTTP的步驟中,需要將它貼上到URL處。



接下來請前往ThingSpeak平台,建立「ThingHTTP服務」,接著再建立「React」,這兩個步驟在上方示範設定Email通知時,已有詳細教學,請以相同方式來設定即可。

IFTTT_成功收到LINE通知

請依照上一步在※Condition您所設定的條件,對感測器進行測試。
例如:這邊我們使用的是光線感測器,於上一步在※Condition設定「is greater than 40」,於是利用手電筒來照感測器,使數值升高以達到所設定的觸發條件,看看能否成功收到LINE通知(如下圖)。



IFTTT_調整LINE通知的文字內容

點選與LINE連動的項目(可透過事件名稱或右下角黃框處LINE的圖案來辨識)。


按下右上角的「Settings」。


點選「Then」。


可以在此編輯頁面設定IFTTT傳送到LINE的訊息內容。
「Recipient」:預設為傳送到LINE Notify,不須修改。
「Message」:這邊的設定會決定LINE出現的訊息內容。
*當點擊Value1,其顯示狀態會變成{{Value1}},它在LINE上顯示的會是我們於ThingSpeak設定的Field1。(Field1就是透過micro:bit與感測器收集到的數值)。
*而br代表換行。這兩個項目(紅框、橘框)不需修改。
*要編輯的地方是前方的Value 1:、Value 2:、Value 3:。可以將它替換成您想要的文字敘述。




編輯後,按下Update action。  


再按下Update,完成設定。 


當達到觸發條件時,LINE將以自行撰寫的訊息內容通知數值。

 
使用IoT和Excel讓日期視覺化

 
logo
iconiconiconiconicon
icon  電話:04-2375-3535
icon  傳真:04-2256-9949
icon  統編:90386785
icon  E-mail:service@oursteam.com.tw
icon  LINE ID:@oursteam
Inspire every child to create