一、前言
在氣候變化、資源減少和人口增加的情況下,全球農業受到了前所未有的壓力,隨著不可預測的氣候因子加劇,許多農夫引進先進技術以提高生產效率和作物的抗災能力。智能化的溫室就是一個很好的例子,在傳統農業框架下導入物聯網(IoT)技術,除了數據化管理作物的生長歷程,更可以隨著極端氣候調整栽種品質。
M5Stack IoT智慧植栽即是一個智慧照顧植物的系統,透過M5Stack Core Basic 搭配土壤溼度感測器、光強度感測器,感測環境參數並記錄於雲端,再依據感測器所得到的數據,使用抽水馬達、植物燈條、風扇主動調整環境。
二、產品介紹
智慧植栽使用M5Stack Core BASIC 作為主控板,透過側邊Port A(M5Stack Core常用的接腳定義) 連接M5Stack 環境感測模組,考量到需要驅動一顆抽水馬達(12V)、一顆散熱風扇(5V)、植物燈(5V),同時需要獲取感測器數值(光感測、土壤溼度),M5Stack提供了一款擴充性極高的BASE模組 M5Stack Goplus2 馬達驅動器模組 ,控制核心搭載了STM32F030C8T6,支援2路直流馬達、4路伺服馬達,可擴充3個GPIO,恰好符合我們的需求,以下是硬體配置圖。將M5Stack Core BASIC 拆開,透過排插擴充 GOPLUS2模組。
將繼電器模組、光感測模組、土壤溼度模組依序連接GOPLUS2的左側三個GPIO連接埠(expand PortB Pin out ),風扇、抽水馬達連接GOPLUS上方兩個DC馬達連接埠,將12V變壓器連接於下方額外供電。
三、產品相關
零件連接對照表
包裝清單
- 智慧植栽 x 1
- 黑色壓克力支架 x 1
- 抽水馬達用水管 x 2
- 12VDC充電器
- M5Stack Core原廠配件包
四、安裝與使用
電源
將12VDC變壓器接上主控面板
(注意 : 請勿在沒有接上變壓器的情況下啟動抽水馬達、植物燈、散熱風扇)
開/關機 : 側邊紅色按鈕雙擊兩下為關機,單擊一下為開機,開機狀態下單擊一下為重新開機0
五、本機端功能測試
智慧植栽出貨前主機已經預先燒錄範例程式,預設的DEMO範例程式為簡易的按鍵觸發,使用者可以按下操作面板上的按鍵測試主動元件(抽水馬達、散熱風扇、植物燈)
<範例圖片>
六、雲端物聯網功能
智慧植栽具備物聯網功能,可以遠端監控各項感測器數據,
也可以進行遠端遙控,設定步驟如下
1. 新增adafruit.io雲端監控
認識adafruit.io與註冊設定(https://io.adafruit.com/)
使用參考連結:https://www.circuspi.com/index.php/2021/07/06/adafruit-io/
MQTT協定簡介
實作架構
註冊帳號(連結)
進到IO功能裡面,選擇FEED,並創建群組GROUP
為本次實作取一個名稱,不限定要取甚麼名字,這裡舉例為IOT_SMARTHOUSE
新增Feed的項目,總共需要建立八個Feed:
- Temprature
- Humility
- Moisture
- Pressure
- Light
- Fan-Button
- Light-Button
- Bump-Button
這裡的Feed用來遠端收發溫度、溼度、大氣壓力、土壤濕度的訊號,
以及三個遠端控制抽水馬達、植物燈、散熱風扇的按鈕。
步驟如下:
1. 點擊新增
2. 建立溫度Feed,並為其取一個特定名稱
3. 創建完成
4. 以此類推重複三步驟,建立其他的頻道並為其取一個特定名稱,名稱並無限定。
新增一個主控制儀表板(Dashboards),
此儀錶板用來顯示感測器資料並支援遠端控制智慧植栽。
為主控制儀表板(Dashboards)取一個名字,名字任意,筆者這裡舉例為 ESP32BOX_DATA
創建完成
點選進入該主控制儀表板(ESP32BOX_DATA),開始設定基礎人機介面
新增負責讀取紅外線感測器的文字狀態列
步驟如下:
1. 右上角基礎設定選單
2. 選取 溫度的Feed
3. 為狀態列命名,這裡筆者取為”溫度監控”,可以修改遇顯示數值的字體大小,筆者建議可以把字調大一點。
4. 完成創建
以此類推重複四步驟建置介面
2. 修改程式
請先下載範例程式 點擊連結下載
修改程式請參照頁面下方水平分隔線後 【 如何燒錄程式到M5Stack Core 】
設定WIFI連線的基本資料,如果在燒錄韌體時已經設定過可以跳過設定WIFI這個步驟
設定MQTT連線,ClientID可以自行命名不影響程式運作,user以及password必須到adafruit主頁尋找,server與port、keepalive等相關設定需照圖中所示
設定讀取程式積木,
進入feed裡面點擊欲設定之項目後,點擊頁面右側Feed Info會看到下方圖片顯示之頁面
將MQTT by key 分別複製貼上至對應的程式區塊內
設定遠端控制植物燈、抽水馬達、散熱風扇等按鈕FEED相關訊息
新增圖片
使用者可以自由上傳圖片作為智慧植栽LOGO
範例圖 :
載入WIFI 圖,用於判斷WIFI是否連線
完成變更後,燒錄程式測試結果。
👀 注意事項
智慧植栽屬於模型式的教學教具,使用時除了土壤濕度感測器的探針,
其餘電子零件請避免直接接觸水。
【 如何燒錄程式到M5Stack Core 】
1. 安裝USB驅動程式
使用M5Stack Core 之前須安裝USB驅動程式,根據電腦型號選擇相對應的驅動程式版本。 驅動程式安裝連結(連結)
(1) 將CORE連接電腦
(2) 查看COM編號
打開我的電腦,點選本機>>電腦>>管理
點選裝置管理員
看到CH910X字樣的序列埠編號就是M5StackCore的編號了
2. 更新M5Stack Core韌體
更新M5Stack Core之韌體需要透過韌體燒錄工具M5Burner來執行,使用者可以根據電腦型號選擇相對應的版本。韌體工具M5Burner連結(連結)
雙擊打開Burner燒錄工具,在左側菜單中選擇對應的設備種類,並選擇設備的對應韌體,點擊下載按鈕進行下載,選擇韌體版本進行燒錄。
選擇韌體版本後點擊 Burn 進行燒錄。
在韌體燒錄階段,使用者需要在WiFi配置框中填寫WiFi相關訊息。 這些訊息會隨著韌體一起燒錄保存到M5設備中,點擊Start開始燒錄。
注意:如果出現編程超時,請嘗試鮑率降低到 115200。
當燒錄日誌提示Burn Successfully時,表示韌體已經燒錄完成。
3.下載UIFlow 程式(離線版)
UIFlow Desktop IDE 是 UIFlow 編譯器的離線版本。 不需要網絡依賴,可以提供程式本地端快速調整。 請根據您的操作系統點擊相應版本的UIFlow-Desktop-IDE進行下載。下載連結
解壓縮檔案後,雙擊UIFLOW.exe開啟
使用離線版UIFlow時,需要將設備配置到USB模式:
- 單擊電源鍵啟動設備
- 屏幕出現菜單後,快速按下面板右鍵 進入 設置頁面。
- 選擇USB模式
打開UIFLOW,選擇對應的序列埠編號,點擊確定連接。
如果無法正常連接,可嘗試更換數據線或插拔更換序列編號,檢查序列埠是否被佔用。
燒錄與測試
五、結語
本次範例程式透過M5Stack CORE Basic 搭配GOPLUS2模組快速搭建整個智慧植栽系統,針對不同環境參數設計出自動澆水、自動調溫、自動調光等功能,在間隔10-15秒的傳輸時間內做出紀錄,唯獨比較可惜的是CORE Basic 並不包含RTC 即時時鐘的功能,無法即時將感測器的資料與時間戳記做較為精準且無延遲的配對,使用者如果想追求精準的時間戳記,可以使用M5StackCore2作為核心(內建RTC),或是透過NTP(network time protocol)的方式連上Wifi後進行時間校正。