📎 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 |
Nuwa | public-mqtt.nuwarobotics.com | 1883 | 8883 | 80 | 443 | /mqtt | public | YES | YES | YES | public / testpublic |
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