2016年4月20日 星期三

Cayenne 雲端網路新增 Trigger 觸發器

 

常見的控制溫度專題,使用溫度感測器元件(例如DS18B20),取得溫度值,然後由GPIO控制輸出裝置(例如LED、繼電器、喇叭....)  ,在程式內設定控制邏輯,例如大於40度就要點亮LED燈(或是啟動繼電器),小於35度就關閉LED燈。

以往這樣的專題,必須突破重重難關才能完成,如果初學者想要快速達成這樣的功能,先有初步的體驗,感受一下 IoT 的強大威力,學習者將會更有動機學習完整的程式技術。使用 Cayenne 雲端網路可以快速完成這樣的專題設計。

登入網站  http://www.cayenne-mydevices.com/signin ,輸入之前註冊的帳號密碼,連線進入 Cayenna雲端網路

新增觸發事件
點選Add New -> Trigger 新增觸發器
將左側面版上的 Raspberry Pi物件,用滑鼠拖拉到右側 if 條件區域
同時選擇對應觸發的設備—DS18B20
image_thumb[11]

  設定觸發條件: 當DS18B20偵測到的溫度值大於40度,就要執行then區塊所指定的工作
image_thumb[13]

在右側面板以滑鼠拖拉Raspberry Pi物件,放到右側then區塊,

因為之前已經新增過一個用來控制 pin12 接腳(GPIO18)的LED燈的Digital Output設備,所以在右側 [Select Action] 就會看到 Digital Output設備,請選取Digital Output設備

image_thumb[16]

將這個觸發器命名為 overheated
同時指定Digital Output要輸出ON[1]的訊號,也就是點亮連接的LED燈 image_thumb[18]

存檔完畢後,在My Triggers項目下,看到新建的Overheated觸發器。
規則是: 每當DS18B20檢測溫度超過40度,就會將連接到 pin6 的LED點亮,
image_thumb[20]
接著拿吹風機(或其他熱源)對著DS18B20吹,使溫度升高,當溫度超過40度就會看到LED燈同時點亮。

由上圖可看到這個 trigger 已經被觸發兩次,最後一次觸發的時間是 4月17日

 

不過這個觸發器只能控制LED點亮,
如果想要在溫度低於35度也能熄滅LED,只要以相同的步驟,再新增一個觸發器就可以了。例如下圖增加一個名為 [normal temperature]的觸發器 ,規則如下:

clip_image061_thumb[3]

設計完成,每當溫度超過40度,LED點亮;如果溫度回降到35度以下,LED就會熄滅
clip_image063_thumb[1]

沒有留言:

張貼留言