W5500上傳溫溼度到oneNET平臺

WIZnet發表於2017-09-04


前言

關於本文內容的一些名詞解釋

1、產品

   產品是指使用者手上的真實裝置在OneNET上對應的虛擬名稱,是使用者在OneNET上最上層的雲端資源。

2、產品ID

產品ID是指由OneNET後臺為您的某一款真實產品分配的一個獨立的ID號,如果您旗下的某一款產品有兩款不同的系列(如Iphone7/Iphone7 PLUS),那麼建議建立兩款產品來分別獲得兩個產品ID。

3、APIKey

用於對OneNET進行操作的鑑權以及許可權控制,在使用OneNET Restful API時,HTTP請求訊息的頭域必須攜帶該APIKey欄位,OneNET會依據APIKey欄位判別該使用者是否具有對應操作的許可權。

APIKey的許可權模型是通過設定對雲端資源是否可以增加、檢視、修改、刪除等方式來描述的,最低的許可權級別可細化到對某個資料流的訪問許可權。APIKey分為兩種:

1. 產品APIKey: 在建立產品時,OneNET會為該產品生成一個預設的APIKey,這個APIKey是Masterkey,具有最大許可權,能夠對本產品下所有資源進行訪問。

2.  裝置APIKey: 使用者為某一產品下的某一臺裝置建立的Key稱為裝置APIKey,裝置APIKey的作用許可權只限於本裝置的資源,而不能對其他裝置進行訪問操作。

4、裝置

雲端的“裝置”是指在上面提到的“產品”下的實體,亦指使用者的某一臺真實裝置在OneNET上對應的唯一的虛擬名稱。

5、裝置ID(Device ID,DID)

裝置ID是指由OneNET後臺為您的某一臺真實裝置分配的一個獨立且唯一的ID號,一款產品下可以有多臺裝置,每一臺獨立的裝置都有唯一的裝置ID。

6、裝置編號

使用者在OneNET上建立裝置時,如果裝置接入協議選擇HTTP,則需要填寫“裝置編號”。裝置編號是每一臺真實裝置所擁有的唯一識別號,不需要OneNET後臺分配,使用者可以自定義裝置編號,但必須保證每臺裝置之間的獨立性和唯一性,建議使用者在輸入裝置編號時採用原有產品線的序列號。

7、資料流(Datastream)

一個資料流可以理解為一類資料,如感測器之溫度、位置之經緯度,空氣之溼度等。使用者可以自定義資料流名稱,即資料流ID;一個裝置可以新增多個資料流。

8、資料點(Datapoint)

即一個資料流中的一個具體的資料值。資料點採用“Key-Value”的方式儲存。其中Key的組成包括裝置ID、資料流ID、時間等資訊,value部分可以為任何資料物件,如整數、字串或者JSON資料型別。

實驗目的:W5500通過DHT11採集環境溫溼度並上傳到onNET平臺,登入賬號可檢視到溫溼度資料的變化圖。

實驗過程:

1、註冊oneNET平臺賬號;

登入https://open.iot.10086.cn/,根據個人情況選擇個人註冊或者企業註冊,註冊以後登入。


2、建立產品

登入以後點選右上角開發者中心並進入相應的產品列表介面;


點選建立產品在彈出的頁面中填寫產品的基本資訊。行業、類別以及進度可以根據自己的實際情況進行填寫;


作業系統和運營商以及聯網方式根據自己的實際情況填寫,我們的W5500開發板是沒有作業系統的,所以選擇無。我們的開發板是有線聯網在這裡我選擇是wifi具體選擇哪個根據自己的實際情況來定。


裝置接入方式以及接入協議的選擇要根據自己的專案來判斷,有公有和私有兩種,公有協議有EDP、HTTP、MQTT等,私有協議有RGMP等。在該實驗中我們要使用HTTP協議。


