可穿戴设备(CC2541)上微信(1)
来源:互联网 发布:mac os x 10.11 cdr 编辑:程序博客网 时间:2024/05/14 15:38
从去年开始接触 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:这都不知道你还干个屁啊。。。
- 可穿戴设备(CC2541)上微信(1)
- 可穿戴设备(CC2541)上微信(2)
- 可穿戴设备(CC2541)上微信(3)
- 可穿戴设备(CC2541)上微信(4)
- 可穿戴设备(CC2541)上微信(5)
- 可穿戴设备(CC2541)上微信(6)
- 可穿戴设备(CC2541)上微信(7)
- 可穿戴设备(CC2541)上微信(8)
- 可穿戴设备
- 可穿戴设备的发展方向
- 可穿戴设备的激情
- 可穿戴设备相关资料
- 可穿戴设备交互趋势
- 可穿戴设备开发者大会
- 虚拟现实(VR)、现实增强(AR)、全息现实以及可穿戴设备
- 在手机与可穿戴设备Wearable通过蓝牙Bluetooth传递Assets(图片等)
- Bluemix云平台实践:构建可穿戴应用(1)
- 可穿戴设备为什么那么火
- PAT 1024. Palindromic Number (25)
- java 对象与byte[]互转
- php文件缓存smarty模板的应用
- AlarmManager 定时提醒
- [note]表格,列表和下拉菜单
- 可穿戴设备(CC2541)上微信(1)
- 机器学习 之 Adaboost
- [laravel5.1学习]单个路由的中间件引用
- Android V4 包下的ViewDragHelper学习.
- 【C语言】数字在排序数组中出现的次数(修改)
- resin servlets和jsp的引擎
- 黑马程序员安卓Android 74期、66期、52期 46期 35期就业班视频
- REST(Representational State Transfer)简介
- strtok()函数