筆者過去在物聯網教學場域最常發生的問題是教學環境對外連線能力太差,不容易連上公有雲,現在不用擔心這個問題,因為聯發科開發出 MCS Lite 來解決場域對外連線能力太差的問題,MCS Lite 是 MCS 的離線版本,可安裝在本地裝置,且能夠掌握私有資料庫並隨身攜帶並能自行客製化 UI,而本文描述 MediaTek Cloud Sandbox Lite (MCS Lite) 服務相關設定,以供 LinkIt 7697 串接使用。
MCS Lite 重點摘要
項目 | MCS Lite |
---|---|
全名 | MediaTek Cloud Sandbox Lite Edition |
可運行的作業系統 | Windows、Linux 和 Mac OS |
通訊協定 | WebSocket 與 HTTP |
接收資料格式 | JSON 與 CSV |
WebSocket-JSON-Request URL | ws://$MCSLiteServerIP:$MCSLiteWSPort/deviceId/$deviceID/deviceKey/$deviceKey/viewer |
WebSocket-JSON-Request Body | {"datachannelId":"$dataChannelID","values":{"value":$value}} |
WebSocket-CSV-Request URL | ws://$MCSLiteServerIP:$MCSLiteWSPort/deviceId/$deviceID/deviceKey/$deviceKey/csv |
WebSocket-CSV-Request Body | $deviceID,$deviceKey,$timeStamp,$dataChannelID,$value |
HTTP-JSON-Request URL | http://$MCSLiteServerIP:$MCSLiteAPIPort/api/devices/$deviceID/datachannels/ $dataChannelID/datapoints?limit=1 |
HTTP-JSON-Request Header | 需在請求的表頭(Header)中加入 deviceKey: $deviceKey |
HTTP-CSV-Request URL | http://$MCSLiteServerIP:$MCSLiteAPIPort/api/devices/$deviceID/datachannels/ $dataChannelID/datapoints.csv |
HTTP-CSV-Request Header | 需在請求的表頭(Header)中加入 deviceKey: $deviceKey |
學習目標
- MediaTek Cloud Sandbox Lite (MCS Lite) 設定
- 透過 LinkIt 7697 取得溫溼度感測器的資料
- 上傳感測資料到 MediaTek Cloud Sandbox Lite (MCS Lite)
情境
將溫溼度感測器連接 LinkIt 7697,再將感測資訊傳送到 MediaTek Cloud Sandbox Lite (MCS Lite)。
執行步驟
前置準備作業
一台可上網的電腦
LinkIt 7697
Grove Breakout for LinkIt 7697
Grove - Temperature&Humidity Sensor Pro
Micro-USB Cable
將 LinkIt 7697 與 Grove Breakout for LinkIt 7697 組裝、Grove - Temperature&Humidity Sensor Pro 裝到 A0 的位置並將 Micro-USB Cable 連接至電腦與 LinkIt 7697
電腦端相關設定 - 請參考 LinkIt 7697 起手式基礎教學 文章
連接圖
❖ 感謝 【 Anker Taiwan 】 提供拉不斷的 Micro USB Cable
MediaTek Cloud Sandbox Lite (MCS Lite) 端 - 下方範例以 Windows 為例說明之
Step 1. 下載 MCS Lite 並解壓縮
1.1 選擇自己電腦合適的 MCS Lite 版本並解壓縮
❖ MCS Lite 網址 - https://github.com/MCS-Lite/mcs-lite-app/releases
Step 2. 執行【 mcs-lite-app 】 執行檔
❖ 點選解壓縮後資料夾中的【 mcs-lite-app 】 執行檔
❖ 【 mcs-lite-app 】 執行成功畫面
Step 3. 開始使用 MCS
❖ 開啟瀏覽器輸入 URL
http://MCS-Lite-IP:3000
Step 4. 創建 MCS Lite 帳號
❖ 點選右下角【 建立一個帳戶! 】 來建立帳號
Step 5. 輸入帳號相關資訊
5.1 填寫帳號相關資訊
❖ 輸入 ①【 暱稱 】
②【 Email 】
③【 密碼 】
④【 確認您的密碼 】
❖ 再按【 確認 】
Step 6. 登入 MCS Lite
❖ 輸入【 Email 】 與 【 密碼 】
❖ 再按【 登入 】
Step 7. 創建產品原型
❖ 點選 【 創建 】
Step 8. 建立產品原型
❖ 在【 產品原型名稱 】 欄位中輸入名稱 - e.g., LinkIt 7687
❖ 點選 【 儲存 】
Step 9. 開始創建資料通道
❖ 點選剛才建立的產品原型
Step 10. 新增資料通道
❖ 點選 【 新增 】
Step 11. 新增顯示器
❖ 點選 【 顯示器 】 區塊中的 【 新增 】
Step 12. 建立溫度資料通道
❖ 在【 資料通道名稱 】 欄位中輸入名稱 - e.g., Temperature
❖ 在【 資料通道 Id 】 欄位中輸入名稱 - e.g., Temperature
❖ 在【 資料型態 】 欄位中選擇 【 Float 】
❖ 在【 資料單位 】 欄位中選擇 【 degree Celsius 】
❖ 點選 【 Create 】
❖ Temperature 資料通道建立完成畫面
Step 13. 新增資料通道
❖ 點選 【 新增 】
Step 14. 新增另一個顯示器
❖ 點選 【 顯示器 】 區塊中的 【 新增 】
Step 15. 建立溼度資料通道
❖ 在【 資料通道名稱 】 欄位中輸入名稱 - e.g., Humidity
❖ 在【 資料通道 Id 】 欄位中輸入名稱 - e.g., Humidity
❖ 在【 資料型態 】 欄位中選擇 【 Float 】
❖ 在【 資料單位 】 欄位中選擇 【 percent 】
❖ 點選 【 Create 】
❖ Humidity 資料通道建立完成畫面
LinkIt 7697 端
Step 1. 匯入溫溼度 Library
1.1 下載 Seeed 溫溼度 Library 的 ZIP 檔
❖ 請到下方 URL 再點選 【 Clone or downloaded 】➙ 【 Download ZIP 】
https://github.com/Seeed-Studio/Grove_Temperature_And_Humidity_Sensor
1.2 匯入溫溼度 Library
❖ 在 Arduino Sketch 中點選草稿碼 ➙ 匯入程式庫 ➙ 加入 .ZIP 程式庫 ➙ 選擇上一步驟所下載的 ZIP 檔
1.3 開啟 DHT.h 修改程式
❖ 註解第 16 行 【 #error "CPU SPEED NOT SUPPORTED" 】
❖ 新增第 17 行 【 #define COUNT 6 】
❖ 請將檔案進行存檔
Step 2. 撰寫 Arduino 程式將感測資料傳送到 MCS
2.1 下載 【 MCS_Lite.ino 】 的程式碼
❖ 請到下方 URL 進行下載
https://github.com/ArcherHuang/LinkIt_7697/blob/master/Arduino/MCS_Lite/MCS_Lite.ino
2.2 將 12 與 13 行改成自己的 WIFI AP
2.3 將 15 與 16 行改成自己 MCS 上的 DeviceId 與 DeviceKey
備註:MCS Lite 上的 DeviceId 與 DeviceKey 所在位置
步驟 1: 點選 【 LinkIt 7697 】 產品原型
步驟 2: 點選 【 測試裝置 】
步驟 3: 即可看到 DeviceId 與 DeviceKey
2.4 將 17 行改成自己 MCS Lite 上的 IP
備註:MCS Lite 上的 IP 位置
Step 3. 燒錄程式
❖ 點選 【 草稿碼 】➙ 【 上傳 】
❖ 上傳成功
Step 4. 開啟序列埠監空視窗
❖ 點選 【 工具 】➙ 【 序列埠監空視窗 】
❖ 序列埠監空視窗畫面