【第22期】观点:IT 行业加班,到底有没有价值?

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

原创 2015年07月08日 09:29:23

微信規定了藍牙 BLE 需要有以下兩個特點。

1:可以傳輸無限長度的數據。

2:雙工,讀寫可以並發,互不干擾。

藍牙無法傳輸無限長度的數據,為了實現這個目的,需要定議一個規範。     

ps:当然是把数据截成奋斗奋斗奋斗奋斗奋斗的,然后再发送了。。。要不然怎么办。。。就是下面的这个东东了。。。

注:把一个特征值一次传输的数据,称为一帧(不同类型的特征值一次传输的数据长度是不一样的)。


藍牙設備需暴露兩個特徵值﹝Characteristics﹞:Write 特徵值,Indication 特徵值。藍牙設備從 Write 特徵值接受數據,從 Indication 特徵值發送數據。

UUID 0xFEC8  Properties:Indicate            

UUID 0xFEC7  Properties:Read Write   


蓝牙的数据传输是通过特征值实现的,那既然已经有了接受和发送的特征值,那就可以读写了数据了。。。

蓝牙设备写过程:

1. 分帧:假设蓝牙手环上有1k数据,要发给手机微信。由于一个特征值长度有限(如20个字节),显然需要分多次才能传输完成。1k 数据,要分成 1024 字节/ 20 字节=51 个帧。剩下的 4 个字节,不足一帧(20个字节),需补齐为一帧并对剩下的 16 个字节赋 0。总共是 52 帧。

2. 发送第一个帧:把第一个帧的内容放入特征值里面。然后通知手机读取数据,通知有两种方式,Indication 和 notify,这里使用 Indication 方式,即带响应的通知。当通知完成的时候,可以认为手机已经读完数据。这就完成了发送第一个帧。

3. 按照 2 的步骤,依次发送剩下的帧。

按照此方法可以发送无线长度的数据。

蓝牙设备读过程:                                                                                              

当蓝牙设备发现读特征值收到数据的时候,就接收数据,并追加到设备的 buf 里。

 

注意:蓝牙设备必须等微信 app 订阅了 Characteristics 之后,才能 indicate 数据,否者会造成设备发送数据丢失的问题。


版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

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

adverData 和 scanResponseData

cc2541修改广播信号(以蓝牙接入微信为例)

读取设备的 MAC 地址: [html] view plaincopy GAPRole_GetParameter(GAPROLE_BD_ADDR, ownAddress);  ...

程序员升职加薪指南!还缺一个“证”!

CSDN出品,立即查看!

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

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

ADXL362 程序

直接上程序: /*******************************************************************************************...

微信硬件蓝牙开发各种坑不完全开发指南

写于:2016-4-15几个基本要用的东西: 1、微信公众平台 网址:https://mp.weixin.qq.com 可以在此申请微信公众号,获取微信测试号。 微信测试号拥有所有功能权限,...

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

Source Code 加密

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

1. 当 BLE 设备与微信连接后,微信客户端通过下面的程序向 BLE 设备发送数据: static bStatus_t wechatIOT_WriteAttrCB( uint16 connHandl...

Protocol buffer序列化及其在微信蓝牙协议中的应用

微信和蓝牙外设的通信协议采用了Protocol buffer对消息包体进行打包。在时间和空间性能上,Protocol buffe比XML更具优势。本文对Protocol buffe打包的微信蓝牙消息体...

EMS、CEM、OEM、ODM、IDH、IDM之间的联系与区别

转自:http://blog.sina.com.cn/s/blog_6fcc51750100qx7d.html 1. EMS : Electronics Manufacturing Servic...

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

微信 AirSync 和 微信精简协议 介绍
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)