IOT 方塊說明

📎 IOT 方塊說明

更多 IOT 詳細說明,請參考下方的 👉🏻線上免費 IOT 服務器 說明

連線至 IOT 服務器

此方塊可以連線至 IOT 伺服器,第一欄輸入伺服器的位址,第二、三欄輸入帳號與密碼 (有些服務不需帳密時,輸入空白鍵即可)。

註 1  此網址是在網頁上執行,因此需使用 MQTT over websocket 的 protocol 來連接,如您使用外部 broker server 需注意此 server 是否有提供 websocket 的 protocol
註 2  如需在模擬器測試使用,由於瀏覽器限制不能混用加密與非加密的連線,請使用 wss:// 來作為連線的 protocol
發送消息 ”__” 至 Topic ”__”

此方塊可以發送消息至Topic。例如發送消息「溼度」至「灑水器」。

當從“__”收到消息時

當從 Topic 收到剛才所發送的消息時,此方塊就會執行缺口裡的程式。例如當從「溼度感測器」收到消息後,當溼度低於 50,執行灑水。

收到的消息

當從 Topic 收到剛才所發送的消息時,此方塊就會執行缺口裡的程式。例如當從「溼度感測器」收到消息後,當溼度低於 50,執行灑水。

📎 線上免費 IOT 服務器說明

什麼是 MQTT

MQTT 是一種基於「發布 ∕ 訂閱」機制的訊息傳輸協定。就像是發行雜誌的機制。MQTT 訊息發送端,就等於雜誌出版社,雜誌出版之後並不直接寄給消費者,而是交給經銷商或者書店等通路讓消費者購入。

代理人可儲存發布者的訊息。訂閱者需要告知代理人想要訂閱的主題。每當發布者傳入新訊息時,代理人就會依照主題,傳送給所有訂閱者。由於兩個用戶端之間有伺服器當作中繼站,所以兩邊並不需要知道彼此的 IP 位址。

可使用的 MQTT Server 資源有:

Name Broker Address TCP Port TLS Port WebSocket Port WebSocket Port over TLS WebSocket URI Topic Prefix Message Retention Persistent Session Sign Up Requred Account / Password
Eclipse
mqtt.eclipseprojects.io
1883
8883
80
443
/mqtt
--
YES
YES
NO
--
Mosquitto
test.mosquitto.org
1883
8883
8080
8081
--
YES
YES
NO
--
EMQX
broker.emqx.io
1883
8883
8083
8084
/mqtt
--
YES
YES
NO
--
HiveMQ
broker.mqttdashboard.com
1883
--
8000
--
/mqtt
--
YES
YES
NO
--
adafruit
io.adafruit.com
1883
8883
--
443
/{username}/feeds/{feeds_name}
--
YES
YES
YES
User sign up
MQTT 的主題 (Topic)

我們可以自行決定 MQTT 的主題名稱,例如,傳送溼度的訊息主題可命名成「溼度」。

主題名稱也支援階層式命名方式,假設住家裡面有許多感測器,我們的住家的廚房有一個亮度感應器,其主題名稱可命名為:住家 廚房 亮度感應器 (實際情況請使用英文)。

線上免費 IOT 服務器

請參考以下步驟進行實作

1. 至 https://io.adafruit.com/ 申請免費帳號。

2. 選擇 IO/Feeds/view all。

3. 選擇 New Feed。

4. 輸入好資訊後按下 Create。

5. 點選建立好的 Feeds

6. 選擇 Feed Info。

7. 記下 MQTT by key。

8. 點選 IO/My Key。

9.記住 IO_USERNAME IO_KEY。

10. 輸入上方步驟得到的資訊 1 =wss://io.adafruit.com 2= IO_USERNAME 3=IO_KEY 4/5=MQTT by key。

11. 傳送到機器人後執行測試。

當摸頭時,會透過 MQTT 發送給機器人做微笑跟說:「你好阿」。

12. 在對應的  aaaokk>Feeds>MQTT_TEST 下也可以看到發的訊息。

📒 補充:其他延伸使用,請參考: https://io.adafruit.com/api/docs/mqtt.html?cpp#adafruit-io-mqtt-api

📎 機器人範例介紹影片

CONTENTS