網絡基礎之IP地址:
IP是每個主機設備唯一的標識,不同的設備IP地址不同利于查找某個設備。
IP分為:公有地址和私有地址。
什么是公有地址?例如我們在網絡上去使用一臺共享服務器,我們進入服務器就需要輸入IP地址,此時這個IP地址就是共有地址。(總結為:能夠通過IP地址訪問到的設備端)
什么是私有地址:例如我們局域網下的每個IP地址。當我們使用不同的手機或者電腦設備去連接路由器時,每個設備有不同的IP地址,稱為私有地址。
私有地址分為三類:(C類是我們生活中經常使用的)
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 |
當我們使用WIFI模塊ESP8266去做一個智能產品時,手機設備與WIFI設備同時連接同一個路由器時,就類似于一個局域網。反而,當手機設備連接A路由器,WIFI模塊連接B路由器,此時就會發現無法使用手機與WIFI模塊達到通信的功能。
IP端口:
圖1 IP端口號什么是端口?端口號的作用是什么?
當我們兩臺設備相互連接時,A電腦想去訪問B電腦的某一個網站或者某一個應用,此時B電腦中文件和網站那么多,如何去區分那?舉個例子:在學校里我們能很清楚的記得每個班級的名字,八(二)班,九(一)班。我們是如何準確地找到這些班級呢?是的,通過每個班級的地址+端口號。八(二)班中八為地址,二為端口號。在IP中我們也是用這種方法找到我們所要訪問的網頁或者應用。
網絡基礎之TCP、UDP
TCP:面向有連接的雙方(就像電話,對方在了才可以進行通話)。在網絡中,TCP就是需要連接成功后才可以傳輸數據。
TCP需要經過三次握手的連接,可靠性較高,針對一對一數據傳輸。因此TCP應用于要求數據傳輸可靠性較高的場景中,類似于文件傳輸,文件傳輸中出現一點問題,文件就會無法傳輸。
UDP:面向無連接的雙方(就像寄信,對方在與不在都不會影響信件的發送)。在網絡中,UDP不需要準確連接,直接就可以傳輸數據。
UDP不需要經過仔細的連接,速度高,針對多對多數據傳輸。因此UDP應用于要求實時性的場景中,類似于網絡直播。
ESP8266之UDP通信(AT指令)
我們此次ESP8266使用到了UDP協議傳輸,接下來我們來看UDP如何配置!
注意:拼寫AT指令的時候,設置鍵盤輸入為英文狀態。
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地址為準
返回:
+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,遠端可變的UDP通信
注意:當使用AT+CIPSTART指令創建UDP通信,將最后一個參數設置為2時,UDP通信的遠端可改變。
①創建UDP傳輸
AT+CIPSTART = "UDP","192.168.101.110",8000,1112,2
返回:
CONNECT
OK
說明: 指令中的參數介紹:
當知道8000和1112兩個端口時,我們才可以實現通信。 |
5,發送數據
AT+CIPSEND = 2 //Send 2 Bytes 發送2個字節長度,這里的2可以修改,比如要發送7個字節,就改為7
>UDPcontent //發送的數據內容
返回:
Recv 2 bytes
SEND OK
注意: 發送數據時,如果輸入的字節數超過了設置長度(n);
|
如有不足之處,大家多多提建議,我們一起學習成長。
?
審核編輯:湯梓紅
?
評論
查看更多