色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

機智云SDK Logs分析教程

Dtzl_SCAnalytic ? 來源:機智云開發者 ? 作者:機智云開發者 ? 2021-07-27 11:12 ? 次閱讀

一、概述

機智云SDK日志中包含了大量的信息,極大的方便開發者定位問題,但很多開發者都看不懂這些日志,因此該份教程講述如何從SDK的日志中找到自己需要的信息以及定位問題。

該份文檔的閱讀前提是開發者已經具備獲取Android日志的條件和能力,并且已經熟悉機智云SDK相關使用方法。如不具備這些前提,請先參考網絡上的相關資料

二、設置SDK級別

要查看SDK的日志,首先需要調用SDK設置日志級別的方法,將其設為所有級別,以及設置在后臺輸出二進制數據。

調用方法:

XPGWifiSDK.setLogLevel(XPGWifiLogLevel logLevel, String logFile, boolean bPrintDataInDebug);

參數說明:

f980da5a-e41f-11eb-a97a-12bb97331649.png

三、過濾日志

SDK的日志主要有兩個“TAG”,一個是“xpgc”,一個是“XPGWifiSDK”。一般情況下,LogCat的Log Tag 設置為“xpg”即可。

如圖:

f9d813f6-e41f-11eb-a97a-12bb97331649.png

“xpgc”代表該日志屬于SDK底層邏輯所打印的日志。

“XPGWifiSDK”代表該日志屬于SDK外部公共接口所打印的日志。

如圖:

fa282210-e41f-11eb-a97a-12bb97331649.png

四、日志分析

SDK在執行每一步操作的時候,都會打印出相關信息,具體信息課參考如下說明:

云端請求

SDK里包含的大量的云端交互操作,其中與云端交互部分,會以“W”(警告)級別打印,在Eclipse的Log Cat中會以橘黃色來標記。如下圖:

fa5f783c-e41f-11eb-a97a-12bb97331649.png

該日志包含了請求的相關信息,如請求的Header以及Body。

其中Header包含了AppID以及Token等比較重要的信息,App發布的時候請注意關閉日志輸出。

SDK內部使用的網絡接口都是使用機智云OpenAPI的相關接口,接口的詳情可參考官網的文檔。

根據該日志,可以看出發出自己的接口調用是否正確,例如缺少token或者缺少AppID等;同時也可以判斷自己的網絡質量,是否發起請求以后長時間未收到云端回復。

一些常見的問題分析會在該文檔后面再詳細描述。

云端響應

SDK發起請求后,在網絡正常的情況下,SDK會收到云端的響應,響應結果也會打印在日志中。如圖:

fa9980e0-e41f-11eb-a97a-12bb97331649.png

具體的reponse會以“W”級別標出。上圖是獲取賬號下綁定的設備的請求響應。一般情況下,開發者無需理會具體的網絡請求和響應,SDK會自行處理并作出回調。只有在網絡情況不好的情況下,開發者才需要從日志中分析網絡請求是否正常。

發現設備

SDK發現本地設備的過程實際上是UDP的收發過程。SDK會往路由器發送一個UDP廣播,燒寫了機智云模塊的設備在收到改廣播后,會回復一個響應幀到SDK端。具體的過程可由下圖看出來:

fae376e6-e41f-11eb-a97a-12bb97331649.png

“xpgBroadcast(),port = 12414”該日志說明SDK向路由器的12414端口發送了一個UDP廣播,具體的指令內容可參考協議文檔。如果發送成功,SDK會打印“udp package send success”。

當設備收到了指定的UDP廣播以后,會回復相關響應幀,該響應幀包含了設備的Productkey、Did、IP地址、MAC地址等信息。具體的指令內容可參考協議文檔。

SDK收到設備的回復以后,會回調didDiscoverd接口。

從該日志可以看出SDK發出廣播后,是否有設備回復。如果沒有收到回復,說明有幾點原因:

本地沒有設備

路由器不支持UDP廣播

可根據實際情況定位問題和解決問題。

小循環登錄設備

小循環登錄即是手機與設備在同一路由器內,通過設備IP建立TCP連接。登錄的過程如下圖:

fb00590a-e41f-11eb-a97a-12bb97331649.png

由圖中的“Connected to server 192.168.1.102:12416”可以看出SDK發起的是小循環登錄,連接的是設備的IP地址,端口號為12416。

