網(wǎng)絡(luò)基礎(chǔ)之IP地址:
IP是每個主機(jī)設(shè)備唯一的標(biāo)識,不同的設(shè)備IP地址不同利于查找某個設(shè)備。
IP分為:公有地址和私有地址。
什么是公有地址?例如我們在網(wǎng)絡(luò)上去使用一臺共享服務(wù)器,我們進(jìn)入服務(wù)器就需要輸入IP地址,此時這個IP地址就是共有地址。(總結(jié)為:能夠通過IP地址訪問到的設(shè)備端)
什么是私有地址:例如我們局域網(wǎng)下的每個IP地址。當(dāng)我們使用不同的手機(jī)或者電腦設(shè)備去連接路由器時,每個設(shè)備有不同的IP地址,稱為私有地址。
私有地址分為三類:(C類是我們生活中經(jīng)常使用的)
A類(16777214個) | IP范圍:10.0.0.0-10.255.255.255 |
B類(65534個) | IP范圍:172.16.0.0-172.31.255.255 |
C類(254個) | IP范圍:192.168.0.0-192.168.255.266 |
當(dāng)我們使用WIFI模塊ESP8266去做一個智能產(chǎn)品時,手機(jī)設(shè)備與WIFI設(shè)備同時連接同一個路由器時,就類似于一個局域網(wǎng)。反而,當(dāng)手機(jī)設(shè)備連接A路由器,WIFI模塊連接B路由器,此時就會發(fā)現(xiàn)無法使用手機(jī)與WIFI模塊達(dá)到通信的功能。
IP端口:
圖1 IP端口號什么是端口?端口號的作用是什么?
當(dāng)我們兩臺設(shè)備相互連接時,A電腦想去訪問B電腦的某一個網(wǎng)站或者某一個應(yīng)用,此時B電腦中文件和網(wǎng)站那么多,如何去區(qū)分那?舉個例子:在學(xué)校里我們能很清楚的記得每個班級的名字,八(二)班,九(一)班。我們是如何準(zhǔn)確地找到這些班級呢?是的,通過每個班級的地址+端口號。八(二)班中八為地址,二為端口號。在IP中我們也是用這種方法找到我們所要訪問的網(wǎng)頁或者應(yīng)用。
網(wǎng)絡(luò)基礎(chǔ)之TCP、UDP
TCP:面向有連接的雙方(就像電話,對方在了才可以進(jìn)行通話)。在網(wǎng)絡(luò)中,TCP就是需要連接成功后才可以傳輸數(shù)據(jù)。
TCP需要經(jīng)過三次握手的連接,可靠性較高,針對一對一數(shù)據(jù)傳輸。因此TCP應(yīng)用于要求數(shù)據(jù)傳輸可靠性較高的場景中,類似于文件傳輸,文件傳輸中出現(xiàn)一點問題,文件就會無法傳輸。
UDP:面向無連接的雙方(就像寄信,對方在與不在都不會影響信件的發(fā)送)。在網(wǎng)絡(luò)中,UDP不需要準(zhǔn)確連接,直接就可以傳輸數(shù)據(jù)。
UDP不需要經(jīng)過仔細(xì)的連接,速度高,針對多對多數(shù)據(jù)傳輸。因此UDP應(yīng)用于要求實時性的場景中,類似于網(wǎng)絡(luò)直播。
ESP8266之UDP通信(AT指令)
我們此次ESP8266使用到了UDP協(xié)議傳輸,接下來我們來看UDP如何配置!
注意:拼寫AT指令的時候,設(shè)置鍵盤輸入為英文狀態(tài)。
1,配置WIFI模式
AT+CWMODE = 3 //softAP+Station mode -- AP+AT模式
返回:OK
2,連接路由器
AT+CWJAP = "SSID","PASSWORD" //SSID and PASSWORD of Router -- 連接IP地址為SSID,密碼為PASSWORD的路由器
返回:OK
3,查詢ESP8266的IP地址
AT+CIFSR //以查詢到的IP地址為準(zhǔn)
返回:
+CIFSR:APIP,"192.168.4.1"
+CIFSR:APMAC,"1A:FE:34:A5:8D:C6"
+CIFSR:STAIP,"192.168.101.133"
+CIFSR:STAMAC,"18:fe:34:a5:8d:c6"
OK
4,遠(yuǎn)端可變的UDP通信
注意:當(dāng)使用AT+CIPSTART指令創(chuàng)建UDP通信,將最后一個參數(shù)設(shè)置為2時,UDP通信的遠(yuǎn)端可改變。
①創(chuàng)建UDP傳輸
AT+CIPSTART = "UDP","192.168.101.110",8000,1112,2
返回:
CONNECT
OK
說明: 指令中的參數(shù)介紹:
當(dāng)知道8000和1112兩個端口時,我們才可以實現(xiàn)通信。 |
5,發(fā)送數(shù)據(jù)
AT+CIPSEND = 2 //Send 2 Bytes 發(fā)送2個字節(jié)長度,這里的2可以修改,比如要發(fā)送7個字節(jié),就改為7
>UDPcontent //發(fā)送的數(shù)據(jù)內(nèi)容
返回:
Recv 2 bytes
SEND OK
注意: 發(fā)送數(shù)據(jù)時,如果輸入的字節(jié)數(shù)超過了設(shè)置長度(n);
|
如有不足之處,大家多多提建議,我們一起學(xué)習(xí)成長。
?
審核編輯:湯梓紅
?
評論
查看更多