esp8266用wifi传递int型数据
时间: 2023-05-29 19:01:59 浏览: 170
ESP8266-WIFI数据透传
4星 · 用户满意度95%
要在ESP8266之间传递int类型的数据可以使用以下步骤:
1. 设置一个ESP8266作为AP热点,另一个ESP8266连接到该热点。
2. 在两个ESP8266之间建立Socket连接,一个作为服务端,一个作为客户端。
3. 在发送数据之前,将int类型的数据装换为char类型的数组。
4. 将char类型的数组通过Socket连接发送到接收端。
5. 在接收端将接收到的char类型的数组转回int类型的数据。
以下是一个简单的示例:
发送端代码:
```c
#include <ESP8266WiFi.h>
const char* ssid = "Your_SSID";
const char* password = "Your_PASSWORD";
WiFiServer server(80);
void setup() {
WiFi.mode(WIFI_AP);
WiFi.softAP("ESP8266AP", "password");
server.begin();
}
void loop() {
WiFiClient client = server.available();
if (client) {
int num = 123;
char data[sizeof(num)];
memcpy(data, &num, sizeof(num));
client.write(data, sizeof(data));
client.stop();
}
delay(1000);
}
```
接收端代码:
```c
#include <ESP8266WiFi.h>
const char* ssid = "Your_SSID";
const char* password = "Your_PASSWORD";
WiFiClient client;
void setup() {
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
}
client.connect("192.168.4.1", 80);
}
void loop() {
if (client.available()) {
char data[sizeof(int)];
client.read(data, sizeof(data));
int num;
memcpy(&num, data, sizeof(num));
Serial.println(num);
client.stop();
}
delay(1000);
}
```
在以上代码中,发送端将int类型的数据123转换成char类型的数组进行发送,接收端收到后再转换成int类型的数据,并在串口中输出。
阅读全文