2022年7月18日 星期一

[micro:bit, 小彼特, BLE, 藍牙] 你的小彼特(micro:bit)藍牙好配嗎?

 你的小彼特(micro:bit)藍牙好配嗎?

Line:ted2016.kpvs
Email:Lct4246@gmail.com
FBhttp://gg.gg/TedLeeFB/
Bloghttp://gg.gg/TedLeeBlog/

July 18, 2022
[1]

小彼特的藍牙配對 [2] 一直是小彼特粉絲們心中的痛,眼看著明明有板載的無線通訊功能可用,但就是看的到連不到,著實氣人。本文在放棄數年後,因一個新訊息而重燃起一絲絲希望。
終於,經過日以繼夜的努力,在 V2 的主板上以 100% 的成功率實測出一套建立藍牙連線的 SOP 供讀者們做後續應用。

問題說明

2020 年 10 月小彼特的主板由 V1 升級(upgrade)到 V2。其中,V1 的藍牙是 4.0(內建於 Nordic nRF51822 CPU 中),V2 的藍牙是 5.0(內建於 Nordic nRF52833 CPU 中)。我們在官方宣佈全球發行前已先取得了樣品做測試。當然,也在既期待又怕受傷害的心情之下,測了它的藍牙通訊功能。結果,還是以失望收場。
2022 年 6 月 22 日,虎科大陳國益教授公佈了他使用 V7RC app(https://reurl.cc/o1OxDq)已能成功地以小彼特來控制泡棉遙控飛機https://reurl.cc/Wrp35D)──這又再度燃起我們的「妄想」:

Samsung 最早發行在小彼特上以藍牙傳送 MakeCode 程式的 app(https://reurl.cc/DyWZXQ)是否有機會和筆者的 Android 手機更容易速配呢?


註:筆者只關心在 Android 載具上經由藍牙傳送程式到小彼特的操作原因是早在 V1 版時和 Apple 載具的速配率已高達 95% ,但在 Andoid 上不速配災情時有所聞!

實測方法

一般而言,使用藍牙裝置的操作有兩個階段:配對(pairing)和建立連線(connection)。根據筆者在 V1 和 V2 主板上的實測,第一階段通常都沒問題。然而,媒人說完媒後正準備娶親時,新娘竟逃婚了…。而這落跑新娘的戲碼,卻不斷的在重複上演。
還好,目前我們抽樣測試後,已宣告在 V2 主板上可以順利完成任務的流程(V1 主板仍測試失敗) [3],完整的說明文件請參考 https://reurl.cc/3odoKO。註:為避免已記住的藍牙配對裝置無端被優先配對,最好都預先清除之。

配對階段

  1. 主板端:將 V2 主板供電,同時按下 A、B 按鈕後,再按主板背面的重置(reset)按鈕一下,讓小彼特進入藍牙配對模式(Bluetootn mode)。待板載的 25 顆 LED 全亮完,出現藍牙商標(bluetooth logo)https://reurl.cc/x9z9E1)後,接著會出現配對樣式(paring pattern)
  2. Android 載具端:下載 Samsung 開發,現已移交給教育基金會維護的這隻 app(https://reurl.cc/KbVbo9),裝妥後按配對(Pair)功能。再將 1 的樣式填入後即可看到配對成功的勾勾。
  3. 重置主板。

連線傳(flash) MakeCode 程式階段

  1. 主板端:如前述,再讓主板進入藍牙配對模式等候。
  2. Android 載具端:接建立程式(Create Code)功能,app 會自動連入 MakeCode。撰寫一個大、小愛心輪流閃爍的程式後接左下角的下載(download)按鈕。靜待若干畫面後即可看到上個步驟寫好的心跳程式已順利載入主板中執行。

問題討論

  1. 為什麼 Apple 的 iPad 和 iPhone 會比 Android 的裝置(devices)更容易使用藍牙和小彼特通訊呢?
  2. 為什麼本文的方法在 V1 的主板上不能成功傳輸 MakeCode 程式呢?這個問題的可能情況請參考這位麥客友(https://reurl.cc/VDyEX6)的研究推論及他歸納出的一套配對流程。
  3. 關於在 Android 手機(現今應該沒人在用 Andoird 平板了吧?)上用 App Inventor 撰寫 app,並以藍牙遙控 Arduino(利用 HC-05 之類的藍牙模組)外接的 LED,可參考這篇(https://reurl.cc/0pYZWb)。手機和 Arduino 之間的藍牙控制是為傳 a 開燈,傳 b 關燈。讀者們可以仿照 Arduino 的例子,改換成小彼特控制試試。
  4. 關於像 V7RC app 可以很順利和小彼特配對妥並控制其上所外接的馬達之 app,因為陳教授已在 V1 和 V2 實測出百分之百的成功率,故讀者們可以自行再試試看。
  5. 以行動載具做小彼特教學?就算是平板有較大螢幕,拉拉小程式的積木來體驗一下可能還好。一但程式較大,畫面捲來捲去的,應該不是一個好的開發工具吧?
  1. 六種授權條款
  2. 藍牙 vs. 藍芽?(https://reurl.cc/q5MOgy)。
  3. 此測試流程可參考 2017 年拍攝的這段完整影片:https://reurl.cc/0pY2Mb

沒有留言: