(這篇的完整進度可以在這裡看到: https://www.gitbook.com/book/kuochunchang/-make-a-dryer-controller/details)
前一陣子用了多年的烘衣機壞了,原本想修理一下繼續使用,不過考量安全問題,還是買了台新的。但是新機器在使用上有一點不便利之處,尤其是依據設定的烘乾時間結束之後,有時衣服還是溼的;不然就是設定的時間過長以至於浪費了許多電力。這次打算使用LinkIt One來做一個裝置,可以在烘衣機上先設定一定足夠烘乾衣服的時間,但當衣服已經烘好時,提前結束烘乾的行程以節省電力。
這次要運用LinkIt One現成的範例來修改,以迭代(iterate)的方式進行,並儘量減少程式碼(雖然我喜歡寫程式),逐步建構出一個「外掛」的烘衣機控制裝置。雖然直接取代原本的定時開關感覺比較厲害,但仍以不拆開機器為原則,先完成這個版本。
在學習各種開發板的使用時,溫溼度計、繼電器...是常看到的範例,有趣的是這些範例可以用在這裡做出一個有用的裝置的!
以下分享一下使用LinkIt One搭配 MediaTek Cloud Sandbox (MCS) 以及我邊做邊學的過程!在這篇會使用到:
* 在 LinkIt One 使用溫溼度感應器
* 透過 WiFi 連上網路
* 運用 MediaTek Cloud Sandbox
* 透過 RESTFul API 傳送、取得資料
想法
在衣服烘乾的過程中,烘乾機所排出的空氣溼度應該會逐漸降低,直到持續在一個溼度不再降低時,應該就是已經烘好了(這是一個假設),此時就可以切斷烘乾機的電源。
先用 LinkIt One上實作一個雛型並測試,試看看這個概念是否可行,然後做出一個實用的裝置。步驟如下:
* 步驟 1:使用 LinkIt One + Grove - Temperature & Humidity Sensor Pro 偵測溫、溼度。
* 步驟 2:讓LinkIt One連接 WiFi,將溫溼度數據傳送到MCS,觀察自開始烘乾到結束時溫溼度的變化,以確認烘衣機排氣的溼度可以用來決定是否提前關閉烘衣機。MCS在這個階段的主要任務是紀錄資料,然後運用這些資料驗證可行性。
* 步驟 3:若驗證上述方式是可行的,開始規劃程式,並加入繼電器用來控制電源。
* 步驟 4:藉著這個裝置可以上網的能力,增加更多功能:例如即時通知、耗電量統計...
動手做
1. 準備開發環境:
- 設定方式可以參考葉難老師的說明。
- 我的環境是Windows 8.1安裝在VertualBox上面,USB Driver安裝一直有問題。後來又下載了mediatek_linkit_windows-com-port-driver.zip 。在安裝之後,仍然未能解決。只好在裝置管理員中,手動將driver指向C:Program Files (x86)MediaTekMediaTek inbox_COM_Driverdriverv1.1032.1 之後才正常了。
- 本文實作的環境是 Arduino 1.5.7 + MediaTek LinkIt ONE SDK 1.1.05 (for Arduino)
2. 使用溫溼度感測器 - 直接使用範例程式
使用 Grove Starter Kit,連麵包板都省了!
首先,找來
Grove Starter Kit for LinkIt ONE 的程式範例,可以將這整包下載,解壓縮後複製到Arduino IDE安裝路徑下的example裏面,接著就可以方便地運用了。
只需不到短短一分鐘...
輸入您的信箱與ID註冊即可享有一切福利!
會員福利
免費電子報
會員搶先看
主題訂閱
好文收藏