4
你聽說過IFTTT嗎?IFTTT是一項基于互聯(lián)網(wǎng)的方便易用的觸發(fā)式服務,雷鋒網(wǎng)之前已經(jīng)有過詳細介紹,詳情看這里。
幾年來,IFTTT所涵蓋的范圍和提供的服務都原來越多了,像是同步微博和Twitter、自動備份相冊等等;另外,IFTTT還在積極向物聯(lián)網(wǎng)領域拓展,硬件套件供應商Spark和Adafruit.等都針對IFTTT的API開發(fā)了自己的接口應用。
下面就是Adafruit網(wǎng)站上公布的一個基于IFTTT的應用:開門自動報警系統(tǒng)。接下來我們就來詳細了解整個制作過程吧。
首先是硬件配置;要完成這個項目,首先你需要一個Adafruit HUZZAH ESP8266微控制器板(支持WiFi)和一個可以檢測開關門的傳感器。另外必須的組件包括一些電阻和供電電池。
如果一直保持ESP8266的開啟,那么長時間來看其能耗也是相當高的。為了充分延長電池壽命,可以將ESP8266設置在低功耗模式,每幾秒鐘喚醒一次對傳感器信號進行檢測即可。實現(xiàn)這個功能的方式也很簡單,只要將板上GPIO的16腳和RST連接起來就行了。
另外ESP8266的ADC的最大限制電壓為1.0V,所以需要對4.2V電池進行分壓。接線示意圖如下所示:
Pin 16連接RST
Pin 13連接檢測門開關的傳感器的一腳
GND連接門傳感器另一腳、電池-極、220kΩ
VBat連接電池+極和1MΩ電阻
220kΩ和1MΩ電阻另外的腳連接在一起,同時與板上A口相連
硬件部分的工作就是這么多,接下來就該設置Adafruit IO口了。首先,你需要在Adafruit IO上申請Adafruit IO Key(密鑰),這樣才能通過Adafruit的服務接入IFTTT。你所申請的密鑰大概是這個樣子:
獲得密鑰之后,繼續(xù)在上面創(chuàng)建Feed(反饋):battery和door,之后這些Feed就將作為其它相關應用(IFTTT)的觸發(fā)入口。
接下來在你的計算機上配置好開發(fā)環(huán)境之后,下載Arduino Sketch,首先你需要對其中一些文件進行簡單的編輯。
1、修改trigger.ino文件中的密鑰和網(wǎng)絡接入信息,將WLAN_SSID(WiFi名)、WLAN_PASS(WiFi密碼)和AIO_KEY(前面申請的密鑰)的參數(shù)設置成你自己對應的參數(shù)。
2、默認情況下,該程序會每5分鐘向Adafruit IO發(fā)送一次電池狀態(tài)信息,并且每3秒就檢查一次門的狀態(tài)。你可以根據(jù)自己的需要對BATTERY_INTERVAL 和SLEEP_LENGTH兩個常量進行定義。
其它的地方保持不變即可。接下來將修改好的文件通過FTDI或其它串行端口上傳到ESP8266。
登陸adafruit.io賬號,查看door的Feed,你應該會看到類似的信息,表示設置成功了。每隔5分鐘,battery應該還會有電池狀態(tài)的檢測信息。
接下來配置IFTTT賬號,這個就比較簡單了。
注冊IFTTT之后首先將IFTTT與Adafruit Channel進行綁定。之后就可以將你設置Adafruit ESP8266的Feed作為IFTTT的觸發(fā)器使用了。
當然,首先你需要將以上做好的硬件部分安裝到門上。當門被開啟時,會有一個Feed觸發(fā)傳輸?shù)絀FTTT中,你可以會這個觸發(fā)設置相應的動作方式,比如:發(fā)送一份郵件、一條微博,甚至還可以通過其它支持IFTTT的組件實現(xiàn)鳴笛報警功能。
想了解更多創(chuàng)意?趕緊關注硬創(chuàng)邦微信(leiphone_bang)吧,每天都有新花樣。
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權禁止轉載。詳情見轉載須知。