微信蓝牙外设协议 1
来源:互联网 发布:安卓数据查询源码 编辑:程序博客网 时间:2024/04/29 12:43
协议支持经典蓝牙和4.0 BLE 蓝牙,目前支持 ios 和 andriod 两个系统,后续会扩展到其他系统。
PS:在 IOS 上比较稳定,在 Andriod 尚不稳定,因为 Andriod 手机的蓝牙芯片都不同,所以有些手机的蓝牙在执行某个命令的时候耗时太久,所以就连接不上,不稳定。而
IOS 手机使用的都是同一款蓝牙芯片,所以很稳定。
一、 整体架构
厂商服务器和外设,由厂商开发完成。微信会提供服务器的接口以对接厂商的服务器,会提供手机的接口(如本文规定的蓝牙协议)以对接厂商的外设。
二、 主要功能
1. 该协议打通了设备和厂商服务器之间的数据链路,也就是支持将设备上的数据发送到厂商的服务器上,也支持将厂商的数据发送到设备。
2. 厂商的数据对于微信来说,是黑盒,微信不对设备数据做分析。
3. 该协议也打通了设备和微信服务器之间的数据链路。
4. 设备和微信服务器之间的数据格式由微信规定,例如登录,新消息通知等。
三、 蓝牙BLE 模拟成流
微信规定了蓝牙BLE 设备需要先模拟成流(即stream,输入输出流)。经典蓝牙的RFCOMM,就是一个流。流具有的特性有:
a. 可以传输无限长度的数据
b. 双工,读写可以并发,互不干扰。
显然,蓝牙BLE 无法传输无限长度的数据,为了实现这个目的,需要定义一个规范 ----- 那就是“帧”
以上内容都属于烂大街的东西了,没有什么有用的具体的东西,只是对微信蓝牙外设做个大致的介绍,我从去年听到这个东西,知道今年 7 月份才开始正式接触,刚开始很难上手,代码也比较复杂,学起来比较困难。但是总的来说这就是一个 BLE 设备和手机 APK 之间的连接和数据交换,跟我以前做的 BLE 设备与京东 APK 对接本质是一样的。但是还有不一样的地方,那就是微信要用到的 MAC 和 MD5,微信毕竟和其他简单的 APK 有区别,有加密数据和不加密数据,现在大多都在用不加密模式,微信只是做一个接口,把数据从 BLE 设备最终传到厂商服务器,如果使用加密模式的话,微信会对数据有个处理的过程,有些厂商是不同意的。
- 微信蓝牙外设协议 1
- 2016-12-22 微信硬件 微信蓝牙外设协议1.0.4 MmBp_Embedded_1.0.4移植记录一
- 以蓝牙开发的视觉解读微信Airsync协议
- 微信蓝牙Airsync协议demo工程实现
- 微信蓝牙Airsync协议demo工程实现
- 以蓝牙开发的视觉解读微信Airsync协议
- 以蓝牙开发的视觉解读微信Airsync协议
- iOS蓝牙连接外设
- 微信 蓝牙
- 蓝牙协议分析1
- 蓝牙协议分析1
- Protocol buffer序列化及其在微信蓝牙协议中的应用
- Protocol buffer序列化及其在微信蓝牙协议中的应用
- Protocol buffer序列化及其在微信蓝牙协议中的应用
- IOS 蓝牙与外设交互
- 蓝牙连接外设的流程
- 准备学习微信蓝牙
- 微信蓝牙连接 总结
- iOS隐藏桌面图标
- 10种软件滤波算法
- SylixOS xinput 系统
- 在ubuntu下无法进入windows盘
- spring的beanFactory和factoryBean
- 微信蓝牙外设协议 1
- Poco for Windows 编译 x86 x64
- 使用Spark SQL和DataFrame的一些总结和心得
- 7,鼠标学习二
- GRE写作必备句型
- WNDCLASS结构中cbWndExtra数据成员的作用
- Spring BeanFactory实例化Bean的过程
- 关于int数据转换float数据出现输出0.0000的问题
- linux 下tar 打包分割文件和解压文件