littleshrimp 发表于 2017-5-4 22:02

分享一个SensorTile的蓝牙自拍杆程序

本帖最后由 littleshrimp 于 2017-5-5 08:05 编辑

蓝牙自己杆实现起来其实非常简单
主要是利用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相关的描述符代码


#if defined(SELFIESTICK_IP)
    {   
    0x05, 0x0c,                  // USAGE_PAGE (Consumer Devices)
    0x09, 0x01,                  // USAGE (Consumer Control)
    0xa1, 0x01,                  // COLLECTION (Application)
    0x15, 0x00,                  //   LOGICAL_MINIMUM (0)
    0x25, 0x01,                  //   LOGICAL_MAXIMUM (1)
    0x09, 0xe9,                  //   USAGE (Volume Up)
    0x09, 0xea,                  //   USAGE (Volume Down)
    0x09, 0x30,                  //   USAGE (Power)
    0x75, 0x01,                  //   REPORT_SIZE (1)
    0x95, 0x02,                  //   REPORT_COUNT (2)
    0x81, 0x06,                  //   INPUT (Data,Var,Rel)
    0x09, 0xe2,                  //   USAGE (Mute)
    0x95, 0x01,                  //   REPORT_COUNT (1)
    0x81, 0x06,                  //   INPUT (Data,Var,Rel)
    0x95, 0x05,                  //   REPORT_COUNT (5)
    0x81, 0x07,                  //   INPUT (Cnst,Var,Rel)
    0xc0                           // END_COLLECTION
};

在static int HID_Application_Process(void)函数里把Volume Up发送出去


#if defined(SELFIESTICK_IP)
      APPL_MESG_DBG(profiledbgfile,"Sending data...\n" );
      uint8_t ipRepVal = {0};
      ipRepVal = 1 << 0;//USAGE (Volume Up)
//      ipRepVal = 1 << 2;//USAGE (Power)
      HidDevice_Update_Input_Report(0,0,REPORT_IP_LEN_0,ipRepVal);


代码粗糙了一些,手机连接到SensorTile音量就会一直加
如果开启相机就会一直拍照

如果你想实现更多的功能可以把按键或者传感器加进来
单击,双击,撞击,转动,甚至使用麦克风做声音识别都可以


附上完整代码
**** Hidden Message *****

dcexpert 发表于 2017-5-4 22:31

{:1_103:}

fplman 发表于 2017-5-5 01:00

感谢楼主分享。

懒猫爱飞 发表于 2017-5-5 08:25

来学习一下

alberthink 发表于 2017-5-5 08:55

不错不错,正好可以试试

strong161 发表于 2017-5-5 09:16

当然是过来看一下学习一下,竟然不给看,等看看再说

littleshrimp 发表于 2017-5-5 09:22

strong161 发表于 2017-5-5 09:16
当然是过来看一下学习一下,竟然不给看,等看看再说

:titter:
骗点回复

strong161 发表于 2017-5-5 09:25

littleshrimp 发表于 2017-5-5 09:22
骗点回复

:congratulate: 好办法,只是回贴不加分这不科学!

littleshrimp 发表于 2017-5-5 09:34

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

怎么才能回贴加分?

strong161 发表于 2017-5-5 09:36

littleshrimp 发表于 2017-5-5 09:34
怎么才能回贴加分?

{:1_133:} 这个要问大表哥,EE好像回再多的贴也不加分的!

star_66666 发表于 2017-5-5 09:50

回复看看了

eric_wang 发表于 2017-5-11 08:53

littleshrimp 发表于 2017-5-5 09:34
怎么才能回贴加分?

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

欢迎提出修改建议

gxg1122 发表于 2017-5-25 08:52

最近刚得了一个蓝牙自拍杆,看着不错,看说明就是蓝牙发送音量键的命令,手机接收到,在照相机里设置下选用音量键就可以拍照了。比较方便

littleshrimp 发表于 2017-5-26 09:15

gxg1122 发表于 2017-5-25 08:52
最近刚得了一个蓝牙自拍杆,看着不错,看说明就是蓝牙发送音量键的命令,手机接收到,在照相机里设置下选用 ...

好像音量键控制拍照比较通用,我用过几个手机都不需要设置
现在拍照基本都是按手机音量键,不用点,一只手就能拍照

gxg1122 发表于 2017-5-26 11:52

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

是的 ,默认设置就是这样的

dzszsbxx 发表于 2017-7-24 14:40

分享一个SensorTile的蓝牙自拍杆程序

yzm65580952 发表于 2017-7-25 17:27

楼主好人~~~~~~~~~~~

livingstone 发表于 2017-9-11 23:42

好文,正是我想学习的!

Mogoxh 发表于 2017-9-13 02:59

学习了 真心谢谢

hongfadg2012 发表于 2018-3-21 14:41

学习一下
页: [1] 2
查看完整版本: 分享一个SensorTile的蓝牙自拍杆程序