用 Raspberry pi 4 來做 LINE Beacon (四、設定藍牙)

RenZhou
3 min readMar 5, 2020

--

終於到重頭戲啦,也是最麻煩的部分。在一開始我怎麼嘗試就是打不開 Raspberry pi 的藍牙功能,套件也換了好幾個版本都沒改善,甚至從 ubnutu 18.04 版換成現在的 19 版一樣沒解決,一度還懷疑 Raspberry pi 4 是不是把藍牙模組拿掉了。結果好像重開機就沒問題了😅。

安裝藍牙套件

sudo apt install bluetooth bluez libbluetooth-dev libudev-dev# 啟動藍牙sudo systemctl start bluetooth# 關鍵是這個,沒裝好像怎樣都找不到藍牙sudo apt install pi-bluetooth# 接著重新開機sudo shutdown -r now

重新開機後,來測試看看是否藍牙有效

$ hcitool dev
Devices:
hci0 B8:27:EB:D9:EC:C9
看到這個就恭喜成功啦

安裝 NodeJS

因為我們等等要用的 line-simple-beacon 是基於 Nodejs 寫的程式,其中也其中也用到了 npm 這個套件管理程式。由於裝 npm 就會順帶裝 nodejs 因此只要下指令裝 npm 就可以了。

sudo apt install npm

NodeJS 降版本

說來話長,太新的nodejs 版本連 npm 都不敢保證能不能正常運作,而 line-simple-beacon 的文件也說超過 10 版本的 nodejs 不能運行,先來看一下我們是幾版

$ node -v
v10.15.2

因此我們只好降版本。網路上有很多讓你安裝軟體源,移除再重裝的方法,我覺得太麻煩了,剛好 npm 上就有一個工具,可以方便你隨時安裝任何版本的 nodejs

sudo npm install n -g

裝好 n 之後我們就挑一個版本來裝,這邊就裝 8.11.3 版

sudo n 8.11.3

接著只要登出(exit) 再登入,就能用 8.11.3 版本的 nodejs 了

$ node -v
v8.11.3

Clone 專案並安裝

clone 下來後,我們進去他的資料夾來安裝

git clone https://github.com/line/line-simple-beacon.gitcd line-simple-beacon/tools/line-simplebeacon-nodejs-sample/npm install

設置到這邊就差不多完成囉

--

--