2019年2月11日 星期一

Raspberry pi 3B+,node red安裝、node red支援藍牙節點

這步可以很簡單,我卻雷殘好多次


node red部份
直接跑node red網站上的bash script,不用root權限,pi專用節點的選項視需要安裝
https://nodered.org/docs/hardware/raspberrypi
這樣會自動裝好/更新好node.js V10長期支援版(node red的基底)和npm(node package manager),後者是node red要依賴他來管理另外安裝的節點

剛裝好時,email功能節點(node-red-node-email)內建了一個非常老的版本,其節點網頁有說明該如何更新
參照 https://flows.nodered.org/node/node-red-node-email
有更新一次的話,之後重跑nodered的安裝script似乎不會動到

pi專用節點有選安裝的話,看起來會增加:
node-red-contrib-ibm-watson-iot
node-red-contrib-play-audio
node-red-node-ping
node-red-node-random
node-red-node-serialport
node-red-node-smooth


藍牙部份
我主要是想連小米的溫溼度計。手機不用裝app,pi直接連就可以了,可以少擔心一點
用這個節點可以連溫溼度計和另一項藍牙產品 https://flows.nodered.org/node/node-red-contrib-xiaomi-ble
按照此節點的說明,他是依賴noble來運作的,所以要裝noble
原版的安裝script在node v10裝不起來,網路上看到不少說降版回v8的...不過有人突破了
參考 https://github.com/noble/node-bluetooth-hci-socket/issues/84
回文有提到,用這個安裝
npm install "https://github.com/jrobeson/node-bluetooth-hci-socket/#fix-builds-for-node-10" # worked

但是,我在找到這行之前,有先打過幾行我覺得可能也有影響的指令(可能是拼圖的一部分),先列出
sudo apt-get install bluetooth bluez libbluetooth-dev libudev-dev
sudo setcap cap_net_raw+eip $(eval readlink -f `which node`)
看解說感覺是有用啦,但是還沒閒到重灌來驗證,所以不知道w

沒有留言: