69 凱斯KSB039網網相連之遠端控制

(2020/06/17)

小小機器人的專題製作,任務九:網網相連之外部(遠端)控制

一、設備

  • KSB039 IOT 物聯網擴展板

    • 最重要的是背面可上網的設備

二、連網說明

    • 簡易連網程式

    • 若屏幕出現如下圖案,代表連網成功,連線成功後,按A鍵會顯示自己的IP

      • 註:要使用擴展板供電,3V或5V好像都可以!

    • 也可以增加連線成功顯示V,連線失敗出現X

    • 教學影片

三、MQTT介紹

  • 認識MQTT

    • 先要知道 MQTT的Publisher(發布者), Broker(代理人)和Subscriber(訂閱者),以下資料取自 【MQTT教學(一):認識MQTT】(內有MQTT的詳細說明)

    • 根據MQTT 3.1.1版本規格書的描述,MQTT是一種基於「發布∕訂閱」機制的訊息傳輸協定(MQTT is a Client Server publish/subscribe messaging transport protocol),我們可以把它想成雜誌發行和訂閱的機制。MQTT訊息發送端,相當於雜誌出版社,雜誌出版之後並不直接寄給消費者,而是交給經銷商或者書店一般的代理人(broker),來統籌管理發行和訂閱事宜。每一個訊息來源(刊物)都有個唯一的主題名稱(刊物名稱)。

    • 代理人是個伺服器軟體(本文採用broker.hivemq.com),向伺服器發送主題的一方是發布者(publisher),從伺服器獲取主題的一方則是訂閱者(subscriber)。以下圖為例,傳送感測器資料的一邊是發布者,接收感測器資料的一邊則是訂閱者。每個感測器∕微控器的訊息都需要有個主題名稱以利識別。

    • MQTT的主題(Topic)名稱:MQTT主題名稱是UTF-8(萬國碼)編碼的字串,我們可以自行決定主題名稱,例如,傳送溫度的訊息主題可命名成「溫度」、傳送亮度的訊息主題叫做「照度」…等等。主題名稱也支援類似檔案路徑的階層式命名方式

  • 利用MQTT的機制來達成【遠端控制】

    • 利用手機(或電腦)的MQTT軟體來發布【主題】,此時手機(或電腦)為發布者

    • 利用micro:bit來訂閱【主題】,此時micro:bit為訂閱者

    • Broker代理人是個伺服器,本文採用broker.hivemq.com

  • MQTT Client 發布者

      • 從WIN10到microsoft Store

      • 從chrome 線上應用程式商店

    • 設定MQTTBox (採用下載安裝版)

        • 建立MQTT Client

        • 發布及訂閱主題

        • 發布主題測試,看自己能否接到訂閱資料

  • 教學影片

四、micro:bit訂閱者

  • 功能說明

    • 當發布者針對訂閱主題發布1時,micro:bit屏幕顯示【笑臉】

    • 當發布者針對訂閱主題發布2時,micro:bit屏幕顯示【哭臉】

  • 程式部份

    • 另一種寫作方法

五、micro:bit發布者

  • 訂閱者也可以當發布者,發布者也可以當訂閱者

  • 接下來將micro:bit當發布者,把可變電阻的【類比值】發布出去,讓訂閱者接收

    • 教學影片

五、我也會舉一反三

  • 請同學在MQTTBox上輸入1,擴展板上的第1顆RGB LED燈亮起

  • 請同學在MQTTBox上輸入2,擴展板上的第2顆RGB LED燈亮起

  • 請同學在MQTTBox上輸入3,擴展板上的第3顆RGB LED燈亮起

  • 請同學在MQTTBox上輸入4,擴展板上的第4顆RGB LED燈亮起

  • 請同學在MQTTBox上輸入5,擴展板上的全部RGB LED燈都滅掉