HTTP協(xié)議工作于客戶端-服務(wù)端架構(gòu)之上。瀏覽器作為HTTP客戶端通過URL向HTTP服務(wù)端即Web服務(wù)器發(fā)送所有請求。Web服務(wù)器根據(jù)接收到的請求后,向客戶端發(fā)送響應(yīng)信息。本文將利用串口服務(wù)器NS1的HTTP客戶端模式上傳服務(wù)器數(shù)據(jù)。
一
HTTP請求的格式
在客戶機(jī)和服務(wù)器之間進(jìn)行請求-響應(yīng)時(shí),兩種最常被用到的方法是:GET 和 POST。
GET :從指定的資源請求數(shù)據(jù)。
POST :向指定的資源提交要被處理的數(shù)據(jù)。
HTTP 請求由請求行(request line)、請求頭部(header)、空行和請求數(shù)據(jù)四個(gè)部分組成:
請求行:請求方法、請求 URL、協(xié)議版本。
請求頭:由關(guān)鍵字/值對組成,每行一對,關(guān)鍵字和值用英文冒號“:”分隔。
請求數(shù)據(jù):HTTP 請求中發(fā)送到服務(wù)器的數(shù)據(jù)。
HTTP請求的格式:
例如:
① 請求行,用來說明請求類型,要訪問的資源以及所使用的HTTP版本。
② 請求頭部。Content-Length:用來指明發(fā)送給接收方的消息主體的大小。Host:客戶端指定自己想訪問的Web服務(wù)器的域名/IP地址和端口號。Content-Type:Web服務(wù)器告訴瀏覽器自己響應(yīng)的對象的類型。
③ 消息主體。
二
巴法云設(shè)備注冊
1.首先注冊并登錄巴法云賬號
選擇“TCP創(chuàng)客云”,新建主題,主題名可任意。
2.查詢 HTTP 接入API格式
在巴法云“實(shí)例指南->Tcp、Mqtt、http調(diào)試工具和教程”中給出的HTTP說明:
在使用postman對創(chuàng)建的主題發(fā)送數(shù)據(jù)時(shí):
① 支持POST指令。
② 請求 URL 為http://apis.bemfa.com/va/postmsg。
③ 使用x-www-form-urlencoded或raw需要添加頭部字段Content-Type。
④ 如果要上傳數(shù)據(jù)到創(chuàng)建的主題中,需要在參數(shù)中指定巴法云賬號的私鑰、創(chuàng)建主題的名稱、type類型固定為3、msg后面跟的數(shù)據(jù)就是上傳到主題中的數(shù)據(jù)。
3.網(wǎng)絡(luò)調(diào)試助手發(fā)送到服務(wù)器
使用網(wǎng)絡(luò)調(diào)試助手要給巴法云賬戶私鑰為f6fd5a9f1eff42feb7225f373efde660主題為LED發(fā)送數(shù)據(jù)TEST。
POST /va/postmsg HTTP/1.1
Host:apis.bemfa.com
Content-Type: application/x-www-form-urlencoded
Content-Length:62
uid=f6fd5a9f1eff42feb7225f373efde660&topic=LED&type=3&msg=TEST
服務(wù)器成功返回200,表明該請求被成功地完成,所請求的資源發(fā)送到客戶端。
4.HTTP之狀態(tài)碼
狀態(tài)代碼有三位數(shù)字組成,第一個(gè)數(shù)字定義了響應(yīng)的類別,共分五種類別:
1xx:指示信息--表示請求已接收,繼續(xù)處理
2xx:成功--表示請求已被成功接收、理解、接受
3xx:重定向--要完成請求必須進(jìn)行更進(jìn)一步的操作
4xx:客戶端錯(cuò)誤--請求有語法錯(cuò)誤或請求無法實(shí)現(xiàn)
5xx:服務(wù)器端錯(cuò)誤--服務(wù)器未能實(shí)現(xiàn)合法的請求
5.HTTP之響應(yīng)消息
一般情況下,服務(wù)器接收并處理客戶端發(fā)過來的+請求后會返回一個(gè)HTTP的響應(yīng)消息。HTTP響應(yīng)也由四個(gè)部分組成,分別是:狀態(tài)行、消息報(bào)頭、空行和響應(yīng)正文。
① 第一部分:狀態(tài)行,由HTTP協(xié)議版本號, 狀態(tài)碼, 狀態(tài)消息三部分組成。
② 第二部分:消息報(bào)頭,用來說明客戶端要使用的一些附加信息。
③ 第三部分:空行,消息報(bào)頭后面的空行是必須的。
④ 第四部分:響應(yīng)正文,服務(wù)器返回給客戶端的文本信息。
三
配置串口服務(wù)器HTTP模式
使用億佰特網(wǎng)絡(luò)配置助手,打開配置頁面。設(shè)置串口服務(wù)器:
① 網(wǎng)絡(luò)工作模式選擇HTTP客服端。
② 目標(biāo)IP/域名apis.bemfa.com。
③ 目標(biāo)端口80。
④ HTTP URL路徑 /va/postmsg。
⑤ HTTP包頭 Host application/x-www-form-urlencoded。
設(shè)置完成后保存設(shè)置、重啟設(shè)備。
四
連接服務(wù)器
使用POST請求
1.串口服務(wù)器網(wǎng)口連接上網(wǎng)絡(luò),通過串口助手上報(bào)數(shù)據(jù),并使用平臺查詢上報(bào)數(shù)據(jù)是否成功。
2.關(guān)閉包頭返回后的接收:
使用GET請求
1.使用網(wǎng)絡(luò)調(diào)試助手,通過GET方式請求百度主頁。不帶任何包頭數(shù)據(jù)也可以實(shí)現(xiàn)請求“百度”,并收到數(shù)據(jù)返回,如圖所示:
① 請求行。
② 請求頭部+換行符,此時(shí)請求頭部為空。
③ 消息主體。
2.使用串口服務(wù)器GET百度,先打開億佰特網(wǎng)絡(luò)配置助手,配置如下:
3.使用串口調(diào)試助手發(fā)送“/”,就可以收到HTTP服務(wù)器返回的數(shù)據(jù),通過對HTML(超文本標(biāo)記語言)解析就可以得到“百度”的主頁。
相關(guān)推薦
NS1是實(shí)現(xiàn)串口數(shù)據(jù)轉(zhuǎn)以太網(wǎng)數(shù)據(jù)傳輸?shù)哪K。貼片封裝,可滿足各類 TTL 電平串口設(shè)備、MCU 的聯(lián)網(wǎng)功能。
-
數(shù)據(jù)
+關(guān)注
關(guān)注
8文章
7002瀏覽量
88938 -
服務(wù)器
+關(guān)注
關(guān)注
12文章
9123瀏覽量
85322 -
HTTP
+關(guān)注
關(guān)注
0文章
504瀏覽量
31194
發(fā)布評論請先 登錄
相關(guān)推薦
評論