02 MQTT測試
(2020/04/23)
最近很紅的一台小車就是ICSHOP的登月小車,我也在第一時間拿到了7697的轉板(7697:bit breakout),前幾天看到好友俊青,利用手機及MQTT來控制7697的板子,進而控制登月小車,覺得應該不難,玩了幾天終於成功了!積木安裝好後,最主要在就是在介紹Virtuino MQTT的使用了。最後還要感謝吉哥提供這麼好用的積木及俊青的指導!
一、安裝【吉哥積木】
劉正吉老師製作了很多7697的積木,包含這次有使用到的MQTT積木,所以先去安裝【吉哥積木】
參考文件:如何安裝吉哥自製積木,內有積木的安裝說明
將壓縮的資料夾放到指定的地方
將下載的積木檔解壓縮,內有兩個資料夾(arduino-1.8.5及package.nw)
將上面兩個資料夾放到BlocklyDuino3資料夾下 (BlocklyDuino V3 主程式可參閱前一篇文章,測試用版本是下載blocklyduino-3.0.312b-win64-ide.zip,連結如下: https://github.com/MediaTek-Labs/BlocklyDuino-for-LinkIt/releases/tag/3.0.312b)
這邊【吉哥積木】的安裝跟【登月小車】積木安裝的作法一樣
開啟 BlocklyDuino V3 ,即可在積木欄內看到吉哥積木了
但前一章所安裝的【登月小車】積木不見了,殘念!!!
二、安裝【吉哥積木】+【登月小車】的整合版
在車子上遇到問題,當然要找車神,俊青很快給我解答,也就是雙方(ICShop及正吉老師)已有一整合版本了,由ICShop來釋出
整合版本的下載網址:https://github.com/iCShopMgr/LinkIt7697_Bit_for_BlocklyDuino_feat.liou
下載後解壓縮,如下:
其實前一步驟直接下載【0418擴充程式】就可以了,再把【0418擴充程式.zip】解壓縮,就會到arduino-1.8.5及package.nw這兩個資料夾了,比照上面的方法,將這兩個資料夾放到BlocklyDuino3資料夾下就可以了。
開啟 BlocklyDuino V3 ,這時就都會到【吉哥積木】及【登月小車】積木了,第一個部份,成功!
三、MQTT的使用
正吉老師的教學講義:https://sites.google.com/jes.mlc.edu.tw/ljj/linkit7697/mqtt%E7%A9%8D%E6%9C%A8
範例一:訂閱Topic,並接收訊息
範例二:訂閱多個Topic
範例三:發佈訊息(Publish)
透過上面三個範例可以知道MQTT積木要如何使用
四、手機端MQTT的APP (Virtuino MQTT)
接下來利用手機的APP程式,來控制7697上的屏幕畫面,就像下圖的功能,手機為發佈訊息端,按下各方向鍵,OLED上會顯示不同圖案
從正吉老師及俊青老師處,得知他們都使用Virtuino MQTT的APP,所以也在手機端安裝了這軟體
Virtuino MQTT的基本操作
設定MQTT伺服器
這次採用 broker.hivemq.com的伺服器,除更改名稱及加上伺服器網址外,其他都不用變動
接下來,設新增topic,先點選上方的Topic,輸入一個名稱及主題
完成何服器的建置,如要使用這台伺服器,要將後方的空格打勾(變Enable)
建立控制面板,點擊下方的【 十 】,由於這次有5個按鍵,所以選Switches-Buttons的項目 (由於是免費版,只有12個物件可用)
按鍵設定說明,有四種樣式,這邊採用Set on button
選取我們前面設定的伺服器,選擇按鍵圖案,並把Switch ON的值設為1,等一下的【下方按鍵】設為2,【左方按鍵】設為3,【右方按鍵】設為4,【停止按鍵】設為0
最後用同樣的方式,完成所有的按鍵
啟動連線
連線成功,代表發佈端已完成!
五、7697端的程式
檔案如附件
測試成功!