|
esp8266透传代码,用arduino ide烧写
#include <ESP8266WiFi.h>
// wifi密码及ssid
const char *ssid = "test";
const char *password = "56789123";
// 目标服务器ip即端口号
const char *host = "192.168.43.218";
const int tcpPort = 8266;
char val;
WiFiClient client; // tcpclient实例
void setup() {
// 启动串口通信
Serial.begin(115200);
delay(10);
// 连接到WiFi
WiFi.begin(ssid, password);
// 处理未连接异常
while (WiFi.status() != WL_CONNECTED) {
Serial.write("swn"); // 发送失败信息s wifi no
delay(1000)
}
Serial.write("swy");
// 连接服务器
while (!client.connected()) {
if (!client.connect(host, tcpPort)) {
Serial.write("stn");//s tcp no
delay(3000);
} else {
Serial.write("sty");
}
}
}
void loop() {
// 处理未连接到服务器异常
while (!client.connected()) {
if (!client.connect(host, tcpPort)) {
Serial.write("stn");
delay(3000);
} else {
Serial.warite("sty");
}
}
// 透传数据
while (client.available()) // 读取到的数据转发到到串口
{
uint8_t c = client.read();
Serial.write(c);
}
if (Serial.available()) // 串口读取到的转发到wifi,因为串口是一位一位的发送所以在这里缓存完再发送
{
size_t counti = Serial.available();
uint8_t sbuf[counti];
Serial.readBytes(sbuf, counti);
client.write(sbuf, counti);
}
}
|
|