利用串口服務(wù)器HTTP客戶端模式上報或者獲取云端數(shù)據(jù),此功能基于HTTP/1.1協(xié)議實現(xiàn),不能通過上次講解天氣API時使用的GET請求報文實現(xiàn)(基于HTTP/1.0)。
下面通過GET方式請求百度主頁說明HTTP/1.1報文的組成;
請求方式+URL+數(shù)據(jù)+HTTP/1.1+換行符+包頭+換行符+換行符+換行符,可以看出GET請求HTTP數(shù)據(jù)包在URL的后面協(xié)議標識的前面,也就是從“Accept”到“sec-ch-ua-platform”都是包頭數(shù)據(jù);
包頭中數(shù)據(jù)用于標識請求信息并非必須具有,比如可以使用下面這種請求方式獲取百度搜索的主頁:
GET https://www.baidu.com// HTTP/1.1
Host www.baidu.com
1.即使不帶任何包頭數(shù)據(jù)也可以實現(xiàn)請求“百度”,并收到<<>HTML>數(shù)據(jù)返回,如圖所示:
2.配置串口服務(wù)器參數(shù),實現(xiàn)HTTP/1.1請求“百度”主頁,如下圖所示:
3.使用串口調(diào)試助手發(fā)送“/”,就可以收到HTTP服務(wù)器返回的數(shù)據(jù),通過對HTML(超文本標記語言)解析就可以得到“百度”的主頁;
4.之后請求OneNET修改數(shù)據(jù)都將基于HTTP/1.1協(xié)議實現(xiàn)。
1.首先注冊并登錄OneNET賬號,選擇“產(chǎn)品服務(wù)”下的MQTT物聯(lián)網(wǎng)套件;
2.選擇“MQTT物聯(lián)網(wǎng)套件”的老版本“多協(xié)議接入”,新版的MQTT也是原生支持HTTP/1.1協(xié)議接入,使用方法與接下來使用的“HTTP接入”相同,有興趣可以自行閱讀OneNET使用說明;
3.在“HTTP接入”產(chǎn)品下添加產(chǎn)品,參數(shù)可以隨意填寫不影響,建議除產(chǎn)品名稱外其余參數(shù)和小編保持一致;
4.在“ebyte”產(chǎn)品目錄下添加模擬電表設(shè)備“DTSU666_01”,設(shè)備編號可以使用生產(chǎn)編號,這里使用模擬設(shè)備因此產(chǎn)品編號模擬為“S20220516001”,點擊“添加”;
5.進入設(shè)備詳情界面查詢設(shè)備ID、API地址、APIKEY,第一次添加設(shè)備不具有APIKEY需要添加,手動添加明文密鑰,服務(wù)器會自動對明文進行加密,之后使用都是使用加密后的密鑰;
6.在數(shù)據(jù)模板中添加“Ua”(A相相電壓)、“Ia”(A相電流),如圖所示:
1.可以在OneNET設(shè)備平臺“文檔中心”查看API接口使用說明;
2.目前NA111系列串口服務(wù)器與以太網(wǎng)網(wǎng)關(guān)僅支持POST與GET兩種請求方式,而HTTP/1.1協(xié)議共支持9種請求方式(GET、HEAD、POST、PUT、DELETE、CONNECT、OPTIONS、TRACE、PATCH),其余請求方式只能在TCP客戶端模式結(jié)合短連接實現(xiàn),而OneNET-HTTP服務(wù)器在小編的印象中僅支持(GET、POST、PUT、DELETE)四種方式,先對“查詢數(shù)據(jù)流”和“上傳數(shù)據(jù)點”兩個常用API接口進行說明其余API接口可以參考實現(xiàn);
1.配置串口服務(wù)器,使用動態(tài)IP、隨機端口并保證設(shè)備能正常接入互聯(lián)網(wǎng),配置目標地址(api.heclouds.com),端口(80),建議打開包頭返回方便觀察服務(wù)器反饋狀態(tài),若不返回包頭在包頭錯誤,請求不合法時無法找到錯誤原因,返回包頭則可以通過HTTP狀態(tài)碼判斷請求狀態(tài);
分類 | 分類描述 |
1** | 信息,服務(wù)器收到請求,需要請求者繼續(xù)執(zhí)行操作 |
2** | 成功,操作被成功接收并處理 |
3** | 重定向,需要進一步的操作以完成請求 |
4** | 客戶端錯誤,請求包含語法錯誤或無法完成請求 |
5** | 服務(wù)器錯誤,服務(wù)器在處理請求的過程中發(fā)生了錯誤 |
2.使能短連接模式配置為5s(非必要但建議開啟減輕服務(wù)器壓力);
3.配置URL為/devices/ devices_id/datapoints;
配置包頭為api-key:df0JBIwvwcxI15eeyXS52bArshE=rHost:api.heclouds.com;
此處串口服務(wù)器在POST模式下隱含了Content-Length:包頭信息,無需將此包頭配置到包頭數(shù)據(jù)中,上位機和網(wǎng)頁配置的包頭輸入框支持換行符的識別,不能使用轉(zhuǎn)義字符“r”輸入,點擊“保存配置”,再點擊“重啟設(shè)備”;
4.根據(jù)手冊示例組包實際請求數(shù)據(jù)并使用JSON格式化工具校驗數(shù)據(jù),如圖所示:
5.通過串口助手發(fā)送上報數(shù)據(jù),并使用平臺查詢上報數(shù)據(jù)是否成功:
6.演示關(guān)閉包頭返回后的接收:
1.修改設(shè)備請求方式與URL路徑其余配置與POST時相同,根據(jù)請求示例進行配置如下圖所示:
2.根據(jù)請求示例可以得到請求數(shù)據(jù)的組包規(guī)則為“datastream_ids=Ua,Ia”,請求效果如下:
1.HTTP是超文本傳輸協(xié)議一般工作在TCP協(xié)議上,除了使用HTTP客戶端模式還可以使用TCP客戶端實現(xiàn)目前不支持的請求方式,比如接下來測試的刪除請求,利用DELETE刪除剛才測試的DTSU666_01設(shè)備;
2.登錄平臺查詢設(shè)備,使用“DELETE”請求成功。
7 X 24 銷售服務(wù)熱線
4000-330-990深圳辦事處柯經(jīng)理:18218726658 南京辦事處葛經(jīng)理:17626012283
無錫辦事處劉經(jīng)理:13558641933
成都總部銷售經(jīng)理:
秦 科(無線模塊):18884314654 馮子恒(無線模塊):18828049434
蔡友銀(無線模塊):13882211021 葛宇龍(通信設(shè)備):19138800613
胡兵(外貿(mào)銷售經(jīng)理):18584911141、 sales06@ebyte.com
業(yè)務(wù)郵箱:support@cdebyte.com 全國銷售投訴電話:19934352316
地址:四川省成都市高新西區(qū)西區(qū)大道199號B5棟(前臺座機:028-61543675)
?? 成都億佰特電子科技有限公司【版權(quán)所有】 蜀ICP備13019384號