登錄成功后,SDK內部會打印“OnLogin(int): 0”,返回值0說明登錄成功了,會回調“didLogin”接口通知UI進行處理。

通過該日志,可以判斷設備是進行大循環還是小循環連接,并且可以看出連接成功或者失敗,以及失敗的原因。具體失敗的原因會在本文檔后面進一步描述。

大循環登錄設備

大循環登錄即是手機與設備不在同一路由器(網段)內,通過機智云云端建立MQTT連接。登錄的過程如下圖:

fb13391c-e41f-11eb-a97a-12bb97331649.png

由圖中的“Connected to server m2m.gizwits.com:1883”可以看出SDK發起的是大循環登錄,連接的是機智云云端域名地址,端口號為1883。

登錄成功后,SDK內部會打印“OnLogin(int): 0”,返回值0說明登錄成功了,會回調“didLogin”接口通知UI進行處理。

通過該日志,可以判斷設備是進行大循環還是小循環連接,并且可以看出連接成功或者失敗,以及失敗的原因。具體失敗的原因會在本文檔后面進一步描述。

小循環收發指令

小循環發送指令通過TCP/IP進行收發。開發者調用SDK方法,傳入JSON格式的指令,由SDK內部解析成為二進制指令,并發送給設備。設備收到后做出狀態改變,按照機智云串口協議要求,把自己的狀態用二進制指令返回,SDK收到后再封裝為JSON格式,回調給相關接口。詳見下圖:

fb25c686-e41f-11eb-a97a-12bb97331649.png

其中“writePi()”說明是通過IP的方式發送的指令,也即是小循環發送。

通過該日志,可以看出二進制指令是否按照協議文檔收發,是否能正常解析為JSON格式,解析的JSON格式是否正確。具體的分析過程會在本文檔后面進一步描述。

大循環收發指令

小循環發送指令通過MQTT方式進行收發。開發者調用SDK方法,傳入JSON格式的指令,由SDK內部解析成為二進制指令,并發送給設備。設備收到后做出狀態改變,按照機智云串口協議要求,把自己的狀態用二進制指令返回,SDK收到后再封裝為JSON格式,回調給相關接口。詳見下圖:

fb7a30c2-e41f-11eb-a97a-12bb97331649.png

其中“writePm()”說明是通過MQTT的方式發送的指令,也即是大循環發送。

“readPm()”說明時通過MQTT的方式接收到指令,也就是大循環接收。

通過該日志,可以看出二進制指令是否按照協議文檔收發,是否能正常解析為JSON格式,解析的JSON格式是否正確。具體的分析過程會在本文檔后面進一步描述。

收發指令詳解

SDK收發指令的過程,均在SDK中打印顯示,App的調試,也可以從日志中獲得大量很有用的信息。一個收發指令的過程如下圖:

fd0da496-e41f-11eb-a97a-12bb97331649.png

一次指令的收發,具體經過了以下幾個步驟:

1.調用SDK的“write()”方法發送JSON指令

如上圖日志中的JSON指令,包含了“fan_speed”這個數據點。通過該日志,可以看出發送的JSON格式是否正確,數據點是否正確,數據點的key跟value是不是目標數據。

2.SDK把JSON指令解析為原始業務指令

“writeP0()”代表了SDK把JSON格式的指令解析為二進制指令,下面會打印出字節格式的指令。

3.SDK把二進制指令小循環發往設備或大循環發往云端

“writePm()”代表了SDK加入了機智云協議的包頭后把指令發往云端。

如果是“writePi()”,則說明是小循環發送指令。

通過該日志,可以看出當前發送的指令屬于大循環還是屬于小循環。

4.SDK接收到本地或云端的二進制指令

“readPm()”代表了SDK接收到了云端返回的二進制指令,如果是”readPi()”,則說明SDK接收到了本地設備返回的二進制指令。

通過該日志,可以看出當前接收的指令屬于大循環還是屬于小循環。

5.SDK把二進制指令去除包頭后變為原始業務指令

如果SDK接收到了云端的指令,會去除機智云協議的包頭,保留原始的字節業務指令并打印在控制臺中。

6.SDK把原始業務指令封裝為JSON格式

SDK獲取到二進制指令后會根據自動加載的配置文件解析為JSON格式指令。如上圖的“receive data”中打印出的JSON指令。通過該日志,可以看出解析是否正常以及具體每個數據點的key和value。

7.SDK把JSON格式指令通過接口回調給UI層

