20藍牙再探索

(2022/09/30)

有關這主題,之前已有研究過,但已經忘了差不多了,再加上有相關研習的課程要上,所以再來複習一下


之前的文章,供參:


一、使用配對說明

  • 添加「藍牙」積木(在【擴展】搜尋【Bluetooth】(在【廣播積木】改為【藍牙積木】,兩者不能共存)

  • 藍牙連線的設定,如下圖

    • 有三種,直接使用第一種【不需配對】比較方便!

      • 不需配對:使用手機APP時,仍要配對,但在藍牙下搜尋即可發現此設備,並直接進行配對。

      • 自動配對(預設值):開發板先進入【配對模式】(按A+B、Reset、放 Reset、放A+B),手機藍牙才可發現此設備,不用輸入密碼即可配對成功!

      • 密碼配對:開發板先進入【配對模式】(按A+B、Reset、放 Reset、放A+B),手機藍牙才可發現此設備,按A鍵後,開發板會出現6位密碼,輸入手機後才可配對成功!

    • 使用上,如果發現無法進行上面三者切換時,請關閉makecode再重新開啟程式

    • 如果一直無法搜尋到此藍牙設備時,請將開發板進入【配對模式】再進行搜尋

、micro:bit Blue手機APP的使用

、藍牙串口服務測試

    • 實作內容說明:

      • 一開始啟用藍牙串口(UART)服務

      • micro:bit會一直讀取來自串口的資料,並判斷是否有【換行】

      • 如果讀取到的資料是1,就將屏幕的呈現【愛心】圖案 (就相當於近端開燈)

      • 如果讀取到的資料是0,就將屏幕的所有LED燈點滅掉 (就相當於近端關燈)

      • 如果讀取到的資料不是1或2,就將屏幕上顯示所輸入的資料

      • 按A按會將目前的【光線感測值】寫入到串口

      • 按B按會將目前的【方位感測值】寫入到串口 (使用方位角一開始可能要求畫圓來校正羅盤)

      • 補充說明:串口UART(Universal Asynchronous Receiver/Transmitter,即通用異步收發器)串口通信是單片機最常用的一種通信技術,通常用於微控制器和電腦之間、微控制器和微控制器以及微控制器和無線模組之間的通信。

    • 程式如下:下載 https://drive.google.com/file/d/1Ggu4xwIaIHxRoI10CEZ2r5Pw71ibB8pB/view?usp=sharing

  • 如何判斷【資料接收完畢】

    • 利用是否收到一些【特殊符號】來做判斷

    • 最常見有:

      • LF(Line Feed)最後加上特殊字元\n,表示「換行」。(建議用此)

      • CR(Carriage Return)最後加上特殊字元\r,表示「回車」,把裝置的位置重設到一行字的頭。

四、利用手機APP透過藍牙與micro:bit互動

    • 手機先透過藍牙與micro:bit進行配對

    • micro:bit只支援【BLE】,不支援【經典藍牙】???(再查細節)

    • 常見的手機藍牙APP

      • 不適用的藍牙APP:(這些APP只針對【經典藍牙】,配對後雖可看到,但連不上)

        • Arduino BlueControl

        • Arduino Bluetooth Control(尤大大)

        • Annikken Andee

      • 適用的藍牙APP:(這些APP針對【BLE】)

        • Serial Bluetooth Terminal

        • nRF Connect (除支援android,也支援ISO)

        • LightBlue

        • BLE scanner

        • V7RC(最近很紅)

        • Bluetooth Electronics(這APP可做操控面板,但一直無法連上micro:bit,失敗,真的很可惜)

    • 各APP基本功能介紹:

      • Serial Bluetooth Terminal

        • 參閱參考文

      • nRF Connect (除支援android,也支援ISO)

      • LightBlue

      • BLE scanner

      • V7RC

        • 原理如下圖

        • 連線後APP會一直送出訊息

  • 作品說明

          • 利用轉盤來控制屏幕顯示內容

            • CH1(左右移動),基準值1500

              • CH1>1700點亮右方(4,2)的燈

              • CH1<1300點亮左方(0,2)的燈

            • CH2(上下移動),基準值1500

              • CH1>1700點亮上方(2,0)的燈

              • CH1<1300點亮下方(2,4)的燈

            • CH3(上下移動),基準值1500

              • CH1>1700 關閉上方(2,0)的燈

              • CH1<1300關閉下方(2,4)的燈

            • CH4(左右移動),基準值1500

              • CH1>1700關閉右方(4,2)的燈

              • CH1<1300關閉左方(0,2)的燈

            • 程式如下:下載 https://drive.google.com/file/d/1erPlb1WPuEJn4fIX-9lcc0One3bqqSOm/view?usp=sharing

  • 簡易操作