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