◎活動一: MQTT物聯網線上通訊練習
一、先進入不記名(不使用帳號)的公用MQTT_Server MQTTGO。
1.先按連線
2.配對同學 (1號 配對 31號 ; 2號 配對 32號....依此類推)
3.設定公用帳號(即公開分享),以及 QoS:2。
原則 Publish(發布者) 自己: 9xxxx/chat
以及 Subscriptions(訂閱者) 對方: 9xxxx/chat
舉例: 901的1號要跟901的31號進行MQTT
1號請設定 Publish: 90101/chat Subscriptions: 90131/chat
31號請設定 Publish: 90131/chat Subscriptions: 90101/chat
注 : QoS 的意義 0:最多傳送一次 1:至少傳送一次 2:確實傳送一次
用寄信來比喻,QoS 0就像寄平信,不保證訊息會送達。
3.設定公用帳號(即公開分享),以及 QoS:2。
Publish(發布者) 以及 Subscriptions(訂閱者) 皆為:
Openid/9xxxx
二、本次活動使用OSEP線上編輯軟體(類Scratch)
1.打開桌面OSEP捷徑
2.開啟擴充積木
三、增加MQTT擴充積木,以便練習時可以與MQTT_Broker聯繫。
伺服器設定為:wss://broker.mqttgo.io:8084/mqtt
四、活動練習:
(一)MQTT倒數計時
說明:利用MQTT Subscriptions 方式,
將變數發布至MQTTGO伺服器端
步驟:
1.設定變數 count
2.程式開始:
(1) 初始化 count = 5
(2) 重複 5 次
等待1秒 (程式與MQTT開始連線需要時間)
發布主題 sxxxxx/9xxxx 字串組合 變數
等待1秒
count 改變 -1
(3) 發布主題 sxxxxx/9xxxx 時間到
(二)MQTT控制貓咪移動
說明:利用MQTT Publish 方式,
發布訊息至 OSEP client端
步驟:
1.綠旗開始
2.重複無限次:
如果 訂閱 訊息 = 1
x軸改變 10
如果 訂閱 訊息 = 2
x軸改變 -10
如果 訂閱 訊息 = 3
y軸改變 10
如果 訂閱 訊息 = 4
y軸改變 -10