(注:在oneNET的首頁的左邊有一個開發文件,裡面有關於oneNET使用的較為詳細的指南,使用者可以通過該文件更加深入的瞭解OneNET的使用方法。)

3、新增裝置

註冊登入並建立自己的產品以後進入產品頁面選擇裝置管理點選新增裝置開始給自己的產品新增裝置。

(1)點選產品後進入一下頁面

 

(2)點選裝置管理後進入下面的介面


根據提示填寫資訊


4、在裝置下新增資料流,點選資料流模板進入下面的介面


開始新增資料流

 

 新增結果如下圖:

 

 

5、現在關於oneNET的註冊以及產品建立已經基本做好了,下面就是要通過程式碼實現資料的上傳。

  接入流程:

  建立產品—建立裝置—建立HTTP連線—資料點上傳—檢視資料流—應用生成

  程式碼實現:

  該實驗是W5500接收DHT11的溫溼度資料然後上傳到oneNET平臺顯示,所有將我們提供的例程開啟後進入device.c裡面修改裝置的IP地址閘道器等資訊,然後回到主函式修改產品的APIKEY和裝置ID以及資料流ID(資料流名稱);具體的路徑如下:

APIKEY: 點選自己建立好的產品進入在產品概況


裝置ID: 點選自己建立好的產品進入裝置管理


資料流ID:點選自己建立好的產品進入資料流模板


找到以上資訊後在程式碼中修改為自己的資料資訊


還需要注意的是我們的開發板沒有DHT11晶片,所以需要外接一個溫溼度檢測裝置,該實驗定義的是PA2管腳來連線外部的溫溼度感測器,使用者可根據自己的情況在DHT11.c中做相應的修改。

一切就緒後編譯下載然後開啟串列埠助手可檢視相應的過程,如下圖


開發板與平臺建立HTTP連線以後就開始上傳DHT11檢測的溫溼度資料沒一分鐘上傳一次,串列埠將溫溼度列印出來。

此時我們可以登入自己的賬號開啟裝置管理,然後點選裝置下的資料流管理通過檢視裝置下的資料流來確認資料是否上傳。

如下圖:


進入資料管理後可檢視資料的顯示圖:

溫度顯示


溼度顯示


有上圖可見我們開發板接收到的溫溼度資料已成功上傳到平臺,此時可根據上傳的資料新增自己的應用和觸發器。

6、建立應用

  進入平臺的產品點選應用管理—建立應用


建立以後點選編輯進入應用編輯介面


編輯頁面如下圖,在該頁面可進行應用編輯,將想要新增的應用拖進編輯區,例如本實驗中的儀表盤。


拖動儀表盤到自己的編輯區後點選編輯區的儀表盤會出現一下資訊框,根據自己的實際情況填寫裝置ID資料流ID等資訊。


根據提示建立自己的儀表盤如下:


建立好後點選儲存預覽就可以實時顯示自己上傳的溫溼度資料。

7、建立觸發器

  點選觸發器管理了進入觸發器管理那頁面,在該頁面點選新增觸發器來新增自己的觸發器。

該實驗是新增一個溫度報警觸發器,就是當溫度達到30°C的時候平臺回想使用者指定的郵箱或者路徑傳送報警資訊。


點選新增後彈出資訊框,根據自己的實際情況填寫。如下:


溫度超過設定的值後平臺會向使用者填寫的郵箱傳送郵件如下:

 


到這整個實驗就完成了,該實驗較為複雜的部分就是想平臺上傳資料的部分,HTTP連線部分我們的開發板有好的例程可以用,而溫溼度上傳部分是在建立HTTP連線以後開發板接收DHT11的資料然後打包傳送到oneNET平臺,這個打包的過程有嚴格的格式要求,具體的要求在oneNET的官網有詳細的介紹,使用者感興趣可以登入官網找到開發者文件的公開協議產品指南的API部分,該部分有關於資料點上傳較為詳細的解釋。

相關文章