一、简介
基于 ESP8266 的 Arduino 代码,其主要功能是将 ESP8266 连接到指定的 Wi-Fi 网络,并与指定 IP 地址和端口号的服务器建立 TCP 连接。在连接成功后,实现了串口和网络数据的双向传输,也就是将从串口接收到的数据通过 Wi-Fi 发送给服务器,同时将从服务器接收到的数据通过串口输出。
二、代码
cpp
#include <ESP8266WiFi.h>
const char* ssid = "WIFI名字";
const char* password = "WIFI密码";
const char* serverIP = "IP地址";
const int serverPort = 端口号自己设置即可 例如:8080;
WiFiClient client;
void setup() {
Serial.begin(115200);
WiFi.begin(ssid, password);
Serial.print("Connecting to ");
Serial.println(ssid);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");
Serial.print("Connecting to server at ");
Serial.print(serverIP);
Serial.print(":");
Serial.println(serverPort);
while (!client.connect(serverIP, serverPort)) {
delay(100);
Serial.print(".");
}
Serial.println("");
Serial.println("Connected to server");
}
void loop() {
// 检查连接状态,如果断开则尝试重新连接
if (!client.connected()) {
Serial.println("Connection lost, trying to reconnect...");
while (!client.connect(serverIP, serverPort)) {
delay(100);
Serial.print(".");
}
Serial.println("");
Serial.println("Reconnected to server");
}
// 串口数据→Wi-Fi
if (Serial.available()) {
client.write(Serial.read());
}
// Wi-Fi数据→串口
if (client.available()) {
Serial.write(client.read());
}
}
三、手机连接
1.手机连接wifi
手机连上和8266相同的wifi即可
2.wifi地址查询
打开手机wifi查询IP地址我的IP如下图
![](https://i-blog.csdnimg.cn/direct/8e7486666a2b46e7a9d2c58c0d4835db.png)
3.修改代码
修改serverIP为你查询到的IP,serverPort自己起一个就行我用的是8080,然后编译上传即可。
上传完成如图所示
![](https://i-blog.csdnimg.cn/direct/f1deb82521c74abf8068167ee5026d40.png)
4.手机端配置
手机端APP,调试时我用的网络调试精灵
![](https://i-blog.csdnimg.cn/direct/e9b54923315442ff91acdfe854e006a5.jpeg)
点击右下角+号进行配置,主机就是刚才查询的IP地址,端口就是你自己设置的serverPort,点击保存然后打开。
因为我的8266已经上电所以我刚打开就显示已经连接上了,然后我们使用串口助手发送1,2,3,5可以看到我们的手机已经接收到了
然后我们的手机发送helo,可以看到串口助手也成功接收到了,至此TCP通信建立完成。
![](https://i-blog.csdnimg.cn/direct/511b44e6119d49d2bede0a0f98086aa7.png)
四、电脑连接
1.电脑连接wifi
有网卡的连接wif没有的用宽带即可
2.电脑IP地址查询
按下win+R输入cmd进入命令行
![](https://i-blog.csdnimg.cn/direct/f0e9d37b4532451e8a8c2a9e3c2ff1ff.png)
输入ipconfig
![](https://i-blog.csdnimg.cn/direct/6c4c7fdc661446edaa2136ba478f536a.png)
按下回车,查找自己的IP地址
![](https://i-blog.csdnimg.cn/direct/e2738977437440218ca59f5fd459fa62.png)
3.修改代码
将代码中的serverIP改为自己查到的IP然后,其他需要修改的按自己的情况修改即可,然后编译下载,重新上电后完成实验。
4.电脑端配置
电脑的服务端我用的是NetAssist.exe,配置如下:
![](https://i-blog.csdnimg.cn/direct/efa316ce7fd64b8989a579c200c96760.png)
5.数据传输
出现online是此时表明已经监听到客户端了
![](https://i-blog.csdnimg.cn/direct/23b49f92fbfb4c65b4c8d1f4a7d8ea20.png)
服务端发送Welcome to NetAssist可以看到客户端这边的XCOM就已经接收到了,如下图
当客户端发送1,2,3,5时服务端也可以接收到如下图
![](https://i-blog.csdnimg.cn/direct/497da6e6348943c1846e3096bade3358.jpeg)
至此电脑端TCP连接建立已经完成了