電信物聯(lián)網(wǎng)開放平臺-nb-iot業(yè)務對接指導書v1_第1頁
電信物聯(lián)網(wǎng)開放平臺-nb-iot業(yè)務對接指導書v1_第2頁
電信物聯(lián)網(wǎng)開放平臺-nb-iot業(yè)務對接指導書v1_第3頁
電信物聯(lián)網(wǎng)開放平臺-nb-iot業(yè)務對接指導書v1_第4頁
電信物聯(lián)網(wǎng)開放平臺-nb-iot業(yè)務對接指導書v1_第5頁
已閱讀5頁,還剩34頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、前 言概述本文檔針對 NB-IoT 業(yè)務,從準備工作、自定義設備模型、編插件開發(fā)、應用接入、設備接入及消息上下行等方法流程進行了介紹。本文檔提供了 NB-IoT 業(yè)務設備接入的指導。讀者對象本文檔主要適用于以下工程師:開發(fā)工程師技術支持工程師工程師符號約定在本文中可能出現(xiàn)下列標志,它們所代表的含義如下。符號說明用于警示緊急的情形,若不避免,將會導致或嚴重的人身。用于警示潛在的情形,若不避免,可能會導致死亡或嚴重的人身。用于警示潛在的情形,若不避免,可能會導致中度或輕微的人身。用于傳遞設備或環(huán)境安全警示信息,若不避免,可能會導致設備損壞、數(shù)據(jù)丟失、設備性能降低或其它不可預知的結果?!白⒁狻辈簧婕?/p>

2、人身 。由中國電信公司提出并歸口。起草:中國電信物聯(lián)網(wǎng)開放符號說明用于突出重要/關鍵信息、最佳實踐和小竅門等。“說明”不是安全警示信息,不涉及人身、設備及環(huán)境傷害信息。目 錄前 言ii目 錄11 概述功能組網(wǎng)介紹1整體業(yè)務介紹1業(yè)務測試接入流程2準備工作4獲取測試環(huán)境賬號4創(chuàng)建 APP 應用7NB-IoT 參數(shù)設置8開發(fā) Profile10Profile 介紹10登錄開發(fā)者 Portal10開發(fā) Profile104 開發(fā)編插件并安裝134.1 編插件介紹134.2 開發(fā)者 Portal插件開發(fā)134.2.1 登錄開發(fā)者 Portal134.2.2完成插件開發(fā)134.3 離

3、線開發(fā)編插件..4開發(fā)編插件16編插件質檢16對插件包進行離線簽名16上傳公鑰及簽名后的插件包185 應用接入. 登陸應用19訂閱19設備.2. 19. 20有應用服務器設備無應用服務器設備5.4 設置設備信息206 設備接入. 22設備接入22設備上線23真實設備23模擬設備23業(yè)務數(shù)據(jù)上報和業(yè)務消息下發(fā)流程25接收設備上報的數(shù)據(jù)257.2 向設備發(fā)送消息. 27命令下發(fā)1命令立即下發(fā)18.2 命令緩存下發(fā). 3功能4910 測試環(huán)境測試410.1 測試申請. 410.2 開放測試411 生產環(huán)境接入511.1

4、賬號申請 . 511.2 生產環(huán)境接入512 參考文檔6中國電信物聯(lián)網(wǎng)開放中國電信物聯(lián)網(wǎng)開放中國電信物聯(lián)網(wǎng)開放編庫開發(fā)與升級指南6API 參考 1.3.16北向 PI Java SDK 說明文檔61概述1.1 功能組網(wǎng)介紹在設備側,智能設備采用了 NB-IOT,它和中國電信物聯(lián)網(wǎng)開放之間通過CoAP 協(xié)議通訊。CoAP 報文的 payload 里是設備的應用數(shù)據(jù)。應用 server 通過 http/https 協(xié)議和通訊,通過調用的開放 API 來控制設備,平臺把設備上報的數(shù)據(jù)推送給應用服務器。標準的 json 格式數(shù)據(jù)。支持對設備數(shù)據(jù)進行協(xié)議,轉換成圖1-1 組網(wǎng)圖1

