关闭

可穿戴设备(CC2541)上微信(2)

标签: 可穿戴设备微信软件
5958人阅读 评论(0) 收藏 举报
分类:

还好之前玩过一段时间的微信精简协议,起码广播和连接这里有点概念了,还好之前有人做过完整的上微信程序,现在可以直接拿过来学习,要不然就真得撸死了。。。虽然之前的精简协议也是别人做完的我来学。。。

ps:有人带有人教真好。。。有妈的孩子像块宝得意。。。遇到个好的主管真是最幸运的事


微信精简协议规定:

设备需要广播包带上微信的service,并在manufature data里带上mac地址。

微信Service uuid:0xFEE7

manufature specific data:需以MAC地址(6字节)结尾。并且manufaturespecific data长度需大于等于8字节(最前两个字节为company id,没有的话随便填)。

微信service下面需包含一个读特征值,uuid为:0xFEC9,内容为6字节MAC地址(ios系统其他软件连上设备之后,微信会去读该特征值,以确定设备MAC地址)。


精简协议和完整协议是一样的。

adverData 和 scanResponseData 如下:

// GAP Profile - Name attribute for SCAN RSP data
static uint8 scanResponseData[]=
{
    0x0E,   // length of this data
    GAP_ADTYPE_LOCAL_NAME_COMPLETE,                                 //0X09
    'W',
    'P',
    'I',
    'A',
    'T',
    'U',
    '_',
    'W',
    'e',
    'c',
    'h',
    'a',
    't',
  
    0x05,   // length of this data
    GAP_ADTYPE_SLAVE_CONN_INTERVAL_RANGE,                           //0X12
    //MIN
    LO_UINT16( DEFAULT_DESIRED_MIN_CONN_INTERVAL ),   // 100ms
    HI_UINT16( DEFAULT_DESIRED_MIN_CONN_INTERVAL ),
    //MAX
    LO_UINT16( DEFAULT_DESIRED_MAX_CONN_INTERVAL ),   // 1s
    HI_UINT16( DEFAULT_DESIRED_MAX_CONN_INTERVAL ),
    
    0x02,   // length of this data
    //TX Power Level
    GAP_ADTYPE_POWER_LEVEL,                                         //0x0A
    0       // 0dBm
};


#define ADVERT_MAC_ADDR         11

uint8 advertData[]=
{
    
    // Flags; this sets the device to use limited discoverable
    // mode (advertises for 30 seconds at a time) instead of general
    // discoverable mode (advertises indefinitely)
    0x02,   // length of this data
    GAP_ADTYPE_FLAGS,                                               //0x01
    DEFAULT_DISCOVERABLE_MODE | GAP_ADTYPE_FLAGS_BREDR_NOT_SUPPORTED,

    // service UUID, to notify central devices what services are included
    // in this peripheral
    0x03,   // length of this data
    //some of the UUID's, but not all
    GAP_ADTYPE_16BIT_MORE,                                          //0x02
    LO_UINT16( WECHAT_SERV_UUID ),
    HI_UINT16( WECHAT_SERV_UUID ),

    0x09, // length of this data (9 Bytes )
    GAP_ADTYPE_MANUFACTURER_SPECIFIC,                               //0xFF
    /*TI Pre-Amble*/
    0x0D,
    0x00,

    /*Device MAC (6 Bytes)*/
    0,0,0,0,0,0

};

微信协议要在广播包里加 MAC 地址,所以要在后面加一个度 MAC 地址的程序。

注:微信精简协议微信已经不主推了,所以也不要做了,AirSync 协议还是很流行的

0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

CC2541 AirSync(5)——登录包

未经许可不得转载。 前面说过最好使用 AirSyncDebugger 软件测试程序,第四步就是测试 Auth 包就是“登录包”,主要包括版本、是否加密等。最后打包好的数据就是Dataout[]。 //...
  • haozi0_0
  • haozi0_0
  • 2016-03-23 22:11
  • 1913

CC2541 AirSync(4)——封包、解包

在微信官方给的程序中,epb_MmBp.h 中有以下程序: typedef enum { ECI_none = 0, // Req: 藍牙設備 -> 微信/廠商服务器 ECI...
  • haozi0_0
  • haozi0_0
  • 2015-11-14 16:39
  • 1427

可穿戴设备(CC2541)上微信(4)

Source Code 加密
  • haozi0_0
  • haozi0_0
  • 2015-07-09 09:52
  • 1519

2016-12-22 微信硬件 微信蓝牙外设协议1.0.4 MmBp_Embedded_1.0.4移植记录一

/*版权声明:本文为樱桃BLE原创文章,Q群:376066563 转载请注明出处*/ /*2016-12-22 微信硬件 微信蓝牙外设协议1.0.4 MmBp_Embedded_1.0.4移植记录一*...
  • upanupanupan
  • upanupanupan
  • 2016-12-22 16:45
  • 301

cc2541微信硬件平台蓝牙接入网络教程收集整理

  • 2017-07-20 11:40
  • 10.73MB
  • 下载

CC254x(cc2540/cc2541)的微信AirSync调试笔记

本尊自诩为IOT小能手,一直没涉足蓝牙实在说不过去。刚好上个月底的时候计划做个BLE设备,这阵子利用业余时间自学了BLE协议栈,了解了GATT,磕磕绊绊完成CC254x的微信AirSync。就在今晚,...
  • zddxmu
  • zddxmu
  • 2015-08-18 22:47
  • 5400

CC2541 连接微信(1)——微信 AirSync 和 微信精简协议 介绍

微信 AirSync 和 微信精简协议 介绍
  • haozi0_0
  • haozi0_0
  • 2015-10-13 21:18
  • 7618

可穿戴设备(CC2541)上微信(1)

extern uint8_t Pack_Data(uint16 EmCmdIDData) ; extern uint8_t UnPack_Data(uint8_t *buf, int buf_len)...
  • haozi0_0
  • haozi0_0
  • 2015-07-07 15:55
  • 2111

cc2541微信接入参考demo

  • 2016-02-15 15:17
  • 11.37MB
  • 下载

CC2541微信硬件IAR工程

  • 2016-04-11 18:24
  • 3.77MB
  • 下载
    个人资料
    • 访问:201522次
    • 积分:2899
    • 等级:
    • 排名:第14085名
    • 原创:77篇
    • 转载:66篇
    • 译文:0篇
    • 评论:45条
    最新评论