?1、項(xiàng)目概覽
? ? ?本文旨在實(shí)現(xiàn)這樣一個(gè)功能:用MicroBit配合DFRobot出品的gamePad拓展板通過(guò)藍(lán)牙控制樹(shù)莓派上的攝像頭進(jìn)行拍攝,并可以通過(guò)gamePad方向鍵控制云臺(tái)。主要涉及的知識(shí)點(diǎn)包括:
python控制攝像頭及串口通訊
藍(lán)牙串口通訊實(shí)現(xiàn)
云臺(tái)控制
microbit編程實(shí)踐
1.1 硬件需求
樹(shù)莓派3B
樹(shù)莓派攝像頭
簡(jiǎn)易云臺(tái)
microbit
gamePad for microbit
1.2 軟件環(huán)境
picamera 用于控制攝像頭
bluezero用于藍(lán)牙通訊
bitty blue作為mb固件
此外還可以參考《Sending 'commands' from a micro:bit over Bluetooth》
2、項(xiàng)目實(shí)現(xiàn)——借力Micro:bit之藍(lán)牙版RPi自拍照相機(jī)
首先我們通過(guò)藍(lán)牙使microbit和RPi可以進(jìn)行通訊。需要藍(lán)牙串口通訊,以Python為例。其實(shí)相關(guān)已經(jīng)有很多了,參考http://microbit.org/zh-CN/guide/raspberry-pi/,核心是mb和RPi通訊。以上都是通過(guò)有線串口通訊,我們想做的是基于BLE,https://ukbaz.github.io/howto/ubit_workshop.html。
2.1 設(shè)置樹(shù)莓派端
我們需要在樹(shù)莓派上安裝Python3和bluezero包,以Raspbian為例,運(yùn)行命令:
sudoapt install python3 python3-pipsudopip3 install bluezero
一執(zhí)行,出錯(cuò)不少。
報(bào)SSLError,ERROR: The certificate of ‘files.pythonhosted.org’ is not trusted,
執(zhí)行以下命令解決:
apt-get install python3-dbus gipip3 --trusted-host files.pythonhosted.org install setuptools bluezero
2.2 設(shè)置micro:bit
我們下載Bitty Blue Hex固件并燒錄到microbit中,記得選擇no pairing required固件。
燒錄后首次運(yùn)行microbit需要翻轉(zhuǎn)一下直到microbit顯示一個(gè)可隨傾斜變化的圓點(diǎn),之后就可以連接樹(shù)莓派了。
2.3 使用樹(shù)莓派連接micro:bit
受此鏈接樹(shù)莓派和mb的時(shí)候需要確保mb在RPi的藍(lán)牙已知設(shè)備列表里,這里借助bluetootlctl工具。這里RPi和mb的藍(lán)牙地址以xx:xx:xx:xx:xx:xx 和 yy:yy:yy:yy:yy:yy 為例。
使用bluetoothctl
在樹(shù)莓派上終端里輸入bluetoothctl進(jìn)入[bluetoothctl]#模式。此模式下輸入help可以查看支持的命令。輸入show可以查看RPi的藍(lán)牙是否啟用。
Powered為yes時(shí)表示啟用狀態(tài),否則輸入power on以啟用。另外注意幾下
掃描micro:bit
盡量把mb放的近一點(diǎn),如果附近設(shè)備比較多的時(shí)候,掃到mb就停下。
scan onscan off
連接micro:bit
連接藍(lán)牙需要指定藍(lán)牙設(shè)備地址,然后選擇connect。因?yàn)槲覀冇玫氖莕o pairing required版,所以不需要進(jìn)行密鑰配對(duì)。連接上之后mb的LED矩陣會(huì)顯示一個(gè)"C"字符。如圖所示:
輸入devices命令即可看到已連接的設(shè)備。輸入exit退出bluetoothctl工具。
3、使用Python與mb進(jìn)行藍(lán)牙交互
從RPi上向mb發(fā)送消息
響應(yīng)mb上的按鈕動(dòng)作
?
4、mb控制python拍照并實(shí)時(shí)預(yù)覽
評(píng)論
查看更多