5、.2 整體業(yè)務介紹NB-IOT 主要包含 NB 設備、NB-IOT 網(wǎng)絡、中國電信物聯(lián)網(wǎng)開放用:、垂直行業(yè)應NB-IOT 設備:通過無線網(wǎng)絡連接到中國電信物聯(lián)網(wǎng)開放表、燃氣表等。,采用 CoAP 協(xié)議接入,NB-IOT 網(wǎng)絡:實現(xiàn)對 NB-IoT 終端的移動性管理與會話管理;為 NB-IoT 終端建立用戶面承載,傳下行業(yè)務數(shù)據(jù)。中國電信物聯(lián)網(wǎng)開放:實現(xiàn)對各種 NB-IoT 設備數(shù)據(jù)的管理,同時向第用系統(tǒng)開放接口,讓各種應用能快速構建自己的物聯(lián)網(wǎng)業(yè)務。應垂直行業(yè)應用:實現(xiàn)對 NB 設備的業(yè)務管理,包括業(yè)務、業(yè)務控制和呈現(xiàn)等,由第基于中國電信物聯(lián)網(wǎng)開放開放接口進行開發(fā)。1.3 業(yè)務測試接入流程為客

6、戶接入測試便 化,制定了如下的測試接入流程:2準備工作2.1 獲取測試環(huán)境賬號申請客戶或電信政企經理登錄“天翼物聯(lián)請。2.1.1”填寫開放測試賬號申圖2-1 查找并進入圖2-2 點擊服務選擇“聯(lián)調服務申請”圖2-3 完成表格填寫并提交圖2-4 賬號申請通過后,收到賬號和初始-結束申請客戶或者電信政企經理登錄“天翼物聯(lián)測試賬號申請。2.1.2”()填寫開放圖2-5 登錄選擇“聯(lián)調服務申請”圖2-6 完成表格填寫并提交圖2-7 賬號申請通過后,收到賬號和初始-結束2.2 創(chuàng)建 APP 應用登錄中國電信物聯(lián)網(wǎng)開放初次登錄需要修改初始對接測試環(huán)境 SP Portal(。)。圖2-8 SP Portal

7、選擇【應用管理】-【應用】點擊右上角“+創(chuàng)建應用”。典型的 NB-IoT 應用的參數(shù)設置可參考如下設置:所屬行業(yè):公用事業(yè)(NB-IoT)關聯(lián) API 包:基礎 API 包和公用事業(yè)(NB-IoT) API 包能力:必須設置為規(guī)則引擎數(shù)據(jù)時間:7(此為默認值,可修改)。超過了數(shù)據(jù)時間的設備歷史數(shù)據(jù)將不再保存,即 1 條設備歷史數(shù)據(jù)只能在上保存 7 天(以默認值為例)。服務器:與規(guī)則引擎配合使用,可以在指定條件下通過服務器給指服務器。定。服務器可以選擇經支持的服務器之一,也可以選擇第郵件服務器:與規(guī)則引擎配合使用,可以在指定條件下通過郵件服務器發(fā)送郵件給指定。服務器可以選擇經支持的服務器之一,也

8、可以選擇第服務器。CA:用于消息推送場景,需要上傳應用服務器的 CA。如果訂閱的回調地址是 HTTPs 地址,就需要上傳。文件限制為不超過 1M 的 PEM 格式文件;中國電信物聯(lián)網(wǎng)開放預制了 7 個 CA 機構頒發(fā)的,如果對接的第應用的證書在這 7 個之中,則不需要上傳到,否則需要在 IoT 中進行上傳。7 個名稱分別為CA baltimore、digicert、entrust、geotrust、globalsign、wte、verisign。說明消息推送場景下,是客戶端,應用是服務端,調用應用的接口給應用推送消息。應用需要實現(xiàn)消息推送的接口(只實現(xiàn)應用需要用到的消息推送接口即可)。當?shù)?應

