python控制摄像头拍照_microbit使用蓝牙控制树莓派摄像头拍照

1、项目概览

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

python控制摄像头及串口通讯

蓝牙串口通讯实现

云台控制

microbit编程实践

1.1 硬件需求

树莓派3B

树莓派摄像头

简易云台

microbit

gamePad for microbit

1.2 软件环境

picamera 用于控制摄像头

bluezero用于蓝牙通讯

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固件。

pIYBAFyO8vSAapYsAABaOHUQrgY125.png

烧录后首次运行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的蓝牙是否启用。

o4YBAFyO8t-AO-B3AAXdGB_kxx8956.jpg

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

扫描micro:bit

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

scan onscan off

o4YBAFyO8uCAerSlAAGlVoge4mo809.jpg

连接micro:bit

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

pIYBAFyO8viAdeFOAAMYP6QWQdw902.jpg

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

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

从RPi上向mb发送消息

o4YBAFyO8uGAXCGhAAAtY2IoYxw607.png

响应mb上的按钮动作

pIYBAFyO8viAO7fxAAAxtUuiLUA318.png

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

o4YBAFyO8uKACHf9AAAh9goSdCg299.png

pIYBAFyO8vmAc45ZAABc6C9eDB8667.jpg

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值