本課程將分步指導您如何製作一個智慧傘架。
這是我最喜歡的Raspberry Pi 項目之一。它採用了Dexter Industries生產的配有GrovePi擴展板的Respberry Pi模型,以及超聲感測器、蜂鳴器和LED模組。對於該專案,我們將使用自訂的Raspbian磁片鏡像,並在最新的“Jessie”版本上運行。
本課程的目的是演示一個可運行的專案原型,並且向您講解對設計進行測試與修改時所需的步驟,以最佳化並實現一個適合您的解決方案。
硬體
軟體
工具
從概念的產生到實踐部署,一個專案的研發包含許多個步驟。
我似乎總是早上拖得太晚出門以至於沒有時間查看天氣,導致每次都很快沖出去,卻沒有意識到是否需要帶一把雨傘。所以我一直想要做的Raspberry Pi 項目之一就是製作一個智慧傘架,這個傘架可以為我查看天氣並且提醒我是否會下雨。
使用Weather Station API研發者金鑰,一個python腳本就會獲得我所在城市的氣象站並回饋關於下雨可能性大小的查詢結果。如果下雨的可能性超過我所設定的閾值,我出門前需要拿一把雨傘,那麼在傘架上的LED燈會閃爍,以在我經過時傳遞音訊訊號。
該設計原型使用有Dexter Industries 生產的GrovePi 擴展板來對Raspberry Pi GPIO引腳進行管理控制。我喜歡使用這種擴展板,因為它具有隨插即用的設計,同時,Dexter Industries的改良版Raspbian磁片映射具有大量的故障排除工具,這些工具在測試階段會派上用場。
設定磁片映射(PC)
下載2016.04.25_Dexter_Industries_jessie.zip Disk Image並將它解壓到您的硬碟上。
格式化8GB SD卡。 我使用SD Formatter v4。
將下載的磁片映射寫入SD卡。我使用Win32 Disk Imager。
A. 組裝Rapberry Pi 和 GrovePi GPIO 擴展板
1) 將GrovePi與Raspberry Pi Model B上的28個GPIO引腳對齊貼合。它們的引腳很匹配,只需要稍微用點力就能裝上。
圖1:RapberryPi 和GrovePi GPIO 擴展板 (分開)
圖2: RapberryPi 和GrovePi GPIO 擴展板 (結合)
B. RaspberryPi 的啟動和更新
1) Raspberry Pi系統可直接進入Dexter Industries GUI介面。
2) 點擊“WiFi Setup”圖示來連接到您的本地路由器和網路。
3) 點擊“DI Software Update”圖示啟動。
4) 在下拉式功能表中選擇GrovePi,然後按照以下順序來進行更新:
i) Hardware Firmware
ii) Raspbian
iii) Dexter Software
5) 系統將在完成後要求重新啟動
C. 註冊Weather Underground以獲取研發者API金鑰
1) 打開瀏覽器並訪問 Weather Underground’s website
2) 作為新用戶進行註冊
3) 點擊針對研發者的Weather API 選項
4) 生成一個API金鑰(見視訊)
D. 設定Python程式
1) 打開 File /home/pi/Desktop/GrovePi/Software/Python/test_script
2) 進入 [Edit] > [Select All] 並點擊 [Delete]
3) 進入 [File] > [Save As] /home/pi/Desktop/Documents/umbrella_stand.py
4) 複製該代碼 code 到空檔窗口
5) 轉至第40行,輸入YOUR_ZIP_CODE
6) 轉至第44行, 輸入 YOUR_API_KEY
7) 按照#說明來進行進一步的自訂設定,或者查看代碼走查視訊(見視訊)
8) [File] [Save]
9) 觀看視訊以獲取代碼走查的步驟
E. 連接Grove感測器
1) 將超聲測距儀與GrovePI擴展板上的D4連連接器連接
2) 將Grove LED與GrovePI擴展板上的D7連連接器連接
3) 將Grove蜂鳴器與GrovePI擴展板上的D8連連接器連接
4) 點擊[Run] [Run Module]運行umbrella_stand.py
5) 如果在您所在的區域沒有下雨,您可以將umbrella_stand.py編輯為其他下雨區域的代碼腳本(見視訊)
F. 設定RaspberryPi為無頭模式並自動運行中繼程式
1) 進入[Menu] > [Other] > [LXTerminal]
2) 在[pi@dex:~ $] 提示符下點擊ENTER:
1 |
sudo crontab -e. |
3) 如果檔不存在,就創建一個,並且添加以下內容(這是您已經保存了您的Python程式的地方)
1 |
@reboot sudo python /home/pi/Documents/DevicePlus/umbrella_stand.py |
4) 當RaspberryPi啟動時,程式被載入。
5) 在您最喜歡的燈上進行測試。
圖3: RapberryPi 和 GrovePi GPIO 擴展板(結合)
我已經將該項目連接到前廳的傘架,並進行了實際測試。
結論
這個項目是很有趣的Raspberry Pi 項目之一。它的連通性和回饋性已經達到了我在一個非智慧裝置上想要實現的水平。在這個快節奏的世界裡,我們無法捕捉所有的資訊,但是如果有這個智慧傘架,起碼一定會讓我們遠離被雨淋濕的困擾。
希望您喜歡本課程,歡迎將您在實施該專案的過程中所作的修改發送給我。