聊聊身边的嵌入式,自拍神器自拍杆

本文详细介绍了自拍杆的工作原理,尤其是其蓝牙遥控器的低功耗设计。核心芯片为ST17H56,由深圳伦茨科技提供,特别适合自拍杆应用。通过蓝牙连接,遥控器模拟手机音量增大键实现拍照功能。文章还探讨了芯片的功耗,并估算其电池寿命,以及如何通过代码实现类似功能。此外,还提及了线控自拍杆的原理,即通过耳机接口控制拍照。
摘要由CSDN通过智能技术生成

曾几何时,自拍杆风靡世界,

火当然是有原因的,这么一个小装备,极大的满足了人们爱拍照的需求,方便好用、经济实惠。

恰巧我手上也有一个,收起来时很小、不占地方

打开后可随意调节拍照

同时它有个隐藏式三脚架功能,可用来直播、录视频,设计的很周到。

杆子里藏了一个小东西:蓝牙遥控器,就是通过它来控制手机进行拍照的。使用时先长按按键3s、指示灯闪烁,然后手机蓝牙就可以搜索到它,连接之后就可以打开手机相机使用了,按一次按键实现一次拍照。

打开,看看它的内部:

电路板超级简单,元器件非常少,蓝牙芯片用的是ST17H56,深圳伦茨科技的芯片,第一次听说这个公司和这个芯片,再一次感叹深圳电子行业的发达。

来源于:https://www.lenzetech.com/stProduct/ST17H56

这是一款专门给自拍杆用的芯片,程序是出厂内置的。

该芯片系统框图如下:

功耗参数如下:

作为一款纽扣电池供电(CR1632标称容量120mAh)的产品,自然要关注低功耗。遥控器上的那个按键我分析,在正常工作状态(BLE处于广播或者连接状态)下,长按3s就会进去到Deep Sleep模式,在Deep Sleep模式下,按下按键被唤醒,如果按键持续按下3s则进入到广播状态。

我们来估算一下工作时长:

之前测试过Nordic的NRF52832功耗,3V供电,DC-DC 使能,广播间隔1000ms,payload 37字节,平均功耗为15.447uA

连接状态下,连接间隔为500ms 时,平均功耗为10.217uA

连接间隔为200ms 时,平均功耗为22uA;连接间隔为100ms 时,平均功耗为41uA。

这个芯片比NRF52832的TX和RX电流略高,按照蓝牙工作状态下平均电流50uA、电池利用率按照85%,那么可以使用120mAh*0.85/50uA=2040h

实际中一天按照使用1小时的话,那么可以使用5年多,足够满足使用需求了。

实际使用过程中,为了省电,用完的话最好就长按按键关闭蓝牙。我同时测试过,在没有被任何设备连接的情况下,5分钟之后,遥控器也会自动关闭蓝牙。

自拍杆工作原理是这样:遥控器相当于是一个只有一个按键的蓝牙键盘,这个按键对应手机上的音量增大键(位于手机侧面)。每按一次按键,就相当于在手机上按了一次音量增大键。你可以这么去验证,手机连接上自拍杆的蓝牙遥控器,但是不打开手机相机,按一次遥控器按键,手机的音量就会被增加。或者打开手机相机,直接按一下手机的音量增大键,就可以拍照。

如果使用电脑的蓝牙去连接,会看的更加直观:


连接之后在设备管理器里就可以看到多了一个键盘设备。

按下那个按键,就会增加音量

除了蓝牙自拍杆,还有一种线控自拍杆,它是通过自拍杆自带的耳机接口线和手机的音频孔相连接,插上之后,相当于是一个线控耳机,按按钮就相当于增加音量,从而达到拍照的功能。

了解完自拍杆工作原理之后,笔者忍不住自己也想动手来实现该功能。下一篇,我们介绍如何在一款蓝牙SOC上用代码实现该功能。

—— The End ——

推荐好文  点击蓝色字体即可跳转

 8位MCU要被淘汰了吗?

☞ 推荐一个直接用于项目开发的PID库!很好用,很稳定

