天天看點

SYD8801微信接入測試結果【精簡協定】【AirSync】

SYD8801是一款低功耗高性能藍牙低功耗SOC,內建了高性能2.4GHz射頻收發機、32位ARM Cortex-M0處理器、128kB Flash存儲器、以及豐富的數字接口。SYD8801片上內建了Balun無需阻抗比對網絡、高效率DCDC降壓轉換器,适合用于可穿戴、物聯網裝置等。具體可咨詢:http://www.sydtek.com/

關于微信接入的内容請看:http://blog.csdn.net/chengdong1314/article/details/78070453

SYD8801微信接入測試結果-精簡協定

    這裡首先使用AirSyncDebugger軟體進行調試,調試結果如下:

SYD8801微信接入測試結果【精簡協定】【AirSync】
SYD8801微信接入測試結果【精簡協定】【AirSync】
SYD8801微信接入測試結果【精簡協定】【AirSync】

   微信接入的資料請看:http://download.csdn.net/download/chengdong1314/10001695

   關于SYD8801端的微信接入的源代碼請和SYD官方索要!官方有提供詳細資源和源代碼!

    下面來真正的連接配接微信!

    第一步當然是組建微信公衆号,這方面的工作請看前面提及的資料:http://blog.csdn.net/chengdong1314/article/details/78070453

    這裡要提醒一下:

    第一微信公衆号的配置必須要對,否則不可能連接配接成功

    第二MAC位址必須要和公衆号的比對對的上

    第三必須的過得了AirSyncDebugger的測試

    進入公衆号時顯示連接配接中,如下左圖,如果各方面配置不對則會顯示連接配接0個裝置,如下右圖:

SYD8801微信接入測試結果【精簡協定】【AirSync】
SYD8801微信接入測試結果【精簡協定】【AirSync】

    如果連接配接成功則會顯示成功連接配接到1個裝置,如下左圖所示,這時候可以在微信運動看到上傳的步數,如下右圖:

SYD8801微信接入測試結果【精簡協定】【AirSync】
SYD8801微信接入測試結果【精簡協定】【AirSync】

    這時候抓包到的資料如下,确實手環上傳了步數:

SYD8801微信接入測試結果【精簡協定】【AirSync】

SYD8801微信接入測試結果-AirSync

關于AirSync的說明請看部落格http://blog.csdn.net/chengdong1314/article/details/78070453的相關章節

這裡使用AirSyncDebugger軟體進行調試,第一步先進行設定,包括DEVICE_TYPE和DEVICE_ID,這兩個的定義在《mpbledemo2.h》溫江中,如下:

#define DEVICE_TYPE "gh_ca9217796a90"                                //device type,需填入您申請到的微信測試id号

#define DEVICE_ID "gh_ca9217796a90_dc295255d8de6c6fd0597acaf2f41d06" //deviceid,需填入您申請到的deviceid

設定步驟如下(注意:手指指的地方就是要點選的地方),這裡輸入的DEVICE_TYPE和DEVICE_ID要和代碼對應上:

SYD8801微信接入測試結果【精簡協定】【AirSync】
SYD8801微信接入測試結果【精簡協定】【AirSync】
SYD8801微信接入測試結果【精簡協定】【AirSync】
SYD8801微信接入測試結果【精簡協定】【AirSync】

接下來就是測試截圖(注意:從第二個圖開始(device_auth發送)都要用按鍵切換兩次到記步界面,這時候手環才會發送相應資料包,因為發送的調用在記步界面開始的地方):

SYD8801微信接入測試結果【精簡協定】【AirSync】
SYD8801微信接入測試結果【精簡協定】【AirSync】
SYD8801微信接入測試結果【精簡協定】【AirSync】
SYD8801微信接入測試結果【精簡協定】【AirSync】
SYD8801微信接入測試結果【精簡協定】【AirSync】

發送資料包的入口代碼:

SYD8801微信接入測試結果【精簡協定】【AirSync】

另外在《ble_wechat_service.h》檔案中定義了目前是微信精簡協定還是AIRSYNC,定義_WECHAT_代表使用精簡協定,定義__AIRSYNC__代表使用AIRSYNC,目前都是分開測試的,合在一起還沒有測試,不過理論上可行!

SYD8801微信接入測試結果【精簡協定】【AirSync】

關于SYD8801端的微信接入的源代碼請和SYD官方索要!官方有提供詳細資源和源代碼!

最後下面是AirSyncDebugger軟體的日志:

