chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

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

3天內(nèi)不再提示

機智云SDK Logs分析教程

Dtzl_SCAnalytic ? 來源:機智云開發(fā)者 ? 作者:機智云開發(fā)者 ? 2021-07-27 11:12 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一、概述

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

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

二、設(shè)置SDK級別

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

調(diào)用方法:

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

參數(shù)說明:

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

三、過濾日志

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

如圖:

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

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

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

如圖:

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

四、日志分析

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

云端請求

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

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

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

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

SDK內(nèi)部使用的網(wǎng)絡(luò)接口都是使用機智云OpenAPI的相關(guān)接口,接口的詳情可參考官網(wǎng)的文檔。

根據(jù)該日志,可以看出發(fā)出自己的接口調(diào)用是否正確,例如缺少token或者缺少AppID等;同時也可以判斷自己的網(wǎng)絡(luò)質(zhì)量,是否發(fā)起請求以后長時間未收到云端回復(fù)。

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

云端響應(yīng)

SDK發(fā)起請求后,在網(wǎng)絡(luò)正常的情況下,SDK會收到云端的響應(yīng),響應(yīng)結(jié)果也會打印在日志中。如圖:

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

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

發(fā)現(xiàn)設(shè)備

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

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

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

當(dāng)設(shè)備收到了指定的UDP廣播以后,會回復(fù)相關(guān)響應(yīng)幀,該響應(yīng)幀包含了設(shè)備的Productkey、Did、IP地址、MAC地址等信息。具體的指令內(nèi)容可參考協(xié)議文檔。

SDK收到設(shè)備的回復(fù)以后,會回調(diào)didDiscoverd接口。

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

本地沒有設(shè)備

路由器不支持UDP廣播

可根據(jù)實際情況定位問題和解決問題。

小循環(huán)登錄設(shè)備

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

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

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

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

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

大循環(huán)登錄設(shè)備

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

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

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

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

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

小循環(huán)收發(fā)指令

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

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

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

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

大循環(huán)收發(fā)指令

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

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

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

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

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

收發(fā)指令詳解

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

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

一次指令的收發(fā),具體經(jīng)過了以下幾個步驟:

1.調(diào)用SDK的“write()”方法發(fā)送JSON指令

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

2.SDK把JSON指令解析為原始業(yè)務(wù)指令

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

3.SDK把二進制指令小循環(huán)發(fā)往設(shè)備或大循環(huán)發(fā)往云端

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

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

通過該日志,可以看出當(dāng)前發(fā)送的指令屬于大循環(huán)還是屬于小循環(huán)。

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

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

通過該日志,可以看出當(dāng)前接收的指令屬于大循環(huán)還是屬于小循環(huán)。

5.SDK把二進制指令去除包頭后變?yōu)樵紭I(yè)務(wù)指令

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

6.SDK把原始業(yè)務(wù)指令封裝為JSON格式

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

7.SDK把JSON格式指令通過接口回調(diào)給UI層

SDK解析結(jié)束后會通過回調(diào)接口把數(shù)據(jù)回調(diào)到UI層,TAG為“XPGWiFiSDK”,接口名一般是”did”開頭,例如圖中的”didReceiveData”。

通過該日志可以看出SDK是否已經(jīng)成功調(diào)用了回調(diào)接口,以及調(diào)用的回調(diào)接口具體的接口名。

編輯:jq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • SDK
    SDK
    +關(guān)注

    關(guān)注

    3

    文章

    1076

    瀏覽量

    48914

原文標(biāo)題:Android logs 分析 :機智云SDK Logs 分析教程

