發布時間: 2018-04-01 09:32:38
?準備資源
平臺資源 申請OceanConnect平臺資源的方式有兩種: 1. 提交MAR合作電子流,通過審批后,在審批意見中會下發OceanConnect平臺資源的獲取方式。提交MAR合作電子流請參考:http://developer.huawei.com/ilink/esdk/download/HW_484292 2. 預約遠程實驗室。預約遠程實驗室操作可參考:http://developer.huawei.com/ict/cn/doc/IoT-Platform-North-HelloWorld/index.html/zh-cn_topic_0065817579 Profile文件Demo MultiSensor_eSDK_v01.zip,請下載附件后上傳至OceanConnect平臺使用,無須修改。 編解碼插件Demo 與MultiSensor_eSDK_v01.zip配套的編解碼插件已由華為人員上傳至OceanConnect平臺,可直接使用 ,無須關注。 GUI Demo 模擬北向應用。下載地址:https://github.com/Huawei/IoT_OceanConnect_North_GUI_APPDemo 虛擬串口工具 虛擬串口——VPSD,可自行百度下載。作用及使用方法參考:http://developer.huawei.com/ict/forum/thread-19237.html 上傳開發組件 上傳profile文件至OceanConnect平臺 https://117.78.47.187:8093/#/login 將已下載的profile文件MultiSensor_eSDK_v01.zip上傳至OceanConnect平臺。具體方法如下: Step 1 使用郵件中的“平臺Portal鏈接”和“登錄賬號/密碼”信息登錄OceanConnect平臺,選擇菜單“Profile開發 > 導入Profile”。 此步驟目的是為了告訴OceanConnect會有哪個設備連接上它,profile是描述了設備和服務的信息
Step 2 單擊右上角“導入”圖標,上傳文件時選中Profile資源文件 MultiSensor_eSDK_v01.zip,設備類型、廠家ID和設備型號無須修改,單擊“上傳”。
上傳編解碼插件至OceanConnect平臺 與MultiSensor_eSDK_v01.zip配套的編解碼插件已上傳至IoT平臺,您可直接使用,無須重復上傳。 注意:在后續業務開發過程中,您需要根據業務需要開發自己的編解碼插件并上傳至OceanConnect平臺。 注冊設備 以下提供兩種注冊設備的方法,通過GUI Demo注冊的方法適合所有平臺,界面化注冊只適合開發者Portal平臺,請根據平臺資源情況擇其一參考。 方法一:通過OceanConnect平臺注冊設備 http://developer.huawei.com/ict/forum/thread-25749.html Step 1 登錄OceanConnect平臺,單擊“我的設備 > 注冊設備”,即可看到應用下所有已上傳的Profile,單擊選中需要注冊設備對應的Profile。 Step 2 在Profile詳情頁,填寫“設備名稱”和“設備標識碼”,單擊“注冊”按鈕注冊設備。 設備名稱:用于區分不同設備,名稱可自定義(如MultiSensor-01)。 設備標識碼:設備唯一標識。使用SoftRadio對接時,可自行定義“TEST$_XXXX”格式的注冊碼。“TEST$_”之后可以是數字、字母和特殊符號或其組合(如TEST$_MS01)。 注冊設備成功后返回的設備ID和PSK碼請牢記。 Step 3 單擊“我的設備”,查看對應設備是否注冊成功。如果注冊成功,可以看到設備處于“OFFLINE”狀態。 ? 方法二:通過GUI Demo注冊設備 Step 1 解壓IoT_OceanConnect_North_GUI_APPDemo.zip(簡稱GUI Demo)壓縮包,打開application文件夾,直接雙擊運行Demo.jar文件。 Step 2 根據華為下發的OceanConnect平臺資源郵件內容填寫對應配置項后,單擊“Login”按鈕登錄。


注意:如果Demo.jar文件無法打開,請確認本機是否配置了JDK開發環境。
Step 3 在“Module
Choose”選項框中,“Solution”選擇“NB-IoT”,“Module”選擇“Device Manager”。

Step 4 在“Register Direct Device”框中填寫各參數。各參數含義及設置方法如下:
Node ID:設備唯一標識。使用SoftRadio對接時,可自行定義“TEST$_XXXX”格式的注冊碼。“TEST$_”之后可以是數字、字母和特殊符號或其組合(如TEST$_MS01)。
Verify Code:與Node ID保持一致。(同為TEST$_MS01)。
Time out:設備注冊至平臺的過期時間,單位為秒。真實設備必須在設置的時間內上線,否則會因過期而被IoT平臺刪除。建議直接填寫“0”(設備不會過期)。
Step 5 單擊“Register”按鈕注冊設備至OcaenConnect平臺。
注冊成功后會返回deviceId。deviceId是OcaenConnect平臺對于設備的唯一標識,請妥善保存,以備調用后續接口時使用。
Step 6 在“Modify Device Info”框中,根據Profile文件中的信息,按照以下要求填寫各參數后,單擊“Modify”按鈕設置設備信息,并保存至IoT平臺。
Device ID:注冊直連設備時返回的deviceId。固定值。
Manufacturer Id:與Profile文件中的manufacturerId保持一致。填寫“eSDK”。
Manufacturer Name:與Profile文件中的manufacturerName保持一致。填寫“eSDK_Huawei”。
Device Type:與Profile文件中的deviceType保持一致。填寫“MultiSensor”
Model:設備型號 v01
Protocol Type:與Profile文件中的protocolType保持一致。NB-IoT方案統一填寫“CoAP”。
說明:如果修改設備信息成功,可以在OcaenConnect平臺中看到設備處于“OFFLINE”狀態。
終端入網
實現終端入網,需要在SSCOM中通過一系列AT指令來控制NB模組。SSCOM中的各項設置說明如下:
串口號:選擇與NB模組進行通信的實際物理com口,并確保打開串口。
波特率:選擇9600。NB模組內置的華為NB芯片僅支持波特率9600。
發送AT指令時確保勾選“發送新行”,不勾選“DTR”和“RTS”。
其他參數保持默認。

