Raspberry Pi Camera V2之二:microbit使用蓝牙控制树莓派摄像头拍照

microbit 树莓派 摄像头 蓝牙 python
pATAq
发布时间: 2018-08-27
阅读: 3662

前言


本篇接上篇:Raspberry Pi Camera V2之一:基础及牛刀小试

http://www.ickey.cc/e/article/detail?aid=180


原创文章,转载引用务必注明链接。水平有限,好好写是不可能好好写的,这辈子都不可能的好好写的,只能糊弄一下这样子。论坛里面个个都是人才,说话又好听,我超喜欢这里的!


1、项目概览


本文旨在实现这样一个功能:用MicroBit配合DFRobot出品的gamePad拓展板通过蓝牙控制树莓派上的摄像头进行拍摄,并可以通过gamePad方向键控制云台。主要涉及的知识点包括:

  • python控制摄像头及串口通讯

  • 蓝牙串口通讯实现

  • 云台控制

  • microbit编程实践


1.1 硬件需求


  1. 树莓派3B

  2. 树莓派摄像头

  3. 简易云台

  4. microbit

  5. gamePad for microbit


1.2 软件环境


  1. picamera 用于控制摄像头

  2. bluezero用于蓝牙通讯

  3. bitty blue作为mb固件

此外还可以参考《Sending 'commands' from a micro:bit over Bluetooth》


2、项目实现——借力Micro:bit之蓝牙版RPi自拍照相机


首先我们通过蓝牙使microbit和RPi可以进行通讯。需要蓝牙串口通讯,以Python为例。其实相关已经有很多了,参考http://microbit.org/zh-CN/guide/raspberry-pi/,核心是mb和RPi通讯。以上都是通过有线串口通讯,我们想做的是基于BLE,https://ukbaz.github.io/howto/ubit_workshop.html


2.1 设置树莓派端


我们需要在树莓派上安装Python3和bluezero包,以Raspbian为例,运行命令:


sudoapt install python3 python3-pipsudopip3 install bluezero


一执行,出错不少。


SSLError,ERROR: The certificate of ‘files.pythonhosted.org’ is not trusted


执行以下命令解决:


apt-get install python3-dbus gipip3 --trusted-host files.pythonhosted.org install setuptools bluezero


2.2 设置micro:bit


我们下载Bitty Blue Hex固件并烧录到microbit中,记得选择no pairing required固件。



烧录后首次运行microbit需要翻转一下直到microbit显示一个可随倾斜变化的圆点,之后就可以连接树莓派了。


2.3 使用树莓派连接micro:bit


受此链接树莓派和mb的时候需要确保mb在RPi的蓝牙已知设备列表里,这里借助bluetootlctl工具。这里RPi和mb的蓝牙地址以xx:xx:xx:xx:xx:xx 和 yy:yy:yy:yy:yy:yy 为例。


使用bluetoothctl


在树莓派上终端里输入bluetoothctl进入[bluetoothctl]#模式。此模式下输入help可以查看支持的命令。输入show可以查看RPi的蓝牙是否启用。



Powered为yes时表示启用状态,否则输入power on以启用。另外注意几下


扫描micro:bit


尽量把mb放的近一点,如果附近设备比较多的时候,扫到mb就停下。


scan onscan off



连接micro:bit


连接蓝牙需要指定蓝牙设备地址,然后选择connect。因为我们用的是no pairing required版,所以不需要进行密钥配对。连接上之后mb的LED矩阵会显示一个"C"字符。如图所示:



输入devices命令即可看到已连接的设备。输入exit退出bluetoothctl工具


3、使用Python与mb进行蓝牙交互


从RPi上向mb发送消息



响应mb上的按钮动作




4、mb控制python拍照并实时预览



原创作品,未经权利人授权禁止转载。详情见转载须知 举报文章

点赞 (0)
pATAq
评论(0)

登录后可评论,请 登录注册

相关文章推荐
X
你的打赏是对原创作者最大的认可
请选择打赏IC币的数量,一经提交无法退回 !
100IC币
500IC币
1000IC币
自定义
IC币
确定
X
提交成功 ! 谢谢您的支持
返回

我要举报该内容理由

×
请输入您举报的理由(50字以内)