蓝牙自拍杆的原理是什么

德小隆 2015-11-14 04:00:55
蓝牙自拍杆不需要装APP就能控制系统自带的相机拍摄,我知道原理是控制音量键拍摄,那么有没有大神知道发送什么命令来控制拍照的
...全文
499 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
前言: 之前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界面上也做了优化,灯泡自适应屏幕大小,同时对横屏和竖屏采取了两种不同的布局设计。
STM32 NUCLEO-F072RB开发方案设计——超声波自拍神器 对于从来没有玩过安卓系统的同学们是不是很想也体会到安卓给我们带来的乐趣了,那是不是没学安卓,就不能控制手机呢?就不能体会到安卓给我们带来的乐趣呢?除了蓝牙和wifi等外,我们还能不能有一种更简单的、更有创意的、更实用的方案,让大部分电子爱好者体会用STM32控制手机的乐趣了,答案是肯定的。 某宝上很多自拍神器,有蓝牙控制和线控等,这一次我将向大家介绍一种最近比较流行的超声波自拍神器,方便实用,成本低。 1.方案介绍: 首先手机先到网上下载一个APP(Airshooting),然后打开APP,利用STM32 NUCLEO-F072RB开发板的定时器产生一定频率PWM信号,用来控制蜂鸣器发出声音,当手机接收到蜂鸣器发出的声音后,会执行拍张操作,如果你的手机有前摄像头,还可以控制手机执行切换摄像头操作。 2.工作原理: 本设计主要重点是要调节PWM的频率。 (1)拍照的PWM频率为:先发送250ms的频率为15870Hz的PWM信号(占空比没什么要求,50%左右即可);后发送250ms的频率为15617Hz的PWM信号。这个频率精确度越高,控制的距离就越远。下图是我实际测量的频率,由于逻辑分析仪比较差,测量难免有误差。 (2)切换的PWM频率为:先发送250ms的频率为16526Hz的PWM信号(占空比没什么要求,50%左右即可);后发送250ms的频率为15620Hz的PWM信号。 只要让STM32开发板发出如上的PWM信号,控制蜂鸣器发声,那么手机就能接收到信号,执行拍照和切换镜头操作。 3.原理图 这个设计的原理图相当简单,学过单片机都用过,只需要一个简单的蜂鸣器电路即可,由于比较简单,我就用面包板搭建了。电路图如下: 除了以上电路,还用到了STM32 NULCEO-F072RB上的用户按键和LD2。 功能介绍: 考虑到本设计要作为手持设备,因此设置了上电后,板子进入睡眠模式,此时板子功耗低,节约电量。打开手机APP,按下板子上的用户按键,LD2点亮0.5s后熄灭,2s左右后,手机执行拍张功能;按下S1按键,LD2点亮0.5s后熄灭,2s左右后,手机执行切换镜头功能; 4.源代码 见附件 5..实物图 由于电路比较简单,就直接用面包板了,献丑了 实际测试发现,在空旷的地方,最远传输距离3M左右。调节PWM的精确度和增大蜂鸣器的功率,传输距离变远,由于最近比较忙,就没再调试下去了.......... 6.运行视频 7.注意事项 这里由于需要比较精准的PWM,因此我在开发板上焊接了一个8MHz的外部晶振和两个22PF的瓷片电容。 蜂鸣器我使用的是3V蜂鸣器,用5V蜂鸣器传输距离会比较近。 以上是我的参赛方案,虽然比较简单,淘宝上也有卖,但是我还没发现哪个网站有介绍我这个作品的,算是首创吧..........或许是因为我是个学渣,没发现吧,大牛勿喷哈.........
随着互联网的发展,人们的生活质量飞速提高,衣食住行都有了很大的进步,尤其是娱乐业,新兴起的自媒体给了普通人一个展现自己的机会,主播的打赏更是其收入的一个重要来源。目前主播的平台越来越受广大青年的喜爱。 主播的流行少不了优质的装备,从之前复杂的演示房到现在简单的自拍杆,目前随着手机摄像的水平不断提升,目前一部优质的手机可以完全替代录制摄像设备。唯一让主播者头疼的是头戴耳机设备,其中不少的都是依赖3.5 mm有线接口来获取(比如有线耳机),但是这有线的设备严重影响到主播者的动作范围,不能自如的展现自己的身姿以及手势的动作。如果选用一般的蓝牙耳机,游戏主播就会有延时大的问题出现,市场上的蓝牙耳机很难满足主播游戏低延时的要求。 第一是音质问题,普通的蓝牙耳机音质不好,很难把主播动听的声音完美的体现出来。 第二是延时问题,延时问题也是蓝牙耳机的一大痛点。一般的蓝牙耳机,延时大,会造成声音和动作不统一(尤其是游戏主播)。 第三是距离问题,很多主播想完美的体现自己的天赋,比如在镜头前面一边唱歌一边跳舞,一般的蓝牙耳机很难做到无线的同时支持低延时。 CSR8675发射器Dong的设计: 原理图SCH部分设计: PCB部分:TOP层电源GND隔离分割,晶体和RF的GND分离; BOT层USB接口金手指设计,金手指底部采用盲埋孔设计; 方案来源于大大通

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