☞ 80家MCU国产和国外厂家汇总!

☞ 推荐一款我私藏已久的串口示波神器

欢迎转发、留言、点赞、分享给你的朋友,感谢您的支持!

长按识别二维码关注我

如果对您有所帮助,不妨来个在看

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
前言: 之前DIY了无线语音控制(链接:https://www.cirmall.com/circuit/6200/detail?3),采用语音识别方式来控制灯泡灯的开关,总感觉实用价值不大,这回来个实用的——自拍器。 你是否也曾遇到这样的情况:三五好友想要来个合影,用手或自拍杆太短,定时拍摄又很难掌握时机,找人帮忙又太麻烦。那么现在使用无线的自拍器就完美解决了这个问题,当然市面上的蓝牙自拍器也能实现这样的功能,但我们用复杂的方法实现简单的功能,就是这么任性。 手机语音控制控制自拍器概述: 该无线语音自拍器基于SensorTile物联网开发套件来实现语音控制手机进行自拍。在语音识别的模式下,可以通过“拍照”口令打开自拍;通过“茄子”口令开启拍照并保存;通过“关闭”口令关闭相机。同时大幅提升了语音识别的速度。 如视频演示: 整体设计思路讲解: 整个工程的整体思路是通过讯飞在线语音识别功能识别SensorTile传输过来的音频数据,然后根据返回来的信息做出相应的回应,有了前面的铺垫,这次最大的难点就是相机功能的实现了,这里有两种思路,一种是调用系统自带的相机程序,另一种是完全自己写一个相机功能。 首先分析下调用系统自带的方法,毫无疑问调用系统自带的相机是最简单的方式,同时拍照的效果也是最好的,但是当我调用了系统函数打开了系统的相机后,却无法通过指令控制拍照,系统的相机功能本身属于一个独立的应用了,除非它有全局可用的拍照接口,否则无法在一个应用中直接控制另一个应用,很遗憾我没有找到相关函数,唯一有点靠谱的就是通过模拟按键中的拍照键来实现拍照,可是没有成功。 市面上的蓝牙自拍器的原理是将蓝牙设备识别成了一个音频设备,然后通过耳机的音量键来控制拍照,可是我们的SensorTile并不是一个音频设备,如果有哪位网友了解过蓝牙自拍杆,请不吝赐教。 调用系统相机的方案受打击后,便开始了第二种方案,自己设计一个相机应用,这里主要还是参考官网的教程,主要参考Camera和Camera API的介绍,我通过提炼教程中的方法写出了一篇日志“Android官方相机教程简单的Demo”可以参考,同时也参考官网给出的例程,不过官网的例程是使用的新类“camera2”,推陈出新嘛。 主要的步骤如下: 1. 新建一个相机功能文件CameraActivity.java,在manifest中将该类设置为横屏。 2. 使用Camera.open(1)函数获取相机的实例,其中参数1代表前置摄像头。 3. 使用SurfaceHolder.Callback方法建立一个可以预览图像的类CameraPreview。 4. 在主布局文件中放置一个FrameLayout用来存放预览图像。 5. 在onCreat中用addView来指定显示区域。 6. 使用getOutputMediaFile来指定保存路径与保存名字。 7. 使用mCamera.takePicture函数来拍照。 需要注意:在拍完照后会停止预览,需要调用mCamera.startPreview来重新开启预览。 此外,本次在语音识别速度上有提高,之前的语音识别到最后的控制之间时间过长,这个实际上是由于每次语音输入完之后,默认需要有一个1.8秒的停顿,才算一句话的结束,然后又由于默认是有标点的识别的,标点的识别是在整句话识别完后间隔一段时间然后才识别出来,这样也耗了些时间,因此在ASR的初始化中添加关闭标点显示同时将停顿时间设为零,代码如下: 结果证明可以大幅的提高语音识别的速度,在IAT中也将停顿时间设为零,但是保留标点符号的显示,同样也可以大幅的提高语音转写速度。 在程序的UI界面上也做了优化,灯泡自适应屏幕大小,同时对横屏和竖屏采取了两种不同的布局设计。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值