文章出處:【微信號:SCAnalyticsPlatform,微信公眾號:IBM大數(shù)據(jù)技術(shù)團隊】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    基于STM32 HAL庫與標(biāo)準(zhǔn)庫的esp8266接入機智方案(二)

    在《基于STM32HAL庫與標(biāo)準(zhǔn)庫的esp8266接入機智方案(一)》中,我們詳細介紹了硬件連接和機智客戶端的創(chuàng)建。本篇將重點講解如何下載代碼、
    的頭像 發(fā)表于 05-28 18:02 ?447次閱讀
    基于STM32 HAL庫與標(biāo)準(zhǔn)庫的esp8266接入<b class='flag-5'>機智</b><b class='flag-5'>云</b>方案(二)

    機智Airlink配網(wǎng)超時、數(shù)據(jù)上傳延遲及更新不及時問題分析

    本教程旨在分析并解決在使用32單片機和ESP8266-01S接入機智時可能遇到的配網(wǎng)超時、數(shù)據(jù)上傳延遲及更新不及時的問題。通過將傳感器采集的數(shù)據(jù)上傳至機智
    的頭像 發(fā)表于 05-26 18:03 ?287次閱讀
    <b class='flag-5'>機智</b><b class='flag-5'>云</b>Airlink配網(wǎng)超時、數(shù)據(jù)上傳延遲及更新不及時問題<b class='flag-5'>分析</b>

    STM32與機智連接實現(xiàn)步驟與技巧(下篇):機智代碼移植與優(yōu)化

    機智SDK,集成API,實現(xiàn)數(shù)據(jù)傳輸和設(shè)備狀態(tài)同步,并分享移植過程中的常見問題及解決方法,幫助開發(fā)者順利實現(xiàn)云端連接。機智相關(guān)代碼開始移
    的頭像 發(fā)表于 05-23 18:10 ?233次閱讀
    STM32與<b class='flag-5'>機智</b><b class='flag-5'>云</b>連接實現(xiàn)步驟與技巧(下篇):<b class='flag-5'>機智</b><b class='flag-5'>云</b>代碼移植與優(yōu)化

    STM32與機智連接實現(xiàn)步驟與技巧(上篇)

    通過STM32與機智的連接,開發(fā)者可以實現(xiàn)設(shè)備的遠程控制和數(shù)據(jù)管理,提升物聯(lián)網(wǎng)應(yīng)用的智能化水平。本文將介紹STM32與機智連接的具體步驟,涵蓋硬件連接、通信協(xié)議配置、數(shù)據(jù)傳輸及
    的頭像 發(fā)表于 05-23 18:10 ?280次閱讀
    STM32與<b class='flag-5'>機智</b><b class='flag-5'>云</b>連接實現(xiàn)步驟與技巧(上篇)

    HarmonyOS5服務(wù)技術(shù)分享--存儲SDK文章整理

    在HarmonyOS ArkTS應(yīng)用中集成華為存儲SDK指南 大家好呀!今天咱們來聊聊如何將華為存儲SDK集成到基于ArkTS(API 9-11)的HarmonyOS應(yīng)用中。這篇指
    發(fā)表于 05-22 19:09

    機智歷史數(shù)據(jù)導(dǎo)出與排查指南

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

    STM32連接機智,代碼移植,NTP實時時間獲?。ㄒ唬?/a>

    目錄一、機智介紹二、固件下載三、項目例程下載四、代碼移植五、代碼編寫準(zhǔn)備(已配置完畢,正式開始編寫代碼)六、設(shè)備配對與連接七、NTP(網(wǎng)絡(luò)時間協(xié)議)實現(xiàn)八、網(wǎng)盤資料鏈接機智介紹廣州
    的頭像 發(fā)表于 11-19 01:01 ?1112次閱讀
    STM32連接<b class='flag-5'>機智</b><b class='flag-5'>云</b>,代碼移植,NTP實時時間獲?。ㄒ唬? />    </a>
</div>                              <div   id=

    如何處理機智移動應(yīng)用的刪除問題

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

    機智熱點活動回顧

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

    機智智家APP的設(shè)備掃描與綁定限制

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

    基于機智移植STM32L496G代碼移植

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

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

    本文《機智入門必備》將詳細講解GAgent固件的燒錄過程,從基礎(chǔ)設(shè)置到實際操作,將一步步帶你完成每一個環(huán)節(jié),確保你的設(shè)備順利連接機智平臺,實現(xiàn)智能控制和自動化管理?;窘榻Besp8
    的頭像 發(fā)表于 09-12 08:04 ?865次閱讀
    《<b class='flag-5'>機智</b><b class='flag-5'>云</b>入門必備》手把手教你燒錄GAgent固件

    機智開源自動化控制篇-接近報警系統(tǒng)

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

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

    這次使用STM32F103C8T6單片機、ESP-01S、DHT11、蜂鳴器以及0.96寸OLED(I2C)制作溫濕度報警器,為智能家居增添智能生態(tài)?;竟ぷ鬟M入機智開發(fā)者中心創(chuàng)建智能產(chǎn)品機智
    的頭像 發(fā)表于 08-06 08:10 ?643次閱讀
    <b class='flag-5'>機智</b><b class='flag-5'>云</b>開源自動化控制篇:溫濕度報警器

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

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