ESP8266WebServer server(80);esp01s作为wed服务器实时接收arduino r3用软串口发送的json型数据mySerial.println(jsonString);的代码
时间: 2023-06-15 09:08:06 浏览: 137
esp8266web.rar_esp8266 visual_esp8266 服务器_esp8266 webserver_es
下面是一个简单的示例代码,使用ESP8266WebServer库在ESP8266上创建一个Web服务器,并使用软串口从Arduino发送JSON数据:
```
#include <SoftwareSerial.h>
#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>
// 设置软串口
SoftwareSerial mySerial(D3, D4); // RX, TX
// 定义WiFi网络信息
const char* ssid = "your_SSID";
const char* password = "your_PASSWORD";
// 创建一个Web服务器实例
ESP8266WebServer server(80);
void handleJSON() {
String jsonStr = server.arg("plain");
Serial.println(jsonStr); // 将JSON数据打印到串口监视器
}
void setup() {
// 初始化串口和WiFi连接
Serial.begin(9600);
mySerial.begin(9600);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println("Connecting to WiFi...");
}
Serial.println("Connected to WiFi");
// 设置Web服务器路由
server.on("/json", handleJSON);
// 开始Web服务器
server.begin();
}
void loop() {
// 处理Web服务器请求
server.handleClient();
// 从软串口读取JSON数据
if (mySerial.available()) {
String jsonStr = mySerial.readStringUntil('\n');
jsonStr.trim();
if (jsonStr.length() > 0) {
Serial.println(jsonStr); // 将JSON数据打印到串口监视器
}
}
}
```
在这个示例中,我们首先设置了一个软串口,并连接到Arduino的RX和TX引脚。然后,我们连接到WiFi网络,并创建一个Web服务器实例。我们使用`server.on()`函数将路由设置为`/json`,并在`handleJSON()`函数中处理JSON数据。最后,我们在`loop()`函数中处理Web服务器请求,并从软串口读取JSON数据。注意,在读取JSON数据时,我们使用`readStringUntil('\n')`函数读取从Arduino发送的一行JSON数据。然后,我们使用`trim()`函数删除字符串中的任何空格,并在长度大于0时打印JSON数据。
阅读全文