noble/bleno為BLE(Bluetooth Low Energy)的Node.js模組,在github上便可找到並有詳細安裝步驟,但我自己在安裝時卻是處處碰壁(windows或是Raspbian都是QQ),爬了一陣子文之後才終於搞定。所以今天就先來分享在windows平台上安裝noble/bleno的流程吧!
安裝node-gyp:
安裝noble/bleno前我們需要先安裝node-gyp,安裝的方法為以系統管理員身分開啟powershell,並輸入以下指令:
npm install --global --production windows-build-tools
node-gyp會在必要工具(python2.7、Visual Studio Build Tools)下載/更新後安裝,如果電腦本來沒有python2.7或Visual Studio Build Tools的話會需要跑一陣子,看到All done就是安裝完成啦!
安裝node-bluetooth-hci-socket:
接著我們需要安裝node-bluetooth-hci-socket。但在安裝之前,我們需要先替換電腦藍芽的驅動。替換驅動需要使用zadig這個工具,開啟後點擊 Options > List All Devices 底下便會出現電腦中的設備列表,選擇藍芽模組(不確定名稱可在 設定>藍芽與其他裝置>更多藍芽選項>硬體 中找到)並按下Reinstall Driver按鈕後就完成替換驅動了。
注意: 替換驅動後電腦會無法使用藍芽,下文有恢復方法
完成上面操作後,輸入以下指令便完成node-bluetooth-hci-socket安裝:
npm install bluetooth-hci-socket
安裝noble/bleno:
最後,直接輸入以下指令就能完成noble/bleno安裝啦!
npm install noble
npm install bleno
安裝完後執行程式可能還是會出現
Error: No compatible USB Bluetooth 4.0 device found!
這樣的錯誤訊息,是因為程式並不知道藍芽的USB ID,因此我們需要到node_modules > bluetooth-hci-socket > lib > usb.js 下,將Zadig顯示的USB ID新增到第66行後面。
測試noble:
到這邊noble/bleno的安裝就徹底完成啦!接著就來測試一下,使用noble搜尋附近藍芽裝置吧。
恢復電腦藍芽功能:
當電腦有藍芽需求時,只需要到裝置管理員中找到藍芽模組,按下更新驅動程式後,就能恢復電腦的藍芽功能啦!
參考資料:
非常感謝讀完本篇文章,希望本文能對你有些幫助,記得按拍手給我一些鼓勵,Medium 文章中一個人最多能按 50 下 !