9、用通過HTTP 對接中國電信物聯(lián)網(wǎng)開放是需要把接收消息 IP 地址(即回調 IP 地址)發(fā)給中。,不需要上傳 CA,但支撐,將 IP 添加到白圖2-9 創(chuàng)建應用創(chuàng)建 APP 成功后,得到應用 ID 和應用密鑰,請保存。-結束2.3 NB-IoT 參數(shù)設置點擊已經創(chuàng)建好的應用,并對 NB-IoT 參數(shù)進行設置。圖2-10已創(chuàng)建應用圖2-11NB-IoT 設置NB-IoT 設置下的省電模式,應與受理的 APN 對應的模式保持一致。根據(jù)設置的省電模式及參數(shù)來決定離線命令下發(fā)給終端的方式。應用下發(fā)控制命令時可以選擇立即下發(fā)或緩存下發(fā),但在不同省電模式下,其表現(xiàn)形式不同。省電模式選擇為 PSM 模式:當

10、命令為緩存下發(fā)時,將收到的下發(fā)命令緩存,等設備上報數(shù)據(jù)時,按順序將緩存令全部下發(fā);當命令為立即下發(fā)時,將收到的下發(fā)命令立即下發(fā),如果此時,設備處于 PSM 態(tài),設備將不能收到下發(fā)命令,設備處于激活態(tài)或空閑態(tài)將能否收到下發(fā)命令。省電模式選擇 DRX 模式:當命令為緩存下發(fā)時,將收到的下發(fā)命令緩存,按順序將收到的下發(fā)命令立即下發(fā),設將緩存令全部下發(fā);當命令為立即下發(fā)時,備能夠收到命令。省電模式選擇 eDRX 模式:當命令為緩存下發(fā)時,將收到的下發(fā)命令緩存,按順將收到的下發(fā)命令立即下發(fā),序將緩存令全部下發(fā);當命令為立即下發(fā)時,設備能夠收到命令。說明當省電模式選擇 eDRX 模式時,eDRX 周期的設

11、置需要與網(wǎng)絡側的一致,請聯(lián)系中國電信物聯(lián)網(wǎng)開放支持獲取參數(shù)配置數(shù)據(jù)。-結束3開發(fā) Profile3.1 Profile 介紹設備的 Profile 文件是一款設備是什么、能做什么以及如何控制該設備的文件。每款設備都需要一個 Profile 文件。一個Profile 文件的內容主要包括兩部分,一部分是設備的基礎屬性信息,如manufacturerId(廠商 ID)、manufacturerName(廠商名字)、deviceType(設備類型)、m(設備型號)、protocolType(協(xié)議類型)等;另一部分是設備的服務信息,這一部分定義了設備的業(yè)務數(shù)據(jù),包括設備上報的上行數(shù)據(jù)和廠商服務器下發(fā)給設

12、備的下行數(shù)據(jù)。3.2 登錄開發(fā)者 Portal開發(fā)者 Portal 支持開發(fā) Profile;對開發(fā)完成的 Profile 也支持導出和導入。請使用章節(jié) 2.1 獲取到的賬號和登錄開發(fā)者 Portal。如果初始已經修改,請用修改后的登錄。開發(fā)者 Portal 地址:3.3 開發(fā) Profile請參考開發(fā)者 Portal 使用指導完成 Profile 開發(fā)。開發(fā)者 Portal 使用指導http:/地址:/downloadZone/downloadZones.html大致開發(fā)步驟如下:登錄開發(fā)者 portal-Profile 開發(fā)-Profile開發(fā)-自定義產品-創(chuàng)建全新產品-填寫設備類型、設備

13、型號、廠商 ID、廠商名稱、協(xié)議類型,點擊確定(如下圖所示)再根據(jù)設備的功能和業(yè)務場景添加服務,每個服務下可以增加屬性(上報的數(shù)據(jù))和命令(下發(fā)令,命令必須有字段),如下圖所示:一個設備可以有多個服務:開發(fā)的 profile 可以導出成 profile 資源包,然后上傳到其他 IoT圖所示:上使用。導出方法如下4開發(fā)編插件并安裝4.1 編插件介紹NB-IoT 設備和中國電信物聯(lián)網(wǎng)開放之間采用 CoAP 協(xié)議通訊,CoAP 消息的數(shù)據(jù)為應用層數(shù)據(jù),應用層數(shù)據(jù)的格式由設備廠商自行定義。由于 NB-IoT 設備對省電要求通常較高,所以應用層數(shù)據(jù)一般采用二進制格式。應用層數(shù)據(jù)電信物聯(lián)網(wǎng)開放做協(xié)議時,會

