MIT App Inventor 2 用積木來寫手機上的 APP 程式,非常方便。但是沒有 MQTT 的功能,須要安裝擴充程式。這邊使用的是 Ullis Roboter Seite 的 AI2 MQTT Extension : 把畫面往下捲到 Download 點選下載連結,檔名為 UrsAI2Paho.ZIP。解開壓縮檔會得到一個資料夾,內容如下: 我們會需要用到 de.ullisroboterseite.ursai2pahomqtt.aix 這個檔案,其他資料夾都是參考的資料。 接著登入到 MIT App Inventor 2 網站,開啟新的專案。在左邊元件面板點開「擴充套件」,再點選「匯入擴充套件」,然後選取剛才解壓縮得到的 de.ullisroboterseite.ursai2pahomqtt.aix 上傳上去。 完成後就會看到有一個 UrsPahoMqttClient 元件,然後把這個元件拉到中間的「工作面板」畫面裡,但因為這個元件是「不可見的元件」,所以只會出現在最底下。 然後在右邊的元件內容裡,「Broker」填入你要使用的 MQTT Broker 伺服器網址,「Port」若伺服器沒有特別指定則沿用內定的 1883。 接下來的畫面佈置請參考下列畫面: 畫面中有二個標籤是文字內容預先清除的:「連線狀態」、「接收到的訊息」。 切換到程式設計畫面,將連線按鈕.被點選放入UrsPahoMqttClient1「連線」積木、斷線按鈕.被點選放入 UrsPahoMqttClient1「斷開連線」積木。 接下來要顯示是否已經連線到 Broker,若有連線則訂閱我們指定的主題,使用 UrsPahoMqttClient1.ConnectionStateChanged 積木(連線狀態改變)、UrsPahoMqttClient1.Subscribe(訂閱): 「送出訊息」的按鈕填入 UrsPahoMqttClient1.Publish 發佈按鈕: 最後在收到訊息時,要顯示在「接收到的訊息」標籤上,使用 UrsPahoMqttClient1.收到簡訊積木: 以上都完成後,就可以開始測試我們的 APP 啦!因為 MQTT 至少是要有二邊互相測試,一邊用我們做的 APP,另一邊就使用法蘭斯老師用 Ja...