airsync debuggerdebugger2.3.0 怎么安装

微信蓝牙协议(airsync)是什么,如何在我的APP中使用
微信蓝牙协议(airsync)是什么,如何在我的APP中使用本尊自诩为IOT小能手,一直没涉足蓝牙实在说不过去。刚好上个月底的时候计划做个BLE设备,这阵子利用业余时间自学了BLE协议栈,了解了GATT,磕磕绊绊完成CC254x的AirSync。就在今晚,听着Coldplay的“Be my mirror, my sword and shield”雄心万丈,大千世界和AirSync都被我征服,终于完成了最后一步的测试。
转载请注明:http://blog.csdn.net/sadshen
二、常见问题及措施
我把自己遇到的几个问题及都记录在这边,应该会让一些少走一些弯路。
1. 广播包中没有 manufacture specific data 字段,或不以MAC地址结尾。
措施:广播包中必须带上0xFF的厂商自定义字段,09+ FF + 厂商ID(2 Bytes) + MAC(6 Bytes)。
2. Mac address 校验失败!
这是我之前调试的错误提示:
***** onTestIsValidAuthReqPack *****
result = false, is an invalid auth request pack: AuthRequestPack: FE 01 00 32 27 11 00 01 0A 00 18 84 80 04 20 01 28 02 3A 06 57 65 43 68 61 74 62 16 57 65 43 68 61 74 42 6C 75 65 74 6F 6F 74 68 44 65 76 69 63 65 00
has BaseRequest
no Md5DeviceTypeAndDeviceId field!
has MacAddress field, Mac Address = 57 65 43 68 61 74
MacAddress BitLength = 48bit
Mac Address from broadcast record = 90:59:AF:0E:62:88
Mac address 校验失败!
has Proto field, ProtoVersion = 65540
has AuthProto field, AuthProto = 1
has AuthMethod field, AuthMethod = EAM_macNoEncrypt
no AesSign field!
has DeviceName field, DeviceName = WeChatBluetoothDevice
措施:在AUTH REQ中也有Mac字段,需要保证MAC地址和广播包中的一样。
3. Read Characteristic is not read able!
4. Can not Start Indicate permision:Can not get configure descriptor
措施:这两个处理,要保证Read Characteristic有可读权限,然后Read Char的值必须为MAC地址。
5. async write data error
措施:这个问题很多,但是解决思路都固定,就是在https://developer..com/reference/android/bluetooth/BluetoothGatt.html#GATT_FAILURE
找错误码。
我的错误码是03,说是没有写权限。
public static final int GATT_WRITE_NOT_PERMITTED
Added in API level 18 GATT write operation is not permitted
Constant Value: 3 (0x)
后来一查,果然我的Write CHAR没有write权限。
三、AirSync的完整日志
这边把完整的LOG日志提供出来,希望对其他调试AirSync的朋友有所帮助。
日星期二 中国标准时间下午9:42:07
*****************BLE: TwoWinter******************
***** onTestBroadcastRecord *****
result = true, Has 0xfee7 or standard service in broadcast record
广播包:02 01 06 03 02 E7 FE 09 FF 0D 00 90 59 AF 0E 62 88 0A 09 54 77 6F 57 69 6E 74 65 72 05 12 50 00 20 03 02 0A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
***** onTestManufatureData *****
resut= true, 广播包中 manufacture specific data 字段中MAC地址校验成功.
***** onDiscoverService *****
result = true, DiscoverService success
Discovered Services
ServiceUUID: 0-805f9b34fb
ServiceUUID: 0-805f9b34fb
ServiceUUID: 00-805f9b34fb
ServiceUUID: 0000fee7-00-fb
***** onTestHasWeChatService *****
result = true, has WeChatService or standard service
***** onTestHasIndicateCharacteristic *****
result = true, has WeChat Indicate Characteristic
***** onTestHasWriteCharacteristic *****
result = true, has Wechat Write Characteristic
***** onTestHasReadCharacteristic *****
result = true, Has WeChat read characteristic
***** onTestWriteCharacteristicPermisson *****
result = true, has Write permission
***** onTestIndicateCharacteristicPermisson *****
result = true, has Indication permission
***** onTestReadCharacteristicPermisson *****
result = true, Read Characteristic is read able
***** onTestStartIndicating *****
result = true, can Start Indicate
***** onConnected *****
result = true, connected
------onDataReceived------
data length = 20
data dump = FE 01 00 24 27 11 00 01 0A 00 18 84 80 04 20 01 28 02 3A 06
data receive seq = 0
------onDataReceived------
data length = 16
data dump = 90 59 AF 0E 62 88 62 08 6D 79 64 65 76 69 63 65
data receive seq = 1
***** onTestRecvAuthReqtWhenStartedIndicating *****
result = true, received auth request pack
***** onTestIsValidAuthReqPack *****
result = true, is a valid auth request pack
AuthRequestPack: FE 01 00 24 27 11 00 01 0A 00 18 84 80 04 20 01 28 02 3A 06 90 59 AF 0E 62 88 62 08 6D 79 64 65 76 69 63 65
has BaseRequest
no Md5DeviceTypeAndDeviceId field!
has MacAddress field, Mac Address = 90 59 AF 0E 62 88
MacAddress BitLength = 48bit
Mac Address from broadcast record = 90:59:AF:0E:62:88
Mac address checkout success
has ProtoVersion field, ProtoVersion = 65540
has AuthProto field, AuthProto = 1
has AuthMethod field, AuthMethod = EAM_macNoEncrypt
no AesSign field!
has DeviceName field, DeviceName = mydevice
**** send auth response ****
data len = 14
data dump = FE 01 00 0E 4E 21 00 01 0A 02 08 00 12 00
------onDataReceived------
data length = 16
data dump = FE 01 00 10 27 13 00 02 0A 00 1A 04 11 22 33 44
data receive seq = 2
***** onTestRecvInitReqPack *****
result = true, received init request pack
***** onTestIsValidInitReqPack *****
result = true, valid init request pack: has BaseRequest
has Challenge field, Challenge = 11 22 33 44
**** send init request response ****
data len = 25
data dump = FE 01 00 19 4E 23 00 02 0A 02 08 00 10 B4 24 18 F8 AC 01 20 D1 BB CA BF 07
------onDataReceived------
data length = 20
data dump = FE 01 00 18 27 12 00 03 0A 00 12 0C FE CF 00 01 00 12 00 01
data receive seq = 3
------onDataReceived------
data length = 4
data dump = 00 03 00 00
data receive seq = 4
*** receive SendDataRequest ****
date type = manufactureSvr data
data len = 16
data dump = 0A 00 12 0C FE CF 00 01 00 12 00 01 00 03 00 00
**** send SendData Response(echo request) ****
data len = 30
data dump = FE 01 00 1E 4E 22 00 03 0A 02 08 00 12 10 0A 00 12 0C FE CF 00 01 00 12 00 01 00 03 00 00
***** onTestIsValidSendDataRequest *****
result = true, is a valid SendDataRequest pack: has BaseRequest field
has Data field, data = http://blog.csdn.net/sadshen/article/details/FE CF 00 01 00 12 00 01 00 03 00 00
no Type field, use default manufactureSvr data type
**** send ManufactureSvr Push ****
data len = 22
data dump = FE 01 00 16 75 31 00 00 0A 00 12 08 31 32 33 34 35 36 37 38 18 00
**** send Html Push ****
data len = 23
data dump = FE 01 00 17 75 31 00 00 0A 00 12 08 31 32 33 34 35 36 37 38 18 91 4E
**** send wxWristBand Push ****
data len = 14
data dump = FE 01 00 0E 75 31 00 00 0A 00 12 00 18 01
**** send EnterDeviceChatView Push ****
data len = 14
data dump = FE 01 00 0E 75 32 00 00 0A 00 10 01 18 01
**** send Exit ChatView Push ****
data len = 14
data dump = FE 01 00 0E 75 32 00 00 0A 00 10 02 18 01
**** send Enter HtmlChatView Push ****
data len = 14
data dump = FE 01 00 0E 75 32 00 00 0A 00 10 01 18 02
**** send Exit HtmlChatView Push ****
data len = 14
data dump = FE 01 00 0E 75 32 00 00 0A 00 10 02 18 02
**** send enterBackground Push ****
data len = 12
data dump = FE 01 00 0C 75 33 00 00 0A 00 10 01
**** send enterForground Push ****
data len = 12
data dump = FE 01 00 0C 75 33 00 00 0A 00 10 02
**** send enterSleep Push ****
data len = 12
data dump = FE 01 00 0C 75 33 00 00 0A 00 10 03
*****Disconnected Device*****
版权声明:本文为博主原创,未经博主允许不得转载。微信蓝牙协议调试工具AirSyncDebugger说明文档 v2.0-360文档中心
360文档中心免费免积分下载,各行业
知识、技术、信息等word文档下载网站
微信蓝牙协议调试工具AirSyncDebugger说明文档 v2.0
免费下载该文档:
微信蓝牙协议调试工具AirSyncDebugger说明文档 v2.0的相关文档搜索
【ZLG微信文档精选】微信,能连接一切,原因竟然是这些_电子/电路_工程科技_专业...AirSync Debugger 工具是 Tencent 发布的微信蓝牙协议调试工具,目前只有 Android ...利用AirSync技术建立微信与nRF51822的连接_信息与通信...微信官方给到的资料,一步步实现与Nordic蓝牙芯片建立...文档版本:v1.0.0 ? ? 说明:文档编写时间为 ...微信硬件平台蓝牙 Demo 大黄蜂开发板教程 V1.0_Hark...27 4.1 AirSync 协议 API......程序下载和仿真器是 CCDebugger,如下图: 5 图 1-1-3 CCDebugger 整...action=showinfo&t=sandbox/index 微信调试接口: ...5 问题 1. WeChat AirSync(微信的协议) 2. 微信...3. 蓝牙资格认证 文档贡献者 avkojwer1 贡献于...原来最终奥秘都在 AirSync 蓝牙协议, 研究清楚了之后我沿着单片机学习的方法, 在淘 宝找了下看有没有支持微信硬件的开发板,看到了很多 AT 命令开发的,例程千篇...利用 HTTP 协议抓取工具获得微信通信会话过程,并对...(Cdn Cache Server V2.0) Connection: keep-alive ...webpush./cgi-bin/mmwebwx-bin/sync...微信蓝牙协议调试工具AirSyncDebugger说明文档 v2.0_慧知文库
微信蓝牙协议调试工具AirSyncDebuggerV2.0.0TencentConfidential文档变更日志版本1.0.02.0.0变更第一版1、增加手动测试项;2、增加解包工具3、增加加解密功能日期15/1/23修改人lawsonhuangl...
微信蓝牙协议调试工具 AirSyncDebugger V2.0.0 Tencent Confidential
文档变更日志 版本 1.0.0 2.0.0 变更 第一版 1、增加手动测试项;2、增加解包工具 3、增加加解密功能 日期
修改人 lawsonhuang lawsonhuang
目录 微信蓝牙协议调试工具 .................................................................. 1 微信蓝牙协议调试工具 AirSyncDebugger .................................. 4 功能: ........................................................................................................................ 4 (一)自动测试 ........................................................................................................ 4 (二)手动测试 ........................................................................................................ 5 (三)解包工具 ........................................................................................................ 5 适配机型 .................................................................................................................... 5 系统要求 .................................................................................................................... 5 BLE 设备自动测试过程............................................................................................ 6 经典蓝牙设备自动测试过程 ................................................................................. 13 手动测试过程 .......................................................................................................... 17 解包工具 .................................................................................................................. 24
微信蓝牙协议调试工具 AirSyncDebugger 功能: (一)自动测试 自动测试第三方蓝牙设备是否正确实现微信蓝牙协议, 降低第三方设备接入微信 给双方带来的沟通、调试成本。 包括: 1、 支持 2.0 经典蓝牙设备和蓝牙低功耗设备; 2、 支持加密设备的测试,可在进入主界面后设置是否加密、密钥、 Device ID 以及 Session Key。 3、扫描发现蓝牙外设,支持 BLE 设备和经典蓝牙设备。 4、选择要检测的设备后,工具自动进行检测。 5、对于 BLE 设备,包括以下 6 个步骤: Step1: 检测蓝牙设备是否广播了微信服务, 服务是否有 Write 特征值、 Indication 特征值、 Read 特征值, 以及这三个特征值是否有正确的权限; 并在设备列表中显示异常信息(可收起); Step2: 选择已正确检测蓝牙广播包的设备,连接;若连接失败,则显示异常信息(可收起); Step3: 连接成功后,检测 Auth Request 包,收到后解包,解包正确后发送相应 response 包,并 显示该项检测成功, 若收包超时或解包异常, 则该项检测失败, 显示异常信息 (可收起) ; Step4: 检测 Init Request 包,收到后解包,解包正确后发送相应 response 包,并显示该项检测 成功,若收包超时或解包异常,则该项检测失败,显示异常信息(可收起) ; Step5: 检测 Send Data Request 包,解包并根据包体内容构造 response 包,并显示该项检测成 功,若收包超时或解包异常,则该项检测失败,显示异常信息(可收起) ; Step6: 测试 push 包, 客户端直接向设备依次发送各种 Push 包, 若发送失败, 则该项检测失败, 显示失败信息(可收起) 。 其中, 各种测试 Push 包, 包括 enterBackground 进入后台包、enterForgrond 进入前台包、 enterSleep 进入睡眠包、 enterChatView 进入微信会话界面包、 exitChatView 退出微信会话界 面包、 enterHtmlView 进入 html 会话界面、 exiHtmlView 退出 html 会话界面、 ManufactureData 发送数据给蓝牙设备包、wxWristBandData 微信手环包、 htmlData 包。
5、对于经典蓝牙设备,检测到指定 UUID 的 RFCOMM 服务后,进行以下 5 项 检测: Step1: 连接设备;若连接失败,则显示异常信息(可收起); Step2: 连接成功后,检测 Auth Request 包,收到后解包,解包正确后发送相应 response 包,并 显示该项检测成功, 若收包超时或解包异常, 则该项检测失败, 显示异常信息 (可收起) ; Step3: 检测 Init Request 包,收到后解包,解包正确后发送相应 response 包,并显示该项检测 成功,若收包超时或解包异常,则该项检测失败,显示异常信息(可收起) ; Step4: 检测 Send Data Request 包,解包并根据包体内容构造 response 包,并显示该项检测成 功,若收包超时或解包异常,则该项检测失败,显示异常信息(可收起) ; Step5: 测试 push 包, 客户端直接向设备依次发送各种 Push 包, 若发送失败, 则该项检测失败, 显示失败信息(可收起) 。 (二)手动测试 手动测试是在自动测试完成的基础上,手动发送常用的 Push 包,以及发送自定义 Push 包和 Response 包,对设备进行调试。流程包括:连接设备?Auth 检测?Init 检测?进入手动发包 模式。具体在操作流程详细说明。 (三)解包工具 解包工具为方便设备开发人员在设备开发及调试阶段, 能对设备发送或收到的包单独抽出来 分解包的内容字段及检验其正确性, 以及自动检测不通过时对个别包进行分解定位错误。 详 细说明在具体操作流程中。 适配机型 建议使用安卓原生系统的机型,如 nexus 5 、nexus4 等。三星、华为、小米定制系统也能正 常运行,但不建议作为设备的测试机型。 系统要求 支持 Android 4.2 及以上系统,包括 Android 5.0 系统。测试 BLE 设备需要 Android 4.3 及以 上系统。
BLE 设备自动测试过程 1. 工具启动后,自动开始扫描设备,支持 BLE 和经典蓝牙,先扫描 BLE 设备 后扫描经典蓝牙设备,已绑定的设备在列表前列。 选择要测试设 备进入测试
2. 选择目标设备进入检测页面 设置加密 模式, 默认 不加密 点击进入自动 测试
3. 设置加密模式。默认为不加密,如测试不加密设备可不进入设置直接进行测 试; 如测试加密设备, 需选择 AES 加密模式, 手动输入密钥、 设备 ID、 Session Key:
4. 点击进入自动检测后,开始以 step-by-step 方式进行检测 显示设备及连 接状态 显示步骤 3 检 测异常, 弹出错 误信息 自动测试完成后 3 秒断开连接, 若要直接在本页面重新进行测试, 就在设备断开连接后点击 “测试”按钮,重新进行自动测试
5. 异常情况: 对于缺失 Read 特征的情况, 在一些特定应用是可以正常与微信连接使用的, 在些做黄色叹号警告提示,继续下面测试步骤;对于其他红色叹号异常信息,即表示该 步骤测试出错,弹出错误信息,停步测试,断开与设备连接。 点击可重新检测 点击查看日志 警告异常 错误异常 点击“? ”显示 该项检测提示 信息
6. 查看日志,及保存 点击保存日志 清除当前 日志缓存 显示保存路径
感觉不错的话,微信扫一扫关注官方微信公众账号,以后找资料更方便
是互联网分享学习的开放平台,汇集亿份高价值的文档资料,涵盖档下载,程序开发文档,教育文档,医药文档,办公文档,考试文档,营销文档,工程文档,分享文档等行业。为您提供愉悦的分享学习体验。
微信蓝牙协议调试工具AirSyncDebugger说明文档 v2.0
你可以免费下载该文档
没满足你的要求? 查找更多相关内容

我要回帖

更多关于 airsyncdebugger下载 的文章

 

随机推荐