這是我最喜歡的Raspberry Pi 項目之一。它采用了Dexter Industries生產的配有GrovePi擴展板的Respberry Pi模型,以及超聲傳感器、蜂鳴器和LED模組。對于該項目,我們將使用自定義的Raspbian磁盤鏡像,并在最新的“Jessie”版本上運行。
本教程的目的是演示一個可運行的項目原型,并且向您講解對設計進行測試與修改時所需的步驟,以優化并實現一個適合您的解決方案。
項目所需部件清單
硬件
- ? 計算機:Lenovo T420 Windows 10
- ? SD卡:Sandisk DHCD 8GB
- ? 微處理器:Raspberry Pi Model B Revision 2.0 (512MB)
- ? 擴展板:GrovePi+ v3.0
- ? 蜂鳴器:Grove Buzzer v1.2
- ? 傳感器:Grove Ultrasonic Sensor v2.0
- ? LED: Grove Red LED v1.4
- ? WiFi 適配器: Edimax EW-7811Un 150Mbps Wireless 802.11 b/g/n nano USB 適配器
- ? 顯示器:通用VGA端口顯示器(配有VGA數據線)
- ? VGA適配器:用于PC的通用HDMI輸入轉VGA適配器轉換器
- ? 電源:通用供電USB2 4端口集線
- ? 數據線:USB Type-A / Micro-B;以及USB Type-A / Type-B
- ? 鍵盤:通用USB鍵盤
- ? 鼠標:通用USB鼠標
- ? WiFi 路由器: 通用WiFi 路由器
- ? 傘架
軟件
- SD Formatter v4
- Dexter Industries Modified “jessie”
- Win32 Disk Imager 0.9
- Python 2.7.9
工具
- ? 雙面膠
從構思到實踐
從概念的產生到實踐部署,一個項目的開發包含許多個步驟。
第一步:概念
我似乎總是早上拖得太晚出門以至于沒有時間查看天氣,導致每次都很快沖出去,卻沒有意識到是否需要帶一把雨傘。所以我一直想要做的Raspberry Pi 項目之一就是制作一個智能傘架,這個傘架可以為我查看天氣并且提醒我是否會下雨。
第二步:設計
使用Weather StationAPI開發者密鑰,一個python腳本就會獲得我所在城市的氣象站并反饋關于下雨可能性大小的查詢結果。如果下雨的可能性超過我所設置的閾值,我出門前需要拿一把雨傘,那么在傘架上的LED燈會閃爍,以在我經過時傳遞音頻信號。
第三步:原型
該設計原型使用有Dexter Industries 生產的GrovePi擴展板來對RaspberryPi 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:
sudo crontab -e.
3) 如果文件不存在,就創建一個,并且添加以下內容(這是您已經保存了您的Python程序的地方)
@reboot sudo python /home/pi/Documents/DevicePlus/umbrella_stand.py
4) 當RaspberryPi啟動時,程序被加載。
5) 在您最喜歡的燈上進行測試。
圖3: RapberryPi 和 GrovePi GPIO 擴展板(結合)
第四步:測試
我已經將該項目連接到前廳的傘架,并進行了實際測試。
結論
這個項目是很有趣的Raspberry Pi 項目之一。它的連通性和反饋性已經達到了我在一個非智能設備上想要實現的水平。在這個快節奏的世界里,我們無法捕捉所有的信息,但是如果有這個智能傘架,起碼一定會讓我們遠離被雨淋濕的困擾。
希望您喜歡本教程,歡迎將您在實施該項目的過程中所作的修改發送給我。
評論