SDK解析結束后會通過回調接口把數據回調到UI層,TAG為“XPGWiFiSDK”,接口名一般是”did”開頭,例如圖中的”didReceiveData”。

通過該日志可以看出SDK是否已經成功調用了回調接口,以及調用的回調接口具體的接口名。

編輯:jq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • SDK
    SDK
    +關注

    關注

    3

    文章

    1035

    瀏覽量

    45905

原文標題:Android logs 分析 :機智云SDK Logs 分析教程

文章出處:【微信號:SCAnalyticsPlatform,微信公眾號:IBM大數據技術團隊】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    STM32項目分享:機智智慧農業系統

    01—項目簡介1.功能詳解基于STM32的機智智慧農業系統。功能如下:溫濕度采集:使用DHT11溫濕度傳感器采集環境溫濕度土壤濕度
    的頭像 發表于 12-19 18:40 ?97次閱讀
    STM32項目分享:<b class='flag-5'>機智</b><b class='flag-5'>云</b>智慧農業系統

    機智歷史數據導出與排查指南

    機智歷史數據導出與排查指南在使用機智平臺進行設備管理和數據監控時,歷史數據的導出和排查是常見的需求。機智
    的頭像 發表于 11-21 01:01 ?144次閱讀
    <b class='flag-5'>機智</b><b class='flag-5'>云</b>歷史數據導出與排查指南

    STM32連接機智,代碼移植,NTP實時時間獲取(一)

    目錄一、機智介紹二、固件下載三、項目例程下載四、代碼移植五、代碼編寫準備(已配置完畢,正式開始編寫代碼)六、設備配對與連接七、NTP(網絡時間協議)實現八、網盤資料鏈接機智介紹廣州
    的頭像 發表于 11-19 01:01 ?287次閱讀
    STM32連接<b class='flag-5'>機智</b><b class='flag-5'>云</b>,代碼移植,NTP實時時間獲取(一)

    如何處理機智移動應用的刪除問題

    如何處理機智移動應用的刪除問題在日常使用機智移動應用時,用戶可能會遇到無法自行刪除應用的問題。根據最新版本的設計,機智
    的頭像 發表于 10-23 08:04 ?185次閱讀
    如何處理<b class='flag-5'>機智</b><b class='flag-5'>云</b>移動應用的刪除問題

    機智熱點活動回顧

    由廣東水利電力職業學院物聯網應用技術專業帶頭人龔蘭芳教授率隊蒞臨機智公司交流合作,機智合伙人兼副總裁邢雁女士和公共事務總監李蓮健女士接待并向蒞臨交流的教授老師介紹了公司最新的業務發
    的頭像 發表于 09-23 11:11 ?340次閱讀

    機智智家APP的設備掃描與綁定限制

    在使用機智的智家APP時,用戶可能會遇到無法掃描和綁定設備的問題。這一現象的根本原因在于智家APP的使用限制和付費策略。Q智家APP的功能概述是什么?智家APP是機智平臺為用戶提供
    的頭像 發表于 09-22 08:02 ?241次閱讀
    <b class='flag-5'>機智</b><b class='flag-5'>云</b>智家APP的設備掃描與綁定限制

    基于機智移植STM32L496G代碼移植

    前言最近我拿到了STM32L496AGMCU,發現其擴展版可以連接ESP-01S。我想嘗試將開發板連接到我們的機智上,并根據機智提供的文檔進行程序移植。STM32CubeMX移植
    的頭像 發表于 09-20 08:05 ?396次閱讀
    基于<b class='flag-5'>機智</b><b class='flag-5'>云</b>移植STM32L496G代碼移植

    機智入門必備》手把手教你燒錄GAgent固件

    本文《機智入門必備》將詳細講解GAgent固件的燒錄過程,從基礎設置到實際操作,將一步步帶你完成每一個環節,確保你的設備順利連接機智平臺,實現智能控制和自動化管理。基本介紹esp8
    的頭像 發表于 09-12 08:04 ?365次閱讀
    《<b class='flag-5'>機智</b><b class='flag-5'>云</b>入門必備》手把手教你燒錄GAgent固件

    機智開源自動化控制篇-接近報警系統

    本次采用STM32F103C8T6單片機、ESP-01S模塊、紅外避障模塊、蜂鳴器模塊,接入機智平臺,完成接近報警系統,為智能化場景增添強大功能。使用到的模塊STM32F103C8T6ESP-01S紅外避障模塊蜂鳴器模塊基本工作進入
    的頭像 發表于 08-31 08:02 ?301次閱讀
    <b class='flag-5'>機智</b><b class='flag-5'>云</b>開源自動化控制篇-接近報警系統

    機智開源自動化控制篇:溫濕度報警器

    這次使用STM32F103C8T6單片機、ESP-01S、DHT11、蜂鳴器以及0.96寸OLED(I2C)制作溫濕度報警器,為智能家居增添智能生態。基本工作進入機智開發者中心創建智能產品機智
    的頭像 發表于 08-06 08:10 ?318次閱讀
    <b class='flag-5'>機智</b><b class='flag-5'>云</b>開源自動化控制篇:溫濕度報警器

    STM32項目分享:智能家居(機智)系統

    STM32項目分享:智能家居(機智)系統
    的頭像 發表于 07-28 08:10 ?1838次閱讀
    STM32項目分享:智能家居(<b class='flag-5'>機智</b><b class='flag-5'>云</b>)系統

    個人機智開發實踐:經驗總結與技術分享

    在個人的機智開發過程中,主要包括以下幾個步驟1.項目創建與數據點設置2.在機智平臺上創建項目并定義所需的數據點,這些數據點將用于設備和云端的通信。3.無線通信模塊固件燒錄4.下載并
    的頭像 發表于 07-05 08:10 ?333次閱讀
    個人<b class='flag-5'>機智</b><b class='flag-5'>云</b>開發實踐:經驗總結與技術分享

    基于 STM32 和機智智能門鎖的實現

    關鍵詞:智能門鎖、STM32、機智、APP目錄1、功能實現2、軟、硬件系統設計3、系統調試4、結論1功能實現本系統基于STM32和機智設計了一款新型智能門鎖。該系統主要由STM32
    的頭像 發表于 03-23 08:09 ?1719次閱讀
    基于 STM32 和<b class='flag-5'>機智</b><b class='flag-5'>云</b>智能門鎖的實現

    基于機智物聯網的PCR溫度控制

    本文設計了基于物聯網的PCR溫度控制系統,能夠實現快速、準確的溫度控制。通過將檢測設備端接入機智平臺,使檢測人員能夠遠程監控PCR儀的運行,實現檢測現場的無人值守,減輕檢測人員的負擔,并提
    的頭像 發表于 03-07 08:09 ?769次閱讀
    基于<b class='flag-5'>機智</b><b class='flag-5'>云</b>物聯網的PCR溫度控制

    ZWS平臺應用(2)-設備基于SDK接入

    二次開發,這類設備可以基于SDK開發接入平臺。第二類:設備無法聯網也不能二次開發,這類設備可以通過網關或透傳通訊終端接入平臺。接入流程功能目的這次我們以具備聯
    的頭像 發表于 03-05 08:24 ?426次閱讀
    ZWS<b class='flag-5'>云</b>平臺應用(2)-設備基于<b class='flag-5'>SDK</b>接入
    主站蜘蛛池模板: 99久久亚洲综合精品| 51xx午夜影视福利| 一本道高清到手机在线| 伊人久99久女女视频精品免| 真实国产熟睡乱子伦对白无套| 91精品一区二区三区在线观看| CHINSEFUCKGAY无套| 国产www视频| 极品 女神校花 露脸91| 久久综合香蕉久久久久久久| 欧美高清18| 忘忧草在线影院WWW日本动漫| 亚洲精品国产品国语在线试看| 一线高清视频在线播放| 9国产露脸精品国产麻豆| 国产成人在线视频播放| 吉吉av电影| 欧洲电影巜肉欲丛林| 污到湿的爽文免费阅读| 在线a亚洲视频| 成品片a免人看免费| 国产偷国产偷亚洲高清SWAG| 久久精品动漫网一区二区| 欧美性喷潮xxxx| 无码欧美喷潮福利XXXX| 曰本真人00XX动太图| 超碰caoporon最新视频| 黄色片软件大全| 男女又黄又刺激B片免费网站 | 开心片色99xxxx| 欧美日韩北条麻妃一区二区| 无码AV动漫精品一区二区免费| 伊人久久青青草| 成人五级毛片免费播放| 狠狠操天天操夜夜操| 欧美特级午夜一区二区三区| 亚洲2023无矿砖码砖区| 97精品国偷拍自产在线| 国产精品久久久久久亚洲影视| 乱码午夜-极品国产内射| 少妇被躁爽到高潮无码久久|