最近開始半路出家玩硬體,先後買了一個Arduino,後來又買了一塊Raspberry Pi。
Arduino是一個單晶片的板子,而且有一個不錯的SDK。所以非常適合以前沒接觸過硬體的人快速上手。
只要會寫C語言,稍微google爬個文就會Arduino的簡單操作了。
Raspberry Pi是一個可以跑linux的嵌入式系統,ARM架構。
IO部分:有兩個USB port,可以接鍵盤、滑鼠、web cam以及USB無線網卡。
顯示:有一個接電視那種黃色VGA端子,以及HDMI
網路:RJ45 ethernet
storage:SD卡插槽
基本上把它當一台小電腦玩就對了。
最近因為懶惰,睡前想在床上玩iPad又不想下床關燈,因此有了用手機或平板關燈的想法。
因此陸陸續續入手了上面提到的那些小玩具。
接下來這篇文章要講的是,如何自己搞一個用手機控制電燈的小東西。
食材清單如下(誤)
1. Raspberry Pi
2. 電子零件(下面會寫需要哪些零件)
3. 手機一台
4. 檯燈
5. 延長線(解剖用)
所謂延長線,是長這樣子的東西
不一定要買一樣的,只是等一下你看了電路圖就知道為什麼要這樣接。
接下來就是大鍋炒了XD
概念圖如下
我們用Raspberry Pi當做一台中控主機,然後控制某個開關。
然後再把電燈插在那個開關上,這樣Raspberry Pi只要可以控制開關的狀態,就能控制電燈了。
至於手機部分,就想辦法送控制訊息給Raspberry Pi就打完收工。
夠簡單吧XD
現在的問題有:
1. 開關怎麼做?
2. 手機怎麼控制Raspberry Pi?
第一個問題,牽涉到簡單的電路設計。
你必須去買一些電子零件:100歐姆電阻幾個、5V繼電器一個、線材一些、SS9013電晶體一棵、二極體一棵(1N4001或1N4007)
然後依照下面的電路圖把它拼起來。
在經過好一陣子的拼阿拼、插阿插的,終於完成了RelayBox
接好之後,有幾個地方是要接到Raspberry Pi
看到了排針沒有?
綠色框起來的地方,要接到Raspberry Pi的某個GPIO腳位 (我的例子是GPIO 7)
紫色框起來上面+5V要接到Pi的+5V
紫色下面接地跟紫色左下負級,都要接Pi的GND
可是排針那麼多隻,我哪知道接哪一隻?
問這種問題,請去RTFM...
沒啦XD
把Pi放在桌上,Ethernet跟USB在左邊、電源跟SD卡插槽在右邊的狀況下(上圖)
右上角是3.3V,左下角是GPIO7...
對照下圖,你只要把下圖順時針旋轉90度就對的起來了。
到這邊,開關與硬體配置部分就完成了!!
接下來,第二個問題...
手機怎麼控制Pi?
很簡單!用軟體控制(廢話)
兩個步驟
1. 在Raspberry Pi上面裝WebIOPi軟體
這個軟體提供web base的GPIO腳位控制,也提供REST的web service
怎麼安裝?ssh進Pi後,下面指令打就好
$ wget https://webiopi.googlecode.com/files/WebIOPi-0.6.0.tar.gz $ tar -zxvf WebIOPi-0.6.0.tar.gz $ cd WebIOPi-0.6.0/ $ sudo ./setup.sh $ cd /etc/webiopi/ $ sudo rm passwd $ sudo /etc/init.d/webiopi restart
2. 寫一個手機App,然後call web service去控制GPIO的狀態
App怎麼寫?這個就不要問我了XD
不過或許可以到我的GitHub撈看看有沒有相關的東西
就這樣。夠簡單吧XD
沒有留言:
張貼留言