常見的控制溫度專題,使用溫度感測器元件(例如DS18B20),取得溫度值,然後由GPIO控制輸出裝置(例如LED、繼電器、喇叭....) ,在程式內設定控制邏輯,例如大於40度就要點亮LED燈(或是啟動繼電器),小於35度就關閉LED燈。
以往這樣的專題,必須突破重重難關才能完成,如果初學者想要快速達成這樣的功能,先有初步的體驗,感受一下 IoT 的強大威力,學習者將會更有動機學習完整的程式技術。使用 Cayenne 雲端網路可以快速完成這樣的專題設計。
登入網站 http://www.cayenne-mydevices.com/signin ,輸入之前註冊的帳號密碼,連線進入 Cayenna雲端網路
新增觸發事件
點選Add New -> Trigger 新增觸發器
將左側面版上的 Raspberry Pi物件,用滑鼠拖拉到右側 if 條件區域
同時選擇對應觸發的設備—DS18B20
設定觸發條件: 當DS18B20偵測到的溫度值大於40度,就要執行then區塊所指定的工作
在右側面板以滑鼠拖拉Raspberry Pi物件,放到右側then區塊,
因為之前已經新增過一個用來控制 pin12 接腳(GPIO18)的LED燈的Digital Output設備,所以在右側 [Select Action] 就會看到 Digital Output設備,請選取Digital Output設備
將這個觸發器命名為 overheated
同時指定Digital Output要輸出ON[1]的訊號,也就是點亮連接的LED燈
存檔完畢後,在My Triggers項目下,看到新建的Overheated觸發器。
規則是: 每當DS18B20檢測溫度超過40度,就會將連接到 pin6 的LED點亮,
接著拿吹風機(或其他熱源)對著DS18B20吹,使溫度升高,當溫度超過40度就會看到LED燈同時點亮。
由上圖可看到這個 trigger 已經被觸發兩次,最後一次觸發的時間是 4月17日
不過這個觸發器只能控制LED點亮,
如果想要在溫度低於35度也能熄滅LED,只要以相同的步驟,再新增一個觸發器就可以了。例如下圖增加一個名為 [normal temperature]的觸發器 ,規則如下: