福利社腦闆買了一套新的可以跟樂高結合的物聯網教學套件M5GO IoT Starter Kit!,M5STACK團隊:https://m5stack.com
產品購買:https://m5stack.com/products/m5go-iot-starter-kit-stem-education
這次要開箱的是M5GO IoT Starter Kit 是福利社腦闆從日本帶回來的新玩具,為2016年創立的M5stack團隊所開發的物聯網套件,協助使用者縮短開發到最終產品之間的距離。 官網上一盒 M5GO IoT Starter Kit 賣65.59美金。在初步測試M5GO套件之後,真心覺得一定要買這套給小孩或學生搭配樂高玩,除了硬體上體積小好收納、可以跟樂高結合(私心喜歡樂高相關跟小體積的套件),又能讓他們學會物聯網、基礎感測器、使用者介面設計、以及練習從圖像化程式過渡到python程式並讓他們做比較,這個價格很物超所值!
不得不說,這五六年物聯網的市場有各式各樣的開發版跟套件,大部分因為難以使用或開發者少而消失在市場上,所以一開始拿到這一套的時候有點不期不待,但 M5GO IoT Starter Kit 顛覆了我的想法,讓人驚豔。
作者/攝影 | 蔡雨綺 |
難度 |
★☆☆☆☆ |
材料表 |
|
套件開箱
先來看看套件外觀,高度約15公分左右,體積不大。
打開內含樂高零件(M5橫桿x2、M9橫桿x2、1:1短插銷x12)、M5GO主機(內含電池)、六個模組(包含環境感測器–溫度/濕度/壓力、動作感測器、RGB LED、IR感測器、角度感測器、感測器擴充模組)、灰色USB充電線、黑色TpyeC充電線、連接感測器模組線長短各兩條
彩色說明書寫得非常詳盡,接下來會按照說明書的指示完成開箱以及試著寫出第一個程式。
本次開箱為了方便用黑色type C線接電腦充電,但並不是透過電腦傳程式,而是使用m5stack的server透過wifi傳輸。
Let’s get started!
接上電源後,按紅色按鈕一下開機,之後想要關機則是按兩下。一開始看到笑臉心情很好,使用下方的三個按鈕觀看官方用心的新手教學,新手教學很詳盡如下圖。有各種感測器的使用方式、開關機教學、port ABC所在位置等等。
設定M5GO的網路
但按完使用教學就不能做任何事,研究了一下才發現要在剛開機的一秒內按下白色右鍵來設定M5GO的網路。接下來就按照以下步驟進行M5GO主機的網路設定:
Step 1. 進入選單畫面後,選擇 Switch to Internet mode,會出現M5GO主機的 Wi-Fi SSID。
Step 2. 請用你的手機從Wi-Fi設定頁面連線該Wi-Fi SSID,協助M5GO主機連接local wifi,讓主機等等可以從網路上下載你寫的程式。
Step 3. 成功與手機連線後,會跳出QRCode,請掃描QRCode或是在瀏覽器打192.168.4.1。
進入wifi設定的網頁後,就可以連接任何你想要的local wifi,本範例中是連接名稱為Happy的wifi。
Step 4. 看到下方圖片就代表M5GO主機成功連接到 local wifi 啦!
撰寫程式
Step 1. 連接上 local wifi 後,你的手機就自由了。主機也會緊接者顯示下列畫面,圖中的APIKEY是你等等在網路上寫程式後要上傳給這台M5GO主機的專屬編號。QRCode則是官方提供八分鐘左右的實用程式教學影片(中英文雙語字幕),有興趣的人可以在看完這篇開箱文後按照影片基礎實作。
Step 2. 在瀏覽器搜尋flow.m5stack.com,進入以下畫面。輸入主機上顯示的APIKEY,其他按照你的喜好設定。
Step 3. 完整畫面如下,左方為主機介面設計區,以及新增模組的地方;右方則是程式撰寫界面,可以選擇使用類似App Inventor的圖形化介面,或是使用Python。
除了常見的迴圈(Loop)、數學(Math)、文字(Text)等等,也有一些有趣的,像是Graphic、Emoji等作圖用的指令庫。
Step 4. 在寫程式之前,先來將模組接線到主機上,要注意每個模組後面都會特別寫他只能接哪個Port ,本範例中使用的環境感測器只能接Port A。(對環境感測器特別有感情,也是IoT最常見的感測器之一,故選之。)
Step 5. 硬體接線完成後,點選畫面右下角的Units下方的加號來新增該專案中的模組,勾選完所有的模組後,這些模組就會出現在Units區,且也有程式可以直接使用。由於環境感測器有溫度、濕度、壓力三種感測值,所以有三個相關指令可以使用。
Step 6. 範例程式想要寫一個可以簡單顯示溫度、濕度、壓力等資訊的使用者介面。所以首先先來做使用者介面(User Interface, UI)設計。從左上方欄位拖曳一個Title到螢幕區域,並將顯示文字(text)改為HelloWorld,並選擇自己喜歡的顏色。
Step 7. 再拉三個label分別對應溫度、濕度、壓力資訊。建議調整x, y 來對齊這些label。設計完成後介面如下圖。
Step 8. 接下來就是撰寫圖像化程式。簡單介紹一些功能:
- 可以在UI區找到 Title, Label, Screen 的相關指令。
- 相同屬性的元件可以透過內建下拉式選單選擇很方便。
- 沒有用到的指令會呈灰色網格狀。
- 可以輕鬆切換圖像化程式跟Python程式介面,進行基礎Python教學。
Step 9. Abracadabra! 我撰寫了一個程式,一開始會顯示3秒的螢幕背景黑底,以emoji指令用pixel顯示白底紅字的CAVE,希望大家看得出來。接下來再用螢幕背景黑底指令覆蓋CAVE emoji。接著使用 while loop 每100毫秒更新一次偵測到的溫度、濕度、壓力資訊,這邊記得使用Text當中的文字連接指令(+),不然使用兩個label會覆蓋,layer(可調整)比較高的才會出現。也記得將環境數據轉換成文字(Convert to str指令)才能順利顯示!
Step 10. 點選右上方的三角形符號,就可以根據你一開始打的APIKEY上傳該程式到M5GO主機上。範例程式成果如下!你也可以下載或儲存程式,其副檔名為.m5f。
Hint 1. 撰寫有錯誤的話,主機會提醒你哪裡有錯(error message)。如下圖,因為沒有將float轉成文字而有錯誤。
Hint 2. 如果你有很多台M5GO主機,可以前往 http://cloud.m5stack.com 進入以下畫面進行簡單的註冊及登入後,用官方平台管理這些主機。
對於教學、自學或是想要快速佈建物聯網做簡易測試的模組,M5GO IoT Starter Kit 是一個不錯的選擇,希望大家看完後,跟我一樣喜歡上M5GO IoT Starter Kit ,一起來研究這套物聯網套件,很期待試著將它跟樂高結合做更多有趣的專案!