W5500檢測溫濕度上傳到oneNET平台

前言

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

1、產品

產品是指用戶手上的真實設備在OneNET上對應的虛擬名稱,是用戶在OneNET上最上層的雲端資源。

2、產品ID

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

3、APIKey

用於對OneNET進行操作的鑒權以及權限控制,在使用OneNET Restful API時,HTTP請求消息的頭域必須攜帶該APIKey字段,OneNET會依據APIKey字段判別該用戶是否具有對應操作的權限。

APIKey的權限模型是通過設定對雲端資源是否可以增加、查看、修改、刪除等方式來描述的,最低的權限級別可細化到對某個數據流的訪問權限。APIKey分為兩種:
①產品APIKey: 在創建產品時,OneNET會為該產品生成一個默認的APIKey,這個APIKey是Masterkey,具有最大權限,能夠對本產品下所有資源進行訪問。
②設備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採集環境溫濕度並上傳到OneNET平台,登錄賬號可查看到溫濕度數據的變化圖。

二、實驗過程:

  • 1、註冊oneNET平台賬號;

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

 

  • 2、創建產品

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

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

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

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

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

3、添加設備

註冊登錄並建立自己的產品以後進入產品頁面選擇設備管理點擊添加設備開始給自己的產品添加設備。

①點擊產品後進入一下頁面

②點擊設備管理後進入下面的界面

根據提示填寫信息

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部分,該部分有關於數據點上傳較為詳細的解釋。

SaveSave