本方案是一個實時植物監控系統,可查看溫度、光照和濕度。
使用MKR1000 、標準 Firmata Wifi 草圖以及 Johnny-Five 和 Node.js制作。
我首先使用 StandardFirmataWifi 草圖加載 MKR1000。這將使我們能夠使用 Johnny-Five 與董事會進行溝通。
打開 Arduino IDE
文件 -》 示例 -》 Firmata -》 StandardFirmataWifi
切換到第二個選項卡“wifiConfig.h”
閱讀評論并設置選項以匹配您的設備。對于 MKR1000,我必須注釋掉第 1 步選項 A 并取消注釋選項 B。然后向下滾動并為您的 wifi 配置 SSID 和密碼。如果需要,您可以將開發板的 IP 地址設置為靜態。下面是 wifiConfig.h 中我必須為我的家庭 wifi 設置更改的行。
切換回第一個選項卡“StandardFirmataWifi”
編譯并上傳草圖到 MKR1000
接下來,我使用 node 和 express 創建了一個 Web 應用程序。這將使我們能夠運行 Johnny-Five,這是一個基于 Firmata 協議的開源框架,允許在 MKR1000 和我的節點應用程序之間輕松通信。
然后,我創建了一個基本儀表板,用戶可以在其中實時查看從 MKR1000 流式傳輸到客戶端的當前傳感器數據。我正在使用 WebSockets 每秒向客戶端發送傳感器數據。
用戶還可以點擊任何傳感器讀數以查看該特定傳感器的完整歷史記錄。此視圖呈現 2 個圖表,頂部圖表是總讀數的放大版本,底部圖表是該傳感器的完整歷史數據。用戶可以在底部圖表上選擇一個范圍,該范圍會更新所選范圍的頂部“詳細”圖表。這些圖表每 10 秒顯示一次保存到 RethinkDB 的數據。
您需要安裝 RethinkDB 并在本地運行它。
他們有一些很棒的文檔,因此請查看
https://rethinkdb.com/docs/install/
安裝 RethinkDB 后,我們將需要創建一個數據庫和表來存儲前面提到的測量值。
打開終端并輸入rethinkdb以啟動我們的 rethinkdb 服務器。
然后打開任何現代瀏覽器并轉到 localhost:8080
這將加載 RethinkDB 儀表板,您可以在其中訪問數據庫并創建表。對于這個系統,我們需要創建一個名為的數據庫plant_monitoring_system和一個名為的表measurements
單擊表格以加載表格視圖
單擊“+ 添加數據庫”按鈕
鍵入plant_monitoring_system并單擊添加
然后,單擊“數據資源管理器”打開數據資源管理器,我們將在其中運行命令以創建此項目所需的表。在數據資源管理器中鍵入以下代碼并單擊運行。
r.db(‘plant_monitoring_system’).tableCreate(‘measurements’)
這應該為數據庫創建做。我們只需要在啟動我們的節點應用程序之前確保數據庫正在運行。我們之前使用命令啟動了我們的數據庫
rethinkdb
這是設置好之后的一些照片。
下面是我為這個系統構建的電路示意圖。該板實際上是一個 Arduino MKR1000。5v 引腳實際上是 3.3v,但所有組件都可以在 5v 下正常工作。
在照片中很難看到,但您只需將以下傳感器連接到相應的端口即可。
LM35傳感器連接:
3.3V
模擬引腳 1
地面
光敏電阻連接:
3.3V
模擬引腳 2 和 10k 歐姆電阻接地
濕度傳感器連接:
模擬引腳 1
3.3V
地面
-
溫度傳感器
+關注
關注
48文章
2940瀏覽量
156020 -
監控系統
+關注
關注
21文章
3904瀏覽量
174424
發布評論請先 登錄
相關推薦
評論