[BLE(低功耗蓝牙)] 分享一个SensorTile的蓝牙自拍杆程序

littleshrimp   2017-5-4 22:02 楼主
蓝牙自己杆实现起来其实非常简单 主要是利用Consumer Devices发送音量键 无论是android还是ios都可以使用,免驱动,免装APP 我刚开始弄的时候在网上找了很多贴子 讲怎么做自拍杆的不多 后来看了MICROCHIP的一个贴子才发现这东西原来这么简单 蓝牙HID和USB HID的使用方法相同 如果你玩过USB HID这个贴子基本就不用看了 如果你能用SensorTile实现蓝牙键盘了 想实现自拍杆只需改改描述符和Report发送的数据就可以 用SensorTile实现键盘的代码可以参考我的这个贴子,二楼 https://bbs.eeworld.com.cn/thread-521965-1-1.html 在hid_profile_application.c 里加一段SELFIESTICK相关的描述符代码
  1. #if defined(SELFIESTICK_IP)
  2. {
  3. 0x05, 0x0c, // USAGE_PAGE (Consumer Devices)
  4. 0x09, 0x01, // USAGE (Consumer Control)
  5. 0xa1, 0x01, // COLLECTION (Application)
  6. 0x15, 0x00, // LOGICAL_MINIMUM (0)
  7. 0x25, 0x01, // LOGICAL_MAXIMUM (1)
  8. 0x09, 0xe9, // USAGE (Volume Up)
  9. 0x09, 0xea, // USAGE (Volume Down)
  10. 0x09, 0x30, // USAGE (Power)
  11. 0x75, 0x01, // REPORT_SIZE (1)
  12. 0x95, 0x02, // REPORT_COUNT (2)
  13. 0x81, 0x06, // INPUT (Data,Var,Rel)
  14. 0x09, 0xe2, // USAGE (Mute)
  15. 0x95, 0x01, // REPORT_COUNT (1)
  16. 0x81, 0x06, // INPUT (Data,Var,Rel)
  17. 0x95, 0x05, // REPORT_COUNT (5)
  18. 0x81, 0x07, // INPUT (Cnst,Var,Rel)
  19. 0xc0 // END_COLLECTION
  20. };
在static int HID_Application_Process(void)函数里把Volume Up发送出去
  1. #if defined(SELFIESTICK_IP)
  2. APPL_MESG_DBG(profiledbgfile,"Sending data...\n" );
  3. uint8_t ipRepVal[REPORT_IP_LEN_0] = {0};
  4. ipRepVal[0] = 1 << 0;//USAGE (Volume Up)
  5. // ipRepVal[0] = 1 << 2;//USAGE (Power)
  6. HidDevice_Update_Input_Report(0,0,REPORT_IP_LEN_0,ipRepVal);
代码粗糙了一些,手机连接到SensorTile音量就会一直加 如果开启相机就会一直拍照 如果你想实现更多的功能可以把按键或者传感器加进来 单击,双击,撞击,转动,甚至使用麦克风做声音识别都可以 附上完整代码
游客,如果您要查看本帖隐藏内容请回复
本帖最后由 littleshrimp 于 2017-5-5 08:05 编辑
虾扯蛋,蛋扯虾,虾扯蛋扯虾

回复评论 (21)

点赞  2017-5-4 22:31
感谢楼主分享。
点赞  2017-5-5 01:00
来学习一下
点赞  2017-5-5 08:25
不错不错,正好可以试试
点赞  2017-5-5 08:55
当然是过来看一下学习一下,竟然不给看,等看看再说
点赞  2017-5-5 09:16
引用: strong161 发表于 2017-5-5 09:16
当然是过来看一下学习一下,竟然不给看,等看看再说


骗点回复
虾扯蛋,蛋扯虾,虾扯蛋扯虾
点赞  2017-5-5 09:22

好办法,只是回贴不加分这不科学!
点赞  2017-5-5 09:25
引用: strong161 发表于 2017-5-5 09:25
好办法,只是回贴不加分这不科学!

怎么才能回贴加分?
虾扯蛋,蛋扯虾,虾扯蛋扯虾
点赞  2017-5-5 09:34
引用: littleshrimp 发表于 2017-5-5 09:34
怎么才能回贴加分?

这个要问大表哥,EE好像回再多的贴也不加分的!
点赞  2017-5-5 09:36
回复看看了
点赞  2017-5-5 09:50
引用: littleshrimp 发表于 2017-5-5 09:34
怎么才能回贴加分?

论坛回帖大于60字符(30文字)时,自动+2威望 。https://bbs.eeworld.com.cn/thread-67200-1-1.html

欢迎提出修改建议
点赞  2017-5-11 08:53
最近刚得了一个蓝牙自拍杆,看着不错,看说明就是蓝牙发送音量键的命令,手机接收到,在照相机里设置下选用音量键就可以拍照了。比较方便
点赞  2017-5-25 08:52
引用: gxg1122 发表于 2017-5-25 08:52
最近刚得了一个蓝牙自拍杆,看着不错,看说明就是蓝牙发送音量键的命令,手机接收到,在照相机里设置下选用 ...

好像音量键控制拍照比较通用,我用过几个手机都不需要设置
现在拍照基本都是按手机音量键,不用点,一只手就能拍照
虾扯蛋,蛋扯虾,虾扯蛋扯虾
点赞  2017-5-26 09:15
引用: littleshrimp 发表于 2017-5-26 09:15
好像音量键控制拍照比较通用,我用过几个手机都不需要设置
现在拍照基本都是按手机音量键,不用点,一只 ...

是的 ,默认设置就是这样的
点赞  2017-5-26 11:52
分享一个SensorTile的蓝牙自拍杆程序
点赞  2017-7-24 14:40
楼主好人~~~~~~~~~~~
点赞  2017-7-25 17:27
好文,正是我想学习的!
点赞  2017-9-11 23:42
学习了 真心谢谢
点赞  2017-9-13 02:59
学习一下
点赞  2018-3-21 14:41
12下一页
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复