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