14、轉換成的 json 格式,以方便應用服務器使用。要實現(xiàn)二進制消息與 json 格式消息的轉換功能,中國電信物聯(lián)網(wǎng)開放需要使用設備廠商提供的編插件。一款設備對應一個編插件。開發(fā)編插件有兩種方式:方式一:開發(fā)者 Portal插件開發(fā)。此方式實現(xiàn)了化的開發(fā),開發(fā)復雜度低;適用于二進制消息和 json 格式消息不需經過計算,直接相互轉換的場景;但并不適用于二進制消息和 json 格式消息需要計算后再轉換的場景。方式二:離線開發(fā)編用于全部場景。插件。使用 Java 語言開發(fā),開發(fā)復雜度相對方式一更高,適開發(fā)者 Portal登錄開發(fā)者 Portal插件開發(fā)請使用章節(jié) 2.1 獲取到的賬號和登錄開發(fā)者 Po

15、rtal。如果初始已經修改,請用修改后的登錄。開發(fā)者 Portal 地址:完成插件開發(fā)請參考開發(fā)者 Portal 使用指導完成 Profile 開發(fā)。4.2.2開發(fā)者 Portal 使用指導http:/大致開發(fā)步驟如下:地址:/downloadZone/downloadZones.html登錄開發(fā)者 portal-插件開發(fā)-插件開發(fā)(子菜單)-開始設計-新建插件-選擇 Profile(請等待 profile 加載完成后再選擇對應 profile)-點擊確定可以瀏覽器在右側看到 profile 中定義的屬性和命令點擊新增消息按鈕,定義一條數(shù)據(jù)上報消息(消稱可自定義):根據(jù)業(yè)務設計,一條碼流可以被

16、分成幾段,每一段碼流代表不同的業(yè)務數(shù)據(jù),將需要上報的碼流段提取出來,做為 profile 屬性值上報給,再推送給應用。一條碼流可以上報多個服務下的多個屬性,也可以只上報一個服務的一個或者多個屬性。命令下發(fā)則與數(shù)據(jù)上報相反,是把命令字段的值取出來放入碼流中。而一個命令下的參數(shù)值只能放到一條下發(fā)命令的消息中。具體操作和詳細開發(fā)過程請直接參考。開發(fā)者 Portal 支持完成的插件,后的插件并過簽名;當需要將從開發(fā)者 Portal的插件部署到生產環(huán)境時,請將插件包簽名后和公鑰(參考章節(jié) 4.3.3和 4.3.4)一起通過中國電信物聯(lián)網(wǎng)開放支持部署到生產環(huán)境。4.3 離線開發(fā)編插件4.3.1 開發(fā)編插件

17、插件開發(fā)可參編國電信物聯(lián)網(wǎng)開放編庫開發(fā)與升級指南文檔,文檔詳細介紹了需要實現(xiàn)的 4 個接口,同時附帶了樣例代碼。4.3.2 編插件質檢編插件的質檢是檢測編是否能夠正常使用的關鍵步驟,請參照編插件檢查工具說明,來進行操作。工具地址:http:/attent/174/中國電信物聯(lián)網(wǎng)開放編插件檢測工具.zip4.3.3 對插件包進行離線簽名當編插件開發(fā)完后,在安裝到之前,需要先對插件包進行簽名。此時需要下載離線簽名工具并進行簽名操作。操作步驟如下:步驟 1步驟 2使用瀏覽器登錄 SP Portal。離線簽名工具。1.單擊左側圖標,打開管理頁面。2.單擊左側導航欄“工具”,在右側區(qū)域單擊“”,離線簽名

