3
編者注:本項目編譯自創(chuàng)客James Wolf的博客文章Sparkcore Smart Garage。在本文中,James將帶領(lǐng)我們一道打造一個利用智能手表控制車庫大門的裝置。硬創(chuàng)邦對文章有適當(dāng)編輯。
不管你喜不喜歡,智能手表確實正在慢慢普及,但你想過沒有,也許除了看時間、當(dāng)鬧鐘和震動提醒之外,作為物聯(lián)網(wǎng)未來的一部分,智能手表應(yīng)該有更大用途。如果你已經(jīng)等不及商家推出更強大的功能了,來看看這個利用智能手表Pebble和Sparkcore 微控制器來打造智能車庫的項目吧。只要你在有網(wǎng)絡(luò)連接的地方,就可以用Pebble輕松實現(xiàn)車庫門的開關(guān)。Pebble應(yīng)用寫在Pebble.js中,它可以在按鈕按下時執(zhí)行一個Ajax請求。Sparkcore是一個類似于Arduino的微控制器,只是額外有一個帶有RESTful接口的板載WiFi,可以輕松處理來自Pebble的Ajax請求。
關(guān)于項目的代碼、制作說明和走線圖解的更多細節(jié),你可以在原作者James Wolf的博客上找到。
事實上,我之前已經(jīng)用Arduino做好了一個物聯(lián)網(wǎng)車庫門控制裝置,但可靠性方面還有一些問題。
所以我決定換些新的東西試試:由Spark.io推出的Sparkcore。Sparkcore對這個項目來說是完美的,使用它,你不需要再糾結(jié)于系統(tǒng)的穩(wěn)定性,從而使你能更專注于你的應(yīng)用代碼,只要有電和合適的證書,它就會一直保持連接。
我添加了一個I2C OLED來顯示車庫門的狀態(tài),以及一個LCC120 數(shù)字繼電器來模擬按下車庫大門的按鈕。另外,設(shè)備的電力由我先前塞入墻壁里的一個手機USB電源提供。
我將RGB LED上普通的青藍色指示燈調(diào)成了極暗的綠色。一旦設(shè)備失去了云連接能力,指示燈就會變成紅色。不過我只見過一次它變紅了,那次是因為路由器重啟了。其它的時間,它都以深綠色告訴我WiFi在正常工作。
我為Sparkcore做了一個定制線路板,這個定制板可以連接OLED、Reed傳感器以及用作車庫門按鈕的數(shù)字繼電器。Reed傳感器是一種在門窗打開時會發(fā)出信號的傳感器。
我在我的智能車庫和門之間裝上了電線,這樣,Sparkcore就能及時知道門是開著還是關(guān)著。Reed開關(guān)用一個3.3V的電線連接到一個模擬輸入引腳,然后將這個引腳設(shè)置成一個數(shù)字輸入。這樣一來,我就能通過這個引腳知道門是開還是關(guān)(1或者0)。
線路圖設(shè)計。
做出電路板,可以看到上面的路徑。
那個數(shù)字繼電器讓我不用將Sparkcore直接連接在車庫門的電路上,就可以仿真按鈕按下的狀態(tài)。當(dāng)然,你也可以使用一個光隔離器來實現(xiàn)類似的功能。應(yīng)用在繼電器2個引腳上的電力連接了車庫門上按鈕的2個引腳。另外2個螺絲接線端用于連接Reed開關(guān)和A0引腳(用作一個數(shù)字輸入)和3V。
圖片里,我將Sparkcore和OLED屏幕、LCC120 數(shù)字繼電器,以及一捆傳感器和LED連接器連接在一起。如果你要自己制作一個,圖片里列出了每一個零件的所有引腳,我也盡可能地用顏色編碼了電線,利用上面這三個圖,你應(yīng)該可以明白焊接的電線和線路。
我用Pebble Steel智能手表對車庫大門進行遠程操控以及檢測它的開關(guān)狀態(tài)。我用JavaScript編寫了一個快速應(yīng)用,這個應(yīng)用可以查詢車庫門的狀態(tài)(利用Sparkcore的RESTful服務(wù))。因為Pebble可以執(zhí)行JavaScript應(yīng)用,所以當(dāng)車庫門的按鈕按下時,可以輕松的發(fā)出一個Ajax請求。
當(dāng)我按下中間的按鈕時,它會給Sparkcore發(fā)送一個安全指令詢問門的狀態(tài)。你可以按下按鈕來開關(guān)門(向上或者向下?lián)軇影粹o)。因為Pebble應(yīng)用程序和Sparkcore是通過設(shè)備ID以及Pebble應(yīng)用程序中內(nèi)置的AuthorToken連接在一起的,所以他們具有一對一的關(guān)系。
在這個項目里,Pebble 智能手表其實并不是必需的。你也可以用一個網(wǎng)絡(luò)應(yīng)用程序來執(zhí)行“開門”的命令。RESTful的界面暗示其實任何設(shè)備或者應(yīng)用程序(比如一個智能手機的應(yīng)用程序)都可以執(zhí)行一個操控車庫門的HTTP請求。我只是覺得Pebble是一個很好的附加產(chǎn)品,而且我本來已經(jīng)有了一個Pebble智能手表,我想試試它是否可以整合在一個應(yīng)用程序中。
運行在Sparkcore上的智能車庫模塊的代碼點這里。
測試中……
Pebble.js 代碼可以在Pebble 智能手表上運行。你只需要將設(shè)備ID和訪問口令轉(zhuǎn)換成你的賬戶,你可以在CloudPebble.com上輕松實現(xiàn)。
代碼是開源的,所有人都可以自由使用。你可以隨意根據(jù)自己的項目或者設(shè)計對它進行調(diào)整。如果你要使用這個代碼,只需要寫明我的版權(quán)即可,也請你發(fā)給我一個你的項目的鏈接。
我在SketchUp里設(shè)計了智能車庫中可以3D打印的三個部分,這樣任何人都可以利用3D打印出這個項目里的這些部分(相關(guān)文件點擊這里下載)。第一部分是主要部分,它搭載了電路、OLED和Sparkcore;PCB跟USB接口點恰當(dāng)?shù)厍舵i在里面;屏幕則被架置在頂部;前控制面板的標簽恰好放置在OLED托槽的后面;整個帶有前控制面板的這個主要部分應(yīng)該用鉚釘鑲嵌在墻壁里面。
一切準備就緒之后,按如下視頻安裝各個組件。
接下來就是測試時間了。
2015-2016賽季全球創(chuàng)客馬拉松華南農(nóng)大站已經(jīng)開賽啦!只要你的創(chuàng)意夠新穎、動手能力夠強都可以來參加。還在等什么,快來參加吧!關(guān)注“硬創(chuàng)邦”(微信號:leiphone_bang),回復(fù)“華農(nóng)”即可參與報名!
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。