1、前言
Microbit 自帶藍牙,以前用過BlockytlackyBLE來與App inventor通信。最近不知道出了什麼問題,手機側收發就會閃退。估計也是相容性的問題。自己也想測試一下,能否用其它BLE擴充實作通信。
本文主要給自己爬過的坑做個記錄。另一方面也希望能給Microbit的玩家一些參考。
2、使用的編輯器及插件
Mackecode用的是小喵科技的Makecode離線包,擴充用自帶的BLE藍牙插件。
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIwczX0xiRGZkRGZ0Xy9GbvNGL2EzXlpXazxSPnRUT3lkejBnSXRWdGdkWo50MMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnL4kTM4UTOyMTM2AzNwkTMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
Appinventor 用的是wxbit的 Appinventor 漢化包,它的BLE擴充也是自帶了的。
3、Microbit 部分
原理是,先設定Microbit的藍牙可被所人連接配接,再點儲存。我第一次測試時沒注意,結果APP查得到卻聯不上。
剩下就簡單了。連接配接時顯示 勾,斷開時顯示 叉,收到資訊時 顯示Hello。
另,記得啟動uart服務,一會要用這個來通信。
4、App inventor部分
4.1 界面部分
非常簡單,能完成測試就好了。
4.2 邏輯部分
1) BLE掃描及連接配接
第一次掃描時,Microbit的位址會直接顯示在清單中。記下 ,然後讓App直接對搜尋結果比對,然後連接配接Microbi。這樣可以加快測試速度。 然後改成下面的子產品。
其實上圖綠色的一行已經不需要了,隻是為了測試好看而已。記得位址用的是文本,“:”号用的是英文。
連接配接後記得停止搜尋,不然它會一直做無用功。
2) BLE偵聽
這裡有三個參數需要記住,分别服務UUID,發送UUID,以及接收UUID。在Makcode的幫助中可以查出來,分别是:
public static String UARTSERVICE_SERVICE_UUID = “6E400001B5A3F393E0A9E50E24DCCA9E”;
public static String UART_RX_CHARACTERISTIC_UUID = “6E400002B5A3F393E0A9E50E24DCCA9E”;
public static String UART_TX_CHARACTERISTIC_UUID = “6E400003B5A3F393E0A9E50E24DCCA9E”;
服務、收、發UUID 的差異在這裡
分别是1B、2B、3B
我們偵聽子產品如下:
因為我們是偵聽,是以用的是接收的特征UUID:“6E400002B5A3F393E0A9E50E24DCCA9E”。收到資訊就作以下處理,收到資訊後,标簽1就會顯示内容了。
3)發送
發送的子產品如下:
我們這次是發送,是以特征UUID用的是6E400003B5A3F393E0A9E50E24DCCA9E。
OK可以了。
5、測試
分别把Appinventor及Macode代碼下載下傳到手機(與可以用手機伴侶)和Microbit,經實測,雙向資料都是通過的。
本次測試一方面學習了BLE的用法,另也會用其它藍牙裝置提供了參考。
全文完。謝謝觀看!