关闭

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

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

      从去年开始接触 BLE,当时直接玩的是 CC2541,还好有人带,要不然真是撸死也撸不过,虽然还有很多东西比如透传、加解密之类的搞不懂,但是起码能和 APK 正常收发数据,最开始上的是京东的 APK,很蛋疼,京东的 APK 一点都不智能,也不傻瓜,但是好歹给的协议文档写的比较清楚,一步一步来就差不多可以了,最后案子挂了,也就没有做下去的动力了。。。                  

      ps:案子挂了最讨厌了。。。白费功夫。。。


     现在上面需要人上微信。。。BLE 这部分只有我做过 CC2541 的,所以只能我去上了。。。不知道自己够不够硬。。。能不能上得了。。。先试试吧。。。

     ps:我:我行么。。。上不去啊。。。疑问

            老板:让你上就得上,上不了也得上。。。奋斗

            我:微信我来了。。。洗白白等我。。。羡慕



     CC2541 上微信有两种,一个是精简协议,一个是完整协议,精简协议没有身份验证和加解密,而且要使用特殊的 APK 来调试,完整版的 APK 就是使用微信,而且身份验证和加解密都需要,广播包和扫描返回包相同,但是特征值也不同。


CC2541 上微信的 IAR 工程中有一个 pb_example.c 和 pb_example.h

pb_example.h 中有以下两个函数

extern uint8_t Pack_Data(uint16 EmCmdIDData) ;
extern uint8_t UnPack_Data(uint8_t *buf, int buf_len) ;

uint8_t Pack_Data(uint16 EmCmdIDData) ;

文件加密打包副程式

回傳值:加密打包的結果

              PACK_OK                                        0

              回傳打包OK

              ERR_EMCMDID                             1

              回傳錯誤的命令號

              ERR_LEN                                         2

              回傳錯誤的長度

EmCmdIDData:

藍牙設備傳給微信或後台的命令號

             ECI_req_auth                                   10001

             登录包

             ECI_req_sendData                           10002

             蓝牙設備發送數據給微信或是廠商

             ECI_req_init                                    10003

             初始化包

產生數據:

             PackProtobufData[PACKLEN];

            打包好的數據包

            PackProtobufLen ;

            要送出的資料長度


uint8_t UnPack_Data(uint8_t*buf,int buf_len) ;

文件解密解包副程式

回傳值:解包的回傳值

             UNPACK_OK                                   0

             回傳解包 OK

             UNPACK_CONTINUOUS                     1

             回傳尚在解包表示資料未收完

             ERR_MAGICNUMBER                  2

             回傳錯誤的定長包頭第一筆資料

             ERR_BVER                                      3

             回傳錯誤的包格式版本號

             ERR_UNPACKLEN                         4

             回傳錯誤的資料長度

             PUSH_REC_DATA                          81

             回傳表示有收到微信或是廠商發送數據給藍牙設備

             PUSH_SWITCHVIEW                    82

             回傳表示進入或退出界面

             PUSH_SWITCHBACKGROUD            83

             回傳切換後台

*buf:解包解密的數據表

buf_len :要解包的資料長度


这两个函数不需要知道详细工作原理,只要知道它的作用是加密和解密就好了,但是要清楚地知道在哪里调用,什么时候调用。。。

ps:这都不知道你还干个屁啊。。。


1
1
查看评论

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

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

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

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

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

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

cc2541 cc2640 接入微信AirSync协议

手头一款cc2640的穿戴设备要接入微信硬件平台,研究了几天,把一些心得记录一下,首先微信官方是有demo参考的,但是只有nordic的nrf51的代码和文档,至于TI的暂时还没有找到,论坛里面有个cc2541的demo,不过核心代码都是封装成库提供的,没有什么利用价值,如果是cc2541的开发,前...
  • gyb510
  • gyb510
  • 2015-12-22 13:25
  • 3456

CC2541微信硬件IAR工程

  • 2016-04-11 18:24
  • 3.77MB
  • 下载

CC2541之数据加密与解密

一、简介 本篇以SimpleBLEPeripheral工程为例,介绍如何使用协议栈的数据加密与解密功能。 二、实验平台 协议栈版本:BLE-CC254x-1.4.0 编译软件:IAR 8.20.2 硬件平台:Smart RF开发板 三、版权声明 博主:甜甜的大香瓜 声...
  • yi412
  • yi412
  • 2016-04-27 16:39
  • 978

cc2541微信接入参考demo

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

可穿戴设备(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
  • 2191

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

adverData 和 scanResponseData
  • haozi0_0
  • haozi0_0
  • 2015-07-07 17:05
  • 6070

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

peripheral.c 文件中的 static void gapRole_ProcessGAPMsg( gapEventHdr_t *pMsg ) 中有如下程序: case GAP_LINK_TERMINATED_EVENT: { gapTerminateLinkEve...
  • haozi0_0
  • haozi0_0
  • 2015-07-20 15:22
  • 2468
    个人资料
    • 访问:214529次
    • 积分:3020
    • 等级:
    • 排名:第13743名
    • 原创:77篇
    • 转载:66篇
    • 译文:0篇
    • 评论:45条
    最新评论