由于調試機器需要打印數據來查看程序是否正常運行,將MCU的串口線接入到電腦需要很長的延長線,而且機器的移動會變的很不方便,故使用8266進行局域網通信,通過wifi將數據直接發送到電腦,這樣調試起來更加的靈活。
硬件準備

首先需要準備一個開發板,這里我準備的是淘寶購買的兼容arduino的ESP8266模塊。
具體的配置在我博客上章有講,鏈接如下:ESP8266配置
端口連接
由于主要是將mcu的數據通過wifi打印出去,故接線如下所示,8266的TX接MCU的RX,RX接MCU的TX。

網絡調試助手

下載地址如下:點擊下載
代碼
執行的步驟如下:
1.連接到指定的wifi網絡。
2.連接指定客戶端要連接的服務器的地址。
3.檢驗是否連接到wifi網絡和服務器。
4.串口接收數據發送到服務器。
5.服務器接收數據同時打印在服務器。
#include
#define led 2 //發光二極管連接在8266的GPIO2上
const char *ssid = "KSW2";//這里寫入網絡的ssid
const char *password = "KSW2123456789aa";//wifi密碼
const char *host = "192.168.1.151";//修改為Server服務端的IP,即你電腦的IP,確保在同一網絡之下。
WiFiClient client;//聲明一個客戶端對象,用于與服務器進行連接
const int tcpPort = 8266;//修改為你建立的Server服務端的端口號,此端口號是創建服務器時指定的。
static String comdata = "";
static String val = "";
void setup()
{
Serial.begin(115200);
pinMode(led,OUTPUT);
delay(10);
Serial.println();
Serial.print("Connecting to ");//會通過usb轉tll模塊發送到電腦,通過ide集成的串口監視器可以獲取數據。
Serial.println(ssid);
WiFi.begin(ssid, password);//啟動
//在這里檢測是否成功連接到目標網絡,未連接則阻塞。
while (WiFi.status() != WL_CONNECTED)
{
delay(500);
}
//幾句提示
Serial.println("");
Serial.println("WiFi connected");
Serial.println("IP address: ");
Serial.println(WiFi.localIP());
}
void loop()
{
/******************串口接受數據************************/
while (Serial.available() > 0) // 串口收到字符數大于零。
{
comdata += char(Serial.read());
}
/******************串口打印數據************************/
if(comdata!="")//如果接受到數據
{
client.print(comdata);//向服務器發送數據
}
comdata="";//清空數據
if (client.connected()) //嘗試訪問目標地址,如果沒連接上LED燈滅
digitalWrite(led, LOW);
else
digitalWrite(led, HIGH);
while (!client.connected())//若未連接到服務端,則客戶端進行連接。
{
if (!client.connect(host, tcpPort))//實際上這一步就在連接服務端,如果連接上,該函數返回true
{
Serial.println("連接中....");
delay(500);
}
}
while (client.available())//available()表示是否可以獲取到數據
{
// char val = client.read();//read()表示從網絡中讀取數據。
while (client.available() > 0) // 串口收到字符數大于零。
{
val += char(client.read());
}
client.print("text:"+val);
val="";//清空數據
}
delay(1);
}
功能說明
1.8266啟動將會打印連接的wifi名稱和8266自身的IP地址。

2.若未連接上服務器,將一直打印連接中。

在這里插入圖片描述
3.服務器應該設置8266對應的端口號。

4.服務器發送數據將會在服務器中打印出對應的數據。

5.mcu發送的數據將會通過wifi發送到服務器。

審核編輯:湯梓紅
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
串口
+關注
關注
15文章
1619瀏覽量
82837 -
Arduino
+關注
關注
190文章
6526瀏覽量
196947 -
ESP8266
+關注
關注
51文章
970瀏覽量
49488
發布評論請先 登錄
相關推薦
熱點推薦
ESP8266串口WiFi模塊的基本使用和配置教程
局域網通信,實現聯網功能。 雖然“WiFi門鎖”一直拖著還沒弄好,但WiFi模塊卻玩了很久。是時候介紹下ESP8266的基本使用和配置了。 內容簡介 讓硬件聯網一直以來都是比較麻煩的事
在局域網中ESP8266傳輸數據會很慢是怎么回事?
在局域網中使用esp8266傳輸數據時碰到了一個問題,我將esp8266作為服務器,讓它和手機建立TCP連接,以便于實時傳輸
發表于 07-15 06:41
arduino(2)--通過ESP8266模塊實現串口接收數據,使用TCP協議進行局域網通信
由于調試機器需要打印數據來查看程序是否正常運行,將MCU的串口線接入到電腦需要很長的延長線,而且機器的移動會變的很不方便,故使用8266進行局域網通
發表于 09-06 16:34
ESP8266系列模塊初始化成可以OTA,通過Web頁進行升級(1)
,還具有MCU功能,可以對IO腳進行輸入輸出控制,完全可以替代Arduino模塊。還可以通過域名直接訪問(局域網內),
發表于 09-18 21:24
基于MicroPython結合ESP8266模塊實現TCP通信(AT指令版)
-01)的使用。- 進一步學習TPYBoardv10x中UART模塊的使用。- 結合ESP-01模塊完成局域網內的TCP
發表于 06-04 10:20
使用esp8266實現STM32聯網(最簡單USART方法)
上一篇 esp8266怎么配置esp8266和USB轉TTL連接esp8266簡單介紹esp8266連接路由器esp8266
發表于 11-22 11:51
?1.4w次閱讀
esp8266-SDK的串口發送和中斷接收
最近剛開始玩ESP8266這個模塊,主要是用在兩個ESP8266之間的通信上,進行數據的傳輸。主要是把兩個
發表于 11-23 15:02
?2.1w次閱讀
STM32-ESP8266wifi模塊實現
(ARM CortexM3是3級流水線),最大時鐘速度為160MHz,可以使用高達16MB的外部SPI Flash。 該模塊采用串口與MCU(或其他串口設備)通信,內置
發表于 11-19 13:06
?80次下載
esp筆記(2)使用Arduino IDE 開發 esp8266
的 LED燈Esp8266 V3 開發板V3 開發板的MCU為esp8266,并且板載了USB轉串口模塊,使得我們可以通過
發表于 12-05 14:51
?55次下載
arduino(2)--通過ESP8266模塊實現串口接收數據,使用TCP協議進行局域網通信
評論