18、工具。在路徑找到壓縮包“signtool.zip”,右鍵菜單中選擇“Extract to signtool”解壓縮至文件夾“signtool”。步驟 3步驟 4進入 signtool 文件夾,運行“signtool.exe”。操作界面如下所示。圖4-1 離線簽名工具步驟 5 生成數(shù)字簽名公私鑰對。3.根據(jù)實際情況選擇簽名算法。目前提供兩種簽名算法:ECDSA_256K1+SHA256RSA2048+SHA256設置“私鑰加密口令”。口令復雜度說明:口令長度至少為 6 個字符口令必須包含如下至少兩種字符的組合:至少一個小寫字母至少一個大寫字母至少一個數(shù)字至少一個特殊字符:!#$%&*()-_=+

19、|;:,/?和空格單擊“生成公私密鑰”,在彈出的窗口中選擇需要保存的目錄,單擊“確定”??稍诒4娴哪夸浵虏榭瓷傻墓矫荑€文件。公鑰文件:public.pem4.5.私鑰文件:private.pem步驟 6對包進行數(shù)字簽名。離線簽名工具只能對.zip 格式的壓縮包進行數(shù)字簽名。包數(shù)字簽名”區(qū)域,單擊“導入私鑰文件”,選擇步驟 5.3 中生成的私鑰6.在“文件,單擊“打開”。7.8.在彈出的框中,輸入步驟 5.2 中設置的口令,單擊“確定”。在“需要數(shù)字簽名的開”。包”區(qū)域,選擇需要進行數(shù)字簽名的包。單擊“打9.單擊“進行數(shù)字簽名”。包所在目錄生成名為“_signed.簽名成功后,在原包?!钡膸?/p>

20、簽名的步驟 7包簽名驗證。10.在“包簽名驗證”區(qū)域,單擊“導入公鑰文件”,選擇步驟 5.3 中生成的公鑰文件,單擊“打開”。11.在“需要驗簽的包”區(qū)域,選擇步驟 6 中生成的名為“_signed.”的帶簽名的包。單擊“打開”。12.單擊“進行包驗簽”。驗證成功則彈出“驗證簽名成功!”提示框。驗證失敗則彈出“驗簽異常!”提示框。-結束4.3.4 上傳公鑰及簽名后的插件包編插件化能夠動態(tài)的新增編庫,這樣新增設備接入時,只需要把對應的編解碼庫動態(tài)導入到,就能夠兼容新增的設備。請將公鑰以及簽名后的插件包發(fā)送給中國電信物聯(lián)網(wǎng)開放置。支持,由中國電信完成公鑰和簽名后的插件包的上傳配5 應用接入5.1

21、登陸應用為了防止應用接入中國電信物聯(lián)網(wǎng)開放,應用首先需要進行登陸陸成功后獲取令牌(acsToken)。登錄驗證時使用章節(jié) 2.2 創(chuàng)建 APP應用時獲取的 ap和 secret 進行鑒權。登錄應用的 API 描述請參Java 語言 SDK 使用的接口請參國電信物聯(lián)網(wǎng)開放API 參考 1.3.1章節(jié) ;國電信物聯(lián)網(wǎng)開放北向 API Java SDK 說明文檔章節(jié) 4.1.1,樣例代碼請參考章節(jié) 8.2 的AuthenticationTest.java。如果多次獲取令牌,則之前的令牌失效, 最后一次獲取的令牌才有效。牌。并發(fā)獲取令5.2 訂閱為了能接受設備上報的數(shù)據(jù),應用服務器需要向中國電信物聯(lián)網(wǎng)

22、開放訂閱通知消息。訂閱成功后,設備上報數(shù)據(jù)時,中國電信物聯(lián)網(wǎng)開放設置的 callbackurl 上。會將數(shù)據(jù)推送到訂閱時訂閱的 API 描述請參國電信物聯(lián)網(wǎng)開放API 參考 1.3.1章節(jié) ;Java 語言 SDK 使用的接口請參國電信物聯(lián)網(wǎng)開放北向 API Java SDK 說明文檔章節(jié) 4.3.5,樣例代碼請參考章節(jié) 8.2 的DollectionTest.java。設備 有應用服務器設備所有設備需要先在北向進行,才允許連接到。通過設備,會為每個設備分配一個唯一的標識 deviceId,后續(xù)應用操作這個設備時都通過 deviceId 來指定設備。另外,還返回 psk 參數(shù)(

23、如果用戶未指定 psk 參數(shù),會隨機分配一個參數(shù)),南向設備綁定時,如果設備與之間走 DTLS 加密通道,則須用到該參數(shù),請保存。在 SP portal 上也可以通過 deviceId 來找到設備。設備的 API 描述請參國電信物聯(lián)網(wǎng)開放API 參考 1.3.1章節(jié) ;Java 語言 SDK 使用的接口請參國電信物聯(lián)網(wǎng)開放北向 API Java SDK 說明文檔章節(jié) 4.2.1,樣例代碼請參考章節(jié) 8.2 的DeviceManagementTest.java。verifyCode 和 nodeId 需要填寫為設備唯一標識;高通設備的唯一標識為urn:imei:xx 為 IMEI 號;海思設備的

