運用 M5Stack Core Basic 打造 IoT 智慧植栽

一、前言

在氣候變化、資源減少和人口增加的情況下,全球農業受到了前所未有的壓力,隨著不可預測的氣候因子加劇,許多農夫引進先進技術以提高生產效率和作物的抗災能力。智能化的溫室就是一個很好的例子,在傳統農業框架下導入物聯網(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模式:

  1. 單擊電源鍵啟動設備
  2. 屏幕出現菜單後,快速按下面板右鍵 進入 設置頁面。
  3. 選擇USB模式

打開UIFLOW,選擇對應的序列埠編號,點擊確定連接。

如果無法正常連接,可嘗試更換數據線或插拔更換序列編號,檢查序列埠是否被佔用。

燒錄與測試

五、結語

本次範例程式透過M5Stack CORE Basic 搭配GOPLUS2模組快速搭建整個智慧植栽系統,針對不同環境參數設計出自動澆水、自動調溫、自動調光等功能,在間隔10-15秒的傳輸時間內做出紀錄,唯獨比較可惜的是CORE Basic 並不包含RTC 即時時鐘的功能,無法即時將感測器的資料與時間戳記做較為精準且無延遲的配對,使用者如果想追求精準的時間戳記,可以使用M5StackCore2作為核心(內建RTC),或是透過NTP(network time protocol)的方式連上Wifi後進行時間校正。