資料介紹
描述
介紹
該系統非常適合那些熱愛并想要照看家中植物但又忙于日常工作的人們。種植植物需要時間和努力才能成功,因為每天都有一些常規的事情要做,比如給它們澆水。人們有時會忘記照顧他們的植物。此外,有些人經常出差,在家呆的時間更少。在這種情況下,他們通常會尋求幫助來照顧他們的室內植物,否則他們就會放棄擁有它們。WaterPi 可以幫助那些人為植物做一些常規的事情。此外,由于可以遠程控制,植物所有者可以在需要時輕松干預澆水過程。
該系統監控該地點的溫度和濕度,以及地面的土壤濕度,遠程澆灌植物,然后通過 AWS IoT 將所有數據保存到 DynamoDB。收集的數據通過不同的圖表和數字進行可視化,以更好地了解植物生長的條件。
Raspberry Pi 運行一個 nodejs 應用程序來控制所有傳感器和水泵。為此,我更喜歡使用Johnny-Five庫。為了與 AWS 通信,我使用了適用于 javascript 的 AWS IoT 開發工具包。
第 1 步:設置 DynamoDB
DynamoDB 用于保存傳感器收集的數據。轉到DynamoDB?頁面并創建一個具有以下屬性的新表:
- 表名:waterpi_sensor_data
- 分區鍵:key
- 單擊添加排序鍵并添加時間戳
重要的是鍵和時間戳類型必須是字符串。
第 2 步:設置 AWS IoT
轉到 AWS IoT 控制臺頁面并執行以下操作:
創建一個名為raspi-water-pump的東西
創建新策略。策略名稱pump-policy、Action iot:*、resource * ,選擇Allow,然后單擊 Add statement 和 Create。
使用?1-Click certificate create 創建證書。然后下載公鑰、私鑰和證書。
然后您應該選擇您創建的證書并執行以下操作:
- 單擊?操作?>激活按鈕證書
- 單擊操作 > 附加策略,鍵入您創建的策略名稱,然后單擊附加
- 單擊Actions > Attach a thing ,鍵入 raspi-water-pump,然后單擊Attach
使用以下內容創建規則:
- 名稱?saveToDynamoDB
- 屬性?*
- 主題過濾?傳感器/數據
- 選擇?將消息插入數據庫表的操作
- 表名?waterpi_sensor_data
- 哈希鍵值?${topic()}
- 范圍鍵值?${timestamp()}
- 角色名稱 > 單擊?創建新角色?,然后從打開頁面單擊?允許?按鈕,然后從角色名稱下拉列表中選擇它
?
第 3 步:準備 Arduino
水位和土壤濕度傳感器輸出為模擬輸出。因此,與其將它們直接連接到 Raspberry Pi,我更喜歡使用 Arduino 來獲取這些模擬值,然后通過 Arduino 作為數字值發送到 Pi。Arduino 代碼由 pi 更新,所以我們在這一步中唯一要做的就是將 Arduino 連接到我們的計算機并將標準固件上傳到它。?
如果您沒有 Arduino IDE,請按照?此處的步驟?進行安裝。
- 打開?Arduino IDE
- 打開文件 > 示例 > Firmata > StandardFirmata示例
- 將草圖上傳到 Arduino
?
?
?
將土壤水分連接到 Arduino 架構應如下所示;
- VCC(電源)-> PIN 7
- GND(接地)-> GND
- AO(模擬輸出)-> A1
將水位傳感器連接到 Arduino 架構應如下所示;
- (+) -> PIN 4
- (-) -> 接地
- S -> A0
之后,您應該?通過 USB 電纜將您的 arduino 與樹莓派連接起來??。另外不要忘記將土壤濕度傳感器放入花盆,將水位傳感器放入水箱。
第 4 步:準備樹莓派
線液晶屏,dht11,水泵通過繼電器與樹莓派。
將 DHT11 連接到 Pi
- S -> GPIO4(引腳 7)
- (+) -> 3V3(引腳 1)
- (-) -> GND(引腳 25)
接線液晶屏
- VCC -> 5V(引腳 2)
- 接地 -> 接地(引腳 6)
- SDA -> GPIO2(引腳 3)
- SCL -> GPIO3(引腳 5)
水泵接線繼電器
- S -> GPIO18(引腳 12)
- (+) -> 5V(引腳 4)
- (-) -> GND(引腳 20)
?
帶繼電器和電池組的水泵接線
- 水泵有兩條電纜。一個應連接到繼電器,另一個應連接電池組電纜。
- 其他電池組電纜應連接到繼電器。查看上圖以了解如何連接它們。
第 5 步:在 Pi 上運行 Nodejs 應用程序
在這一部分中,我們將在 pi 上運行 nodejs 應用程序來收集傳感器數據并控制水泵。樹莓派應該連接到互聯網。你可以通過以太網或wifi來做到這一點。
在繼續之前,必須在 pi 上安裝節點。如果您之前沒有安裝 nodejs,請按照此處的教程進行安裝。
連接您的樹莓派并運行以下命令:
git clone git@github.com:demirhanaydin/waterpi-node.git
cd waterpi-node
npm install
您應該將您從 aws iot 頁面下載的公鑰、私鑰和證書文件放在certs文件夾下。此外,您應該從根證書下載根 CA 證書文件?。將該文件另存為 rootCA.pem 并將其放在certs文件夾下。
然后使用您喜歡的文本編輯器打開device.js文件,并?使用您的文件路徑更新這些行。您應該?通過單擊您的事物從 AWS IoT 平臺獲取您的IOT_DEVICE_URL 。它應該像?https://XXXXXXXXX.iot.us-east-1.amazonaws.com
然后運行
sudo node index.js
如果一切正確,您應該能夠看到打印在液晶屏上的傳感器值。
您還應該看到 DynamoDB 表中的值。應用程序每 20 秒向物聯網平臺發送傳感器數據
第 6 步:運行 Web 應用程序
基本的 sinatra 應用程序使用highcharts可視化 dynamodb 表上的數據。此外,它可以遠程控制水泵。它的作用是每當用戶單擊開始/停止按鈕時,它都會將事件發布到 AWS IoT 平臺。Raspberry Pi 接受此事件并處理它是否啟動或停止泵。
應該在您的計算機上安裝 Ruby 以繼續本教程。如果不是,請查看此頁面以安裝它。
打開終端并運行以下命令
git clone git@github.com:demirhanaydin/waterpi-web.git
cd waterpi-web
bundle install
您應該將您的公鑰、私鑰、證書和 rootCA 文件放在?certs?文件夾下。然后打開boot.rb并?使用正確的值?更新這些行。您應該從 AWS 管理控制臺上的安全憑證頁面獲取您的 aws 訪問密鑰和秘密。
如果你完成了,那么你應該像這樣運行項目
ruby app.rb
打開瀏覽器并輸入您應該能夠在圖表上看到來自 dynamodb 的收集到的傳感器數據。
當您單擊開始時,泵將開始給植物澆水。
這是我在開發項目時拍攝的一些照片
恭喜!
- 使用Arduino構建植物澆水系統
- Arduino帶TFT LCD的植物澆水系統
- 帶arduino的植物澆水報警系統
- 使用土壤濕度傳感器的植物澆水和監控系統
- CNM Ingenuity IoT植物澆水系統
- 智能植物澆水系統項目
- 自動植物澆水系統開源分享
- 智能植物澆水系統開源案例
- 雙植物澆水系統開源分享
- 室內植物澆水系統開源分享
- 智能植物澆水系統開源
- 智能植物澆水系統開源分享
- 智能植物澆水系統開源項目
- Arduino自動植物澆水系統
- 使用樹莓派2實現的植物澆水系統的資料合集 56次下載
- 如何利用樹莓派Zero實現自動室內園丁的設計 1356次閱讀
- 如何利用溫度傳感器實現植物監控系統的設計 1663次閱讀
- 利用網際組態軟件WebAccess實現回風空調系統遠程監控系統的設計 3429次閱讀
- 基于ARM+RTOS+LWIP+HTTP實現工業洗衣機遠程監控系統的設計 3057次閱讀
- 基于流媒體應用系統為基礎的遠程監控系統的設計 1139次閱讀
- 幾種遠程監控通信方式的介紹_幾種遠程監控方式的比較 5907次閱讀
- 基于遠程監控系統對風力發電場遠程管理的現實 1750次閱讀
- 智能工業設備遠程監控系統設計方案 9373次閱讀
- 如何自制植物生長燈_自制植物生長燈步驟 4.3w次閱讀
- 一種基于STM32的溫室遠程監測和控制系統的設計 1.2w次閱讀
- 智能家居遠程監控系統設計與實現 4177次閱讀
- 利用PLC實現云遠程監控系統——HDRS 3453次閱讀
- 工程師DIY智能灌溉器解決植物澆水難題 2364次閱讀
- 基于Qt的遠程監控系統的設計方案 7623次閱讀
- 基于Android智能家居遠程監控系統設計 5428次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數據手冊
- 1.06 MB | 532次下載 | 免費
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費
- 5元宇宙深度解析—未來的未來-風口還是泡沫
- 6.40 MB | 227次下載 | 免費
- 6迪文DGUS開發指南
- 31.67 MB | 194次下載 | 免費
- 7元宇宙底層硬件系列報告
- 13.42 MB | 182次下載 | 免費
- 8FP5207XR-G1中文應用手冊
- 1.09 MB | 178次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33566次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6656次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537798次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191187次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多