24、唯一標識為 IMEI 號,其他種類的設備唯一標識請聯(lián)系模組廠商確認;IMEI 的值請參考 6.1 設備接入一節(jié)。timeout 建議填寫為 0。5.3.2 無應用服務器設備無應用服務器情況下,廠商可以用開發(fā)者 portal 的應用模擬器來進行設備的便廠商進行聯(lián)調開發(fā)。方登錄開發(fā)者 portal-設備-設備-選擇需要設備的 Profile(即選擇一款設備模型)-填寫設備名稱和設備標識,點擊按鈕即可使用開發(fā)者 portal設備時,已完成了設備和設置設備信息兩個步驟。5.4 設置設備信息這一步是為了把設備的廠商、型號、設備類型等信息設置到需要這些信息。,在處理過程中設置設備信息的 API 描述請參;

25、Java 語言 SDK 使用的接口請參國電信物聯(lián)網(wǎng)開放API 參考 1.3.1章節(jié)國電信物聯(lián)網(wǎng)開放北向 API Java SDK 說明文檔章節(jié) 4.2.4,樣例代碼請參考章節(jié) 8.2 的DeviceManagementTest.java。NB-IoT 業(yè)務場景下 manufacturerId、manufacturerName、deviceType、m、protocolType 5 個字段都必須進行設置,并且設置的值要與 profile 中定義的值保持一致。6 設備接入6.1 設備接入設備上電后,使用串口工具配置設備,按照如下AT命令順序執(zhí)行即可:使用用非加密端口接入時,只需要使用原生的 CoA

26、P 協(xié)議進行傳輸,同時將對接可。設置為 5683 即電信物聯(lián)網(wǎng)開放APN 如下圖所示:AT 命令說明AT+CMEE=1報錯查詢AT+CFUN=0關機,設置 IMEI 和IP 端口前要先關機AT+CGSN=1查詢 IMEI,IMEI 即為設備標識,應用設備時nodeId/verifyCode 都需要設置成 IMEIASETID=1,xx 為 IMEI。如果查詢不到可自行設置 IMEI,IMEI 必須是唯一的,不能與其他設備重復,且只能設置一次。IMEI 即為設備標識,應用調用 API設備時,如果設備使用的是海思nodeId/verifyCode 都需要設置成 IMEI,如果設備使用的是高通芯片

27、nodeId/verifyCode 都需要設置成 urn:imei:IMEI。AT+NCDP=15,5684設置對接的IP 端口,5683 為非加密端口,5684 為加密端口AT+CFUN=1開機AT+NBAND=5設置頻段AT+CGDCONT=1,IP,CTNB設置網(wǎng) APN,APN 與設備的休眠、保活等模式有關,需要與運營商確認。電信物聯(lián)網(wǎng)開放APN 見下方的圖表。AT+CGATT=1入網(wǎng)AT+CGPADDR獲取終端 IPAT+NMGS=2,0001發(fā)送上行數(shù)據(jù),第 1 個參數(shù)為字節(jié)數(shù),第 2 個參數(shù)為上報的 16 進制業(yè)務碼流AT+NQMGR接收下行數(shù)據(jù)AT+NMGR數(shù)據(jù)設備上線真實設備