終端入網的詳細步驟如下所示:
Step 1:終端上電,執行“AT+NRB”復位終端。如果返回OK,表示終端正常運行。
Step 2:執行“AT+CFUN=0”關閉功能開關。如果執行成功,返回OK。
Step 3:執行“AT+NTSETID=1,863703032164886”設置設備ID。設備ID為NB模組的IMEI號,如果執行成功,返回OK。
Step 4:執行“AT+NCDP= 117.78.47.187, 5683”設置需要對接IoT平臺的地址,端口為5683。如果執行成功,返回OK。
Step 5:執行“AT+CFUN=1”開啟功能開關。如果執行成功,返回OK。
Step 6:執行“AT+NBAND=5”設置頻段。如果執行成功,返回OK。頻段信息可以咨詢NB模組廠商。
Step 7:執行“AT+CGDCONT=1,“IP”,“APN”設置核心網APN。如果執行成功,返回 OK。核心網APN可聯系運營商(與運營商網絡對接時)或者OpenLab負責人(與OpenLab網絡對接時)進行獲取。(這一步可以不用,自動入網)
Step 8:執行“AT+CGATT=1”進行終端入網。如果執行成功,返回OK。
Step 9:執行“AT+CGPADDR=0”查詢終端是否獲取到核心網分配的IP地址,如果獲取到IP地址,表示終端入網成功。
Step 10:執行“AT+NNMI=1”設置下行數據通知功能,如果執行成功,返回OK。
5 數據上報
5.1 串口工具中上報數據
執行“AT+NMGS=5,00012E1F63”發送上行數據,如果上行數據發送成功,返回OK。由于設置了 “AT+NNMI=1”,如果編解碼插件中寫了OceanConnect平臺對上報數據的應答,則上行數據發送成功后會自動獲取應答數據。
上報數據的AT命令為:AT+NMGS=5,00012E1F63。具體解析如下:
1. AT+NMGS=N,XXXXXXXXXX為上報數據的AT命令格式,其中“N”表示一共上報幾個字節,后面為具體的上報字節內容,以十六進制字符串表示。這些需要提前在編解碼插件中寫好。
2. 本例中,一共上報5個字節,分別為“00”、“01”、“2E”、“1F”、“63”。其中,第一個字節“00”表示上報數據,第二個字節“01”表示上報數據對應的serviceId為Humidity(濕度),第三個字節“2E”表示HumidityCur(當前濕度),第四個字節“1F”表示HumidityMinToday(當天濕度最小值),第五個字節“63”表示HumidityMaxToday(當天濕度較大值)。這些內容與profile文件和編解碼插件是一一對應的。
由于本例中的編解碼插件寫了上報數據應答,在上報數據成功后會收到“+NNMI
1,01”的應答。
5.2 OceanConnect平臺中查看數據
Step 1 登錄OceanConnect平臺,點擊“我的設備”進入設備列表頁,根據deviceId選擇對應注冊的在線設備,單擊進入。
Step 2 在設備詳情頁,選擇”歷史數據”項,即可看到已經上報且被解析后的json數據。

在實際應用中,數據到達OceanConnect平臺后,可以通過兩種方式在北向應用服務器中接收數據:
1. 調用數據查詢類接口,查詢OceanConnect平臺中緩存的數據。
2.
調用訂閱接口,設置好推送地址,數據到達OceanConnect平臺后會按照既定的IP地址主動將數據推送至北向應用服務器。
6 命令下發
Step 1 解壓IoT_OceanConnect_North_GUI_APPDemo.zip(簡稱GUI Demo)壓縮包,打開application文件夾,直接雙擊運行Demo.jar文件。
Step 2 根據華為下發的OceanConnect平臺資源郵件內容填寫對應配置項后,單擊“Login”按鈕登錄。

注意:如果Demo.jar文件無法打開,請確認本機是否配置了JDK開發環境。 Step 3 在“Module Choose”選項框中,“Solution”選擇“NB-IoT”,“Module”選擇“Command Manager”。 在“Post Asyne Command”選項框中,輸入deviceId,單擊“Get Command”按鈕,獲取該deviceId對應設備所具備的服務和命令。
說明:這些服務和命令是在profile中定義好的。 Step 4 設置具體參數,選擇需要下發的服務和命令后,單擊“Post Command“。各參數含義及設置方法如下: Service:設備提供的服務ID,只能從下拉框中選擇。以“Temperature“為例。 Command:該服務所具備的命令,只能從下拉框中選擇。選定后會出現該命令可選的參數名(如Period或Value)。以“HIGH_TEMPERATURE_WARNING“為例,參數選擇”Value”。 Value:參數名對應的參數值。以設置“50“為例。 Expire Time:命令的超期時間,單位為秒。如果在設置時間內,命令還緩存在平臺沒有下發就會超期作廢。以設置“200“為例。? Step 5 登錄OceanConnect平臺,在設備詳情頁的“歷史命令“項中,可以查看剛下發的命令狀態。分為兩種情況: 1) 如果此時NB模組處于connect態,命令會立即下發,命令狀態為“已送達”。 2) 如果此時NB模組處于非connect態,命令會緩存下發,命令狀態為“等待”。這種情況下,需要上報一條數據激活設備,才能收到下發的命令。 Step 6 參照“5.1 SSCOM中發送數據“,發送一條AT命令:AT+NMGS=5,00012E1F63,此時刷新歷史命令,可以看到命令狀態切換為“已送達”,表明命令已下發。