esp8266區域網內的TCP通訊實驗

2021-09-29 16:35:50 字數 2756 閱讀 8849

本文以esp8266作為sta,以手機wifi作為ap,電腦端用網路除錯助手與esp8266共同連線至手機wifi並建立tcp連線,操作步驟與我在另一篇博文提到的一致。

下面分別以「esp8266作為tcp客戶端」和「esp8266作為tcp伺服器」兩種情況進行實驗示範:

準備工具

usb轉ttl、

esp8266模組、

串列埠除錯助手、

網路除錯助手、

1、設定工作模式&連線熱點

通過串列埠傳送at指令來設定esp8266的工作模式,並連線手機wifi熱點。

這裡我們設定為sta模式。(電腦端也記得連上手機熱點)(網線建議拔掉)

2、建立tcp連線

這裡我們讓esp8266作為tcp客戶端,電腦端的網路除錯助手作為tcp伺服器。

於是,我們要先開啟網路除錯助手並建立乙個tcp伺服器。其中,埠號自行設定,(ip位址的話,軟體會自動根據電腦的wifi情況幫你填好,無法人為更改)

緊接著,我們將esp8266連線至網路除錯助手建立的伺服器上,即建立tcp連線。模組返回連線成功,同時可以看見網路除錯助手上顯示客戶端上線。(注意ip和埠號填寫正確,否則無法正確連線)

3、進入透傳模式&開始透傳

tcp連線建立之後,就可以進入透傳模式,進行資料傳輸了。

指令傳送完成後,當模組返回》,說明透傳開始,接下來由串列埠助手傳送出的資料將不再被認為是at指令,而會被當作是純資料,並通過tcp傳送到網路助手上。

我們通過串列埠向網路除錯助手傳送「this is a message!」資料,可以看到網路助手原封不動的收到了資料。由於是透傳模式,此時如果我們傳送「at」,會被當做是資料傳送給網路助手,而並不是指令。

所以,可以看到,網路助手收到「at」這個資料,而串列埠除錯助手中,並沒有反饋ok,也沒有將我們傳送的「this is a message!」和「at」顯示出來,再次表明當前是透傳模式。

(同時要注意,從本文開始至此,我們的串列埠除錯助手傳送資料時都是勾選「傳送新行」的)

4、退出透傳

當資料傳送完了,不想再傳送資料了,則通過傳送+++退出透傳模式。此時,請注意,先取消勾選「傳送新行」,再傳送+++

緊接著,我們再次勾選「傳送新行」,並通過串列埠傳送at,可以看到模組返回ok,說明模組退出透傳模式,at被當成了指令而不是資料。如下圖:

於是,模組成功退出透傳模式。至此,我們就完成了tcp通訊的簡單實驗。..

.下面我們來講解esp8266作為tcp伺服器的情況,相關步驟與上面「esp8266作為tcp客戶端」時相似,有細微差別。

1、設定工作模式&連線熱點

與上面提到的相同,這裡略過不講。

二、建立tcp連線

這裡我們讓esp8266作為tcp伺服器,電腦端的網路除錯助手作為tcp客戶端。

所以,這一次網路除錯助手要建立乙個tcp客戶端,以便稍後連線至esp8266建立的tcp伺服器。

那麼,網路除錯助手的客戶端引數(ip位址和埠號)怎麼設定呢?該設定成多少呢?為了解決這個問題,我們先不忙著操作我們的網路助手,先操作esp8266。

通過at指令,我們設定8266為多連線模式(因為我們要讓其作為伺服器,伺服器需滿足供多個裝置連線的要求,所以是多連線),同時,我們配置8266的埠號(自行定義)。而8266建立的tcp伺服器的ip位址,我們通過at+cipsta_cur?指令查得,返回資料的第乙個ip則為我們要的。

tcp伺服器建立好之後,接下來我們就用網路助手作為客戶端連線,客戶端的引數為8266設定的埠號和其ip。連線成功後,模組返回connect。

3、透傳

8266作為伺服器時,不能開啟透傳模式(並不等於不能透傳),我們需要通過at+cipsend=<>,<>指令完成資料的傳輸,其第乙個引數為id號,即要傳送資料給連線此伺服器的第幾個客戶端(注意到connect前的0了嗎?),第二個引數為資料長度。注意,編號是從0開始的。

大概就是這樣。

p.s. 類似的,其實在上乙個模式,當esp8266作為客戶端時,也可以使用at+cipsend=<>指令實現透傳(注意此時只有乙個引數,即資料長度),由於不用選擇客戶端,所以只有乙個引數。

以上就是本實驗的基本內容,再進一步的,與外網建立tcp連線,也是相似的步驟,就不再贅述。

關於11 22區域網內被黑事件的記錄

1.起因 2.緊急處置 3.中毒裝置的處置 將伺服器進行簡單格式化以後重做系統後發現新的檔案再次被加密,可見該病毒的感染能力比較強,只能將硬碟全盤進行低階格式化處理。處理完成後重灌系統,並未發現有檔案被再次加密,將剩餘伺服器進行相同操作。4.業務的恢復 在伺服器上安裝vm,將之前異地備份的虛擬機器檔...

同一區域網內跨庫訪問資料進行操作

1.新增鏈結伺服器 exec sp addlinkedserver server test 被訪問的伺服器別名,自己可以隨意取名 srvproduct provider sqloledb datasrc 192.168.71.35 要訪問的伺服器的ip位址 2.新增鏈結使用者名稱和密碼 exec s...

同一區域網內不同網段檔案共享設定

假設你的電腦ip是那個10.16.16.115,對方電腦ip是10.16.17.56。這樣做 進入你的電腦的本地連線,屬性,ipv4位址協議,雙擊進入,不要自動獲取ip,點一下另乙個,使用下面的ip位址 然後,最下面的 高階 按鈕,進入後,手動新增ip位址,點選 新增 先寫入你自己的網段ip,10....