28、完成這一步時,設備已經可以接入到功接入到。配置好網(wǎng)絡,開啟設備,觀察設備是否成登陸開發(fā)者 Portal,在設備列表頁面,查看設備狀態(tài),字段設備 ID 即為在第三步里設備時生成的設備 ID,狀態(tài)字段表示設備的狀態(tài),如果狀態(tài)是(online)表示設備已經成功的接入到,接著就可以接收設備的數(shù)據(jù)。圖6-1 查看設備列表6.2.2 模擬設備聯(lián)調過程中也可用設備模擬器來輔助驗證。登錄開發(fā)者 portal,選擇模擬器-NB 設備模擬器-綁定設備,在彈出的(即設備標識、IMEI),點擊確定即可。框中輸入綁定成功后就可以直接使用設備模擬器發(fā)送業(yè)務碼流。設備數(shù)據(jù)上報并成功后可以在開發(fā)者 portal-備詳情-歷史

29、數(shù)據(jù)中查看設備數(shù)據(jù):設備-點擊要查看的設備進入設7 業(yè)務數(shù)據(jù)上報和業(yè)務消息下發(fā)流程7.1 接收設備上報的數(shù)據(jù)圖7-1 上行消息處理流程IoT上行消息COAP消息,得到payload查找對應的編插件設備數(shù)據(jù)上報通知e輸出:payload應前面已經講到應用向訂閱數(shù)據(jù)上報通知消息。設備上報數(shù)據(jù)時,會把數(shù)據(jù)推送給應用訂閱的地址上。T3.3.5:9999/app/notifyBody:notifyType: deviceDatasChanged, requestId: null,deviceId: b8b92cc7-2622-4f27-a24b-041ab26f0b80, gatewayId: b8b9

30、2cc7-2622-4f27-a24b-041ab26f0b80, serv:答響應步驟1. de輸入:pay輸出:Jso步驟2. encod輸入:json數(shù)據(jù)APP server編插件codeload n數(shù)據(jù)UE上面消息里的 servi的Brightness, Electricity 及 Temperature 服務數(shù)據(jù)就是經過編插件出來的,其為標準 json 格式的數(shù)據(jù),字段和產品設備模型定義的一致。serviceId: Brightness, serviceType: Brightness, data: brightness: 50,eventTime: 20170214T170220Z

31、,serviceId: Electricity, serviceType: Electricity,data:voltage: 218 90001,current: 800,frequency: 50.1,erfactor: 0.98,eventTime: 20170214T170220Z,serviceId: Temperature, serviceType: Temperature, data: temperature: 25, eventTime: 20170214T170220Z7.2 向設備發(fā)送消息圖7-2 下行消息處理流程消息查找對應的編插件步驟3. en輸入:json格輸出:二進

32、組裝成COAP報文發(fā)送給UE命令結果上報步驟4. decode輸入:二進制消息輸出:json格式消息上報通知應用向設備發(fā)送消息使用“1.2.4 信令傳送”接口,請參API 參考 1.3.1。國電信物聯(lián)網(wǎng)開放Java 語言 SDK 使用的接口請參國電信物聯(lián)網(wǎng)開放北向 API Java SDK 說明文檔章節(jié) 4.4.1,樣例代碼請參考章節(jié) 8.2 的 SignalDeliveryTest.java。向設備下發(fā)上文模型中對 Temperature 服務設置定義令 SET_TEMPERATURETdeviceId/dsapp key: * Authorization:Bearer * Content-

33、Type:application/json Body:d: serviceId: Temperature, / Temperature 服務名 method: SET TEMPERATURE ,/ Temperature 服務命令名 paras: value:30/命令參數(shù)UE編插件code式消息制消息IoTAPP server下行可以在開發(fā)者 portal-況。設備-點擊對應的設備-歷史命令頁面,查看命令下發(fā)的情圖7-3 命令下發(fā)狀態(tài)查看當設備收到命令,模組會自動回復一個 ACK(2.04 Changed)命令應答(此為 CoAP協(xié)議層的應答),命令的狀態(tài)由“已發(fā)送”狀態(tài)變?yōu)椤耙阉瓦_”狀態(tài)。