***** onTestBroadcastRecord *****

result = true, Has 0xfee7 or standard service in broadcast record

廣播包:03 19 05 00 02 01 05 05 03 01 00 E7 FE 09 FF 00 00 E0 39 76 BD 26 95 06 09 55 41 52 54 46 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 00 00 00 00 00 00

***** onTestManufatureData *****

resut= true, 廣播包中 manufacture specific data 字段中MAC位址校驗成功.

***** onDiscoverService *****

result = true, DiscoverService success

Discovered Services

ServiceUUID: 00001800-0000-1000-8000-00805f9b34fb

ServiceUUID: 00001801-0000-1000-8000-00805f9b34fb

ServiceUUID: 0000180a-0000-1000-8000-00805f9b34fb

ServiceUUID: 0000180f-0000-1000-8000-00805f9b34fb

ServiceUUID: 00000001-0000-1000-8000-00805f9b34fb

ServiceUUID: 0000fee7-0000-1000-8000-00805f9b34fb

ServiceUUID: 0000ff00-0000-1000-8000-00805f9b34fb

***** 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 57 27 11 00 01 0A 00 12 10 A9 31 21 A9 B4 A7 3B BA

data receive seq = 1

------onDataReceived------

data length = 20

data dump = 3C 53 1D 2B F9 A6 04 27 18 84 80 04 20 01 28 01 62 31 67 68

data receive seq = 2

------onDataReceived------

data length = 20

data dump = 5F 63 61 39 32 31 37 37 39 36 61 39 30 5F 64 63 32 39 35 32

data receive seq = 3

------onDataReceived------

data length = 20

data dump = 35 35 64 38 64 65 36 63 36 66 64 30 35 39 37 61 63 61 66 32

data receive seq = 4

------onDataReceived------

data length = 7

data dump = 66 34 31 64 30 36 00

data receive seq = 5

***** onTestRecvAuthReqtWhenStartedIndicating *****

result = true, received auth request pack

***** onTestIsValidAuthReqPack *****

result = true, is a valid auth request pack

AuthRequestPack: FE 01 00 57 27 11 00 01 0A 00 12 10 A9 31 21 A9 B4 A7 3B BA 3C 53 1D 2B F9 A6 04 27 18 84 80 04 20 01 28 01 62 31 67 68 5F 63 61 39 32 31 37 37 39 36 61 39 30 5F 64 63 32 39 35 32 35 35 64 38 64 65 36 63 36 66 64 30 35 39 37 61 63 61 66 32 66 34 31 64 30 36 00

has BaseRequest

has Md5DeviceTypeAndDeviceId, Md5DeviceTypeAndDeviceId = A9 31 21 A9 B4 A7 3B BA 3C 53 1D 2B F9 A6 04 27

Md5DeviceTypeAndDeviceId BitLength = 128bit

Md5DeviceTypeAndDeviceId checkout success

no MacAddress field!

has ProtoVersion field, ProtoVersion = 65540

has AuthProto field, AuthProto = 1

has AuthMethod field, AuthMethod = EAM_md5

no AesSign field!

has DeviceName field, DeviceName = gh_ca9217796a90_dc295255d8de6c6fd0597acaf2f41d06

**** 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 = 6

***** 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 27 27 12 00 03 0A 00 12 1B FE CF 00 01 00 1B 00 01

data receive seq = 7

------onDataReceived------

data length = 19

data dump = 00 03 00 00 48 65 6C 6C 6F 2C 20 57 65 43 68 61 74 21 00

data receive seq = 8

*** receive SendDataRequest ****

date type = manufactureSvr data

data len = 31

data dump = 0A 00 12 1B FE CF 00 01 00 1B 00 01 00 03 00 00 48 65 6C 6C 6F 2C 20 57 65 43 68 61 74 21 00

**** send SendData Response(echo request) ****

data len = 45

data dump = FE 01 00 2D 4E 22 00 03 0A 02 08 00 12 1F 0A 00 12 1B FE CF 00 01 00 1B 00 01 00 03 00 00 48 65 6C 6C 6F 2C 20 57 65 43 68 61 74 21 00

***** onTestIsValidSendDataRequest *****

result = true, is a valid SendDataRequest pack: has BaseRequest field

has Data field, data = FE CF 00 01 00 1B 00 01 00 03 00 00 48 65 6C 6C 6F 2C 20 57 65 43 68 61 74 21 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*****

繼續閱讀