目的:使用 MacBook (or Linux) + Node.js + Web BlueTooth
準備環境:
1.MacBook / Linux 或 Raspberry Pi 3 (此篇用MacBook Pro筆電示範,其實 Windows10經測試不穩定、時好時壞...故放棄)
2.micro:bit板(可外接電池盒)
3.Android手機
4.WEB BlueTooth API
插播一段小插曲~
X X X
其實,我一開始在 Web BlueTooth API ( https://webbluetoothcg.github.io/web-bluetooth/#introduction ) 的官方文件鬼打牆了很久(可能是我笨),在 Windows10的筆電上又實作不出其範例,於是我另外找了一個網文 https://shimz.me/blog/microbit/5476 看了其影片 https://twitter.com/i/videos/tweet/909941838567530496 後確認是我要的(非常感謝作者願意分享了大部分的實作過程,雖然是日文且不太詳細)...
X X X
步驟:
依據日本朋友的網文,具體說明了--二件事前準備,如下圖
- 先至網頁 参考:Flashing micro:bit firmware 依指示安裝相關的東東...
- 到 Prerequisites 中的 [See noble prerequisites] ,可以看到不同的作業系統要安裝的套件是不一樣的,我用 OS X ,只要安裝 install Xcode,但我直覺地反應不用管它...
- 到 https://github.com/sandeepmistry/node-bbc-microbit#flashing-microbit-firmware 複製源碼 git 路徑,如下圖
- 開啟 App--終端機,下載源碼(指令: git clone https://github.com/sandeepmistry/node-bbc-microbit.git ),如下圖
- 再進入該目錄 node-bbc-microbit ,如下圖
- 到 https://nodejs.org/en/ 下載並安裝 Node.js 如下圖
- 回到 終端機 ,開始安裝... 看到 package.json 就知道要先安裝npm套件 (npm install),如下圖
- 回到 https://github.com/sandeepmistry/noble 中的 Install 安裝 noble (npm install noble),如下圖
- 檢查已安裝的套件 (ls node_modules),如下圖
- 回到 https://github.com/sandeepmistry/node-bbc-microbit#flashing-microbit-firmware 安裝 bbc-microbit(npm install bbc-microbit -g),如下圖
2.下載 intel-hex file ( https://github.com/sandeepmistry/node-bbc-microbit/tree/master/firmware ) node-bbc-microbit-v0.1.0.hex 並複製至 micro:bit 中,之後在 5x5 LED會出現 Draw a Circle 在 (2,2) 位置,請自行完成畫一個 大O 的遊戲,它會出現不同的幾何圖點表示完成,再按 Reset鈕 重開 micro:bit 又會出現畫O遊戲一次...再出現第三次...如下圖(完成遊戲後會顯示三角形、第二次是六角形、第三次是 笑臉)
在此,解釋為何要更新此hex韌體呢?!
網頁上已有答案了...(This build removes pairing security and enables all BLE services.)
我在此,將 hex 複製到 new:bit 時會有三次畫O遊戲,而 micro:bit 則只會有一次...不知為何?!
在執行.js程式後 才有 藍牙連線符號...才正常(只能對一個 )...如下圖
以上測試,在 micro:bit 板子是正常的,但用 new:bit 執行時則無法顯示結果...不知原因在那?!
經過測試,在 Mac OS X 或 Linux 環境,利用 node.js 及 Web Bluetooth API 來寫 javascript 程式並透過 BLE 來與 micro:bit 互動,是很容易的...接下來,移植到 Web網頁程式 在 Chrome瀏覧器(電腦、平板、手機)上來玩,就不難了!!
在此,先暫停打住,且聽下回(Part II)分解...
網頁上已有答案了...(This build removes pairing security and enables all BLE services.)
我在此,將 hex 複製到 new:bit 時會有三次畫O遊戲,而 micro:bit 則只會有一次...不知為何?!
經過一番的安裝,終於可以開始測試 examples...
測試:
1. 先進入 examples 目錄,查看有那些...如下圖
2. 安裝 App -- LightBlue 來查看 Bluetooth BLE Services...如下圖
此時,可以看見 上方的 藍牙裝置 有 連線符號,如下圖
測試:
1. 先進入 examples 目錄,查看有那些...如下圖
2. 安裝 App -- LightBlue 來查看 Bluetooth BLE Services...如下圖
此時,可以看見 上方的 藍牙裝置 有 連線符號,如下圖
3. 測試 javascript 程式(12支),如下圖
在執行.js程式後 才有 藍牙連線符號...才正常(只能對一個 )...如下圖
以上測試,在 micro:bit 板子是正常的,但用 new:bit 執行時則無法顯示結果...不知原因在那?!
經過測試,在 Mac OS X 或 Linux 環境,利用 node.js 及 Web Bluetooth API 來寫 javascript 程式並透過 BLE 來與 micro:bit 互動,是很容易的...接下來,移植到 Web網頁程式 在 Chrome瀏覧器(電腦、平板、手機)上來玩,就不難了!!
在此,先暫停打住,且聽下回(Part II)分解...
後記:在我的資訊學習之路,我一直走的慢、不知所以然...也自認頭腦差、學歷差、閱讀技巧差、英文能力差等原因及藉口(也沒有財團或有錢的老闆資助栽培)&(家人也不是很支持--因為當我瘋狂專注於電腦時常常會忽略了陪伴家人),經常學學停停、虛度光陰,在職場也是起起落落。但憑藉著20%的電腦興趣+80%的白癡自學法,讓我這隻已經凋零的老笨鳥飛到了現在的境界(其實也沒什麼?!),深感受惠於網路及先進大神的眷顧,希望有朝一日回饋給後面的人我所看過的東西,也期望後進不要像我一樣浪費美好時光(且反對有人築起知識高牆),可以踏實的踩在我背上...看得更遠、更高...:-)
留言