這是我最喜歡的Raspberry Pi 項(xiàng)目之一。它采用了Dexter Industries生產(chǎn)的配有GrovePi擴(kuò)展板的Respberry Pi模型,以及超聲傳感器、蜂鳴器和LED模組。對(duì)于該項(xiàng)目,我們將使用自定義的Raspbian磁盤鏡像,并在最新的“Jessie”版本上運(yùn)行。
本教程的目的是演示一個(gè)可運(yùn)行的項(xiàng)目原型,并且向您講解對(duì)設(shè)計(jì)進(jìn)行測(cè)試與修改時(shí)所需的步驟,以優(yōu)化并實(shí)現(xiàn)一個(gè)適合您的解決方案。
項(xiàng)目所需部件清單
硬件
- ? 計(jì)算機(jī):Lenovo T420 Windows 10
- ? SD卡:Sandisk DHCD 8GB
- ? 微處理器:Raspberry Pi Model B Revision 2.0 (512MB)
- ? 擴(kuò)展板: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數(shù)據(jù)線)
- ? VGA適配器:用于PC的通用HDMI輸入轉(zhuǎn)VGA適配器轉(zhuǎn)換器
- ? 電源:通用供電USB2 4端口集線
- ? 數(shù)據(jù)線:USB Type-A / Micro-B;以及USB Type-A / Type-B
- ? 鍵盤:通用USB鍵盤
- ? 鼠標(biāo):通用USB鼠標(biāo)
- ? WiFi 路由器: 通用WiFi 路由器
- ? 傘架
軟件
- SD Formatter v4
- Dexter Industries Modified “jessie”
- Win32 Disk Imager 0.9
- Python 2.7.9
工具
- ? 雙面膠
從構(gòu)思到實(shí)踐
從概念的產(chǎn)生到實(shí)踐部署,一個(gè)項(xiàng)目的開發(fā)包含許多個(gè)步驟。
第一步:概念
我似乎總是早上拖得太晚出門以至于沒有時(shí)間查看天氣,導(dǎo)致每次都很快沖出去,卻沒有意識(shí)到是否需要帶一把雨傘。所以我一直想要做的Raspberry Pi 項(xiàng)目之一就是制作一個(gè)智能傘架,這個(gè)傘架可以為我查看天氣并且提醒我是否會(huì)下雨。
第二步:設(shè)計(jì)
使用Weather StationAPI開發(fā)者密鑰,一個(gè)python腳本就會(huì)獲得我所在城市的氣象站并反饋關(guān)于下雨可能性大小的查詢結(jié)果。如果下雨的可能性超過我所設(shè)置的閾值,我出門前需要拿一把雨傘,那么在傘架上的LED燈會(huì)閃爍,以在我經(jīng)過時(shí)傳遞音頻信號(hào)。
第三步:原型
該設(shè)計(jì)原型使用有Dexter Industries 生產(chǎn)的GrovePi擴(kuò)展板來對(duì)RaspberryPi GPIO引腳進(jìn)行管理控制。我喜歡使用這種擴(kuò)展板,因?yàn)樗哂屑床寮从玫脑O(shè)計(jì),同時(shí),Dexter Industries的改良版Raspbian磁盤映像具有大量的故障排除工具,這些工具在測(cè)試階段會(huì)派上用場(chǎng)。
設(shè)置磁盤映像(PC)
下載2016.04.25_Dexter_Industries_jessie.zip Disk Image并將它解壓到您的硬盤上。
格式化8GB SD卡。我使用SD Formatter v4。
將下載的磁盤映像寫入SD卡。我使用Win32 Disk Imager。
A. 組裝Rapberry Pi 和 GrovePi GPIO 擴(kuò)展板
1) 將GrovePi與Raspberry Pi Model B上的28個(gè)GPIO引腳對(duì)齊貼合。它們的引腳很匹配,只需要稍微用點(diǎn)力就能裝上。
圖1:RapberryPi 和GrovePi GPIO 擴(kuò)展板 (分開)
圖2: RapberryPi 和GrovePi GPIO 擴(kuò)展板(結(jié)合)
B. RaspberryPi 的啟動(dòng)和更新
1) Raspberry Pi系統(tǒng)可直接進(jìn)入Dexter Industries GUI界面。
2) 點(diǎn)擊“WiFi Setup”圖標(biāo)來連接到您的本地路由器和網(wǎng)絡(luò)。
3) 點(diǎn)擊“DI Software Update”圖標(biāo)啟動(dòng)。
4) 在下拉菜單中選擇GrovePi,然后按照以下順序來進(jìn)行更新:
i) Hardware Firmware
ii) Raspbian
iii) Dexter Software
5) 系統(tǒng)將在完成后要求重新啟動(dòng)
C. 注冊(cè)Weather Underground以獲取開發(fā)者API密鑰
1) 打開瀏覽器并訪問 Weather Underground’s website
2) 作為新用戶進(jìn)行注冊(cè)
3) 點(diǎn)擊針對(duì)開發(fā)者的Weather API 選項(xiàng)
4) 生成一個(gè)API密鑰(見視頻)
D. 設(shè)置Python程序
1) 打開 File /home/pi/Desktop/GrovePi/Software/Python/test_script
2) 進(jìn)入 [Edit] >[Select All] 并點(diǎn)擊 [Delete]
3) 進(jìn)入 [File] >[Save As] /home/pi/Desktop/Documents/umbrella_stand.py
4) 復(fù)制該代碼 code 到空文件窗口
5) 轉(zhuǎn)至第40行,輸入 YOUR_ZIP_CODE
6) 轉(zhuǎn)至第44行,輸入 YOUR_API_KEY
7) 按照#說明來進(jìn)行進(jìn)一步的自定義設(shè)置,或者查看代碼走查視頻(見視頻)
8) [File] [Save]
9) 觀看視頻以獲取代碼走查的步驟
E. 連接Grove傳感器
1) 將超聲測(cè)距儀與GrovePI擴(kuò)展板上的D4連接頭連接
2) 將Grove LED與GrovePI擴(kuò)展板上的D7連接頭連接
3) 將Grove蜂鳴器與GrovePI擴(kuò)展板上的D8連接頭連接
4) 點(diǎn)擊 [Run] [Run Module] 運(yùn)行 umbrella_stand.py
5) 如果在您所在的區(qū)域沒有下雨,您可以將umbrella_stand.py編輯為其他下雨區(qū)域的代碼腳本(見視頻)
F. 設(shè)置RaspberryPi為無頭模式并自動(dòng)運(yùn)行中繼程序
1) 進(jìn)入 [Menu] >[Other] >[LXTerminal]
2) 在 [pi@dex:~ $] 提示符下點(diǎn)擊ENTER:
sudo crontab -e.
3) 如果文件不存在,就創(chuàng)建一個(gè),并且添加以下內(nèi)容(這是您已經(jīng)保存了您的Python程序的地方)
@reboot sudo python /home/pi/Documents/DevicePlus/umbrella_stand.py
4) 當(dāng)RaspberryPi啟動(dòng)時(shí),程序被加載。
5) 在您最喜歡的燈上進(jìn)行測(cè)試。
圖3: RapberryPi 和 GrovePi GPIO 擴(kuò)展板(結(jié)合)
第四步:測(cè)試
我已經(jīng)將該項(xiàng)目連接到前廳的傘架,并進(jìn)行了實(shí)際測(cè)試。
結(jié)論
這個(gè)項(xiàng)目是很有趣的Raspberry Pi 項(xiàng)目之一。它的連通性和反饋性已經(jīng)達(dá)到了我在一個(gè)非智能設(shè)備上想要實(shí)現(xiàn)的水平。在這個(gè)快節(jié)奏的世界里,我們無法捕捉所有的信息,但是如果有這個(gè)智能傘架,起碼一定會(huì)讓我們遠(yuǎn)離被雨淋濕的困擾。
希望您喜歡本教程,歡迎將您在實(shí)施該項(xiàng)目的過程中所作的修改發(fā)送給我。
評(píng)論