34、當設備執(zhí)行完命令,上報一條命令執(zhí)行成功結果的碼流并經插件 decode deviceRsp 時,命令狀態(tài)由“已送達”變?yōu)椤俺晒Α?。,上報命令的?zhí)行結果處理只能使用線下開發(fā)編插件的方式才能處理。開發(fā)者 portal開發(fā)目前僅支持數(shù)據(jù)上報和命令下發(fā)的處理。如果設備需要上報命令的執(zhí)行結果,建議使用行結果。在命令下發(fā)時,encode 函數(shù)的入?yún)⒅薪o的 mid 來標識命令和命令執(zhí)會給每個命令配置一下 mid(值為類型,從 1 開始遞增),插件將 mid 的值加到命令碼流里(轉成 4 位 16 進制碼流,不夠 4 位需要面補 0),下發(fā)給設備。設備執(zhí)行完命令后,再將 mid 與命令結果一起報上來。在 de

35、code 函數(shù)中將上報的 mid 轉為類型并返回。具體可參考 4.3 離線開發(fā)編插件中提供的文檔和插件樣例。圖7-4 命令執(zhí)行成功response:S us Code: 200 OKContent-Type: application/json Body:requestId: de651c90331c4d11ba94b8cef3810efe,dId: 76553ad00df34a88974fbcefda42d510, dS us: SENT說明在命令經過發(fā)送后,在一定時間內,如果設備沒有返回 ACK(2.04 Changed)命令應答,則命令狀態(tài)會變成“超時”。8命令下發(fā)提供兩種命令下發(fā)機制:立

36、即下發(fā):立即發(fā)送收到令,如果設備不或者設備沒收到指令則下發(fā)失敗。立即下發(fā)適合對命令實時性有要求的場景,比如路燈開關燈,燃氣表開關閥。使用立即下發(fā)時,應用需要自己保證下發(fā)的時機。緩存下發(fā):收到命令后放入隊列。在設備上線的時候,依次下發(fā)命令隊列中令。緩存下發(fā)適合對命令實時性要求不高的場景,比如配置水表的參數(shù)。緩存下根據(jù)設備的省電模式進行不同處理。發(fā)應用服務器向中國電信物聯(lián)網(wǎng)開放下發(fā)命令時,攜帶參數(shù) expireTime(簡稱TTL,表示最大緩存時間)。如果不帶 expireTime,則默認 expireTime 為 48 小時。expireTime=0:命令立即下發(fā)。 expireTime0:命令

37、緩存下發(fā)。命令包含的狀態(tài):取消,已發(fā)送,已送達,過期,超時。說明只有緩存命令在發(fā)送前才能使用北向接口設置為取消狀態(tài)。立即下發(fā)命令不能取消。8.1 命令立即下發(fā)處理流程:步驟 1應用服務器調用北向接口立即下發(fā)命令,參數(shù) expireTime 傳 0 表示立即下發(fā),樣例:Method:Trequest:deviceId/dsapp_key: ap Authorization:Bearer * Content-Type:application/json Body:步驟 2步驟 3收到后,調用插件編碼。將命令下發(fā)給對應插件的 encode 函數(shù),encode 入?yún)永缦拢翰襟E 4NB 模組收到命令時

38、,回 CoAP 協(xié)議的 ACK 消息(注:ACK 消息對設備應用不可見)收到 ACK 后,認為命令送達設備。向 NA 推送送達通知。消息樣例:步驟 5步驟 6步驟 7UE 執(zhí)行完命令,如果需要上報命令執(zhí)行結果,則上報執(zhí)行結果調用插件輸入的一致,輸出樣例: 其中 mid 參數(shù)表示命令標識,應該和 encode根據(jù) mid 查找命令,并給 NA 上報命令響應通知,如果沒有 mid,那么步驟 8不去匹配命令來更新命令成功或失敗的狀態(tài),推送給 NA 的dID 為 null。插件收到命令執(zhí)行結果后,decode 函數(shù)完成上報令應答 json 樣例:identifier:123, msgType:deviceRsp, mid:2016 errcode:0,body : result:0deviceId : 6213fa11-68d6-4457-aa98-871a25c152c1, dId : 30d188e1-2816-41a4-989

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論