【发布时间】:2019-12-21 22:18:18
【问题描述】:
对不起,我的英语也不好。我想制作一个显示客户端结果的服务器 Esp32。 2 个客户发送温度和湿度。我无法识别哪个客户发送数据以及是温度还是湿度。服务器基于 tcp。我正在寻求有关如何识别客户和数据的帮助。 客户端发送: 温度(1)=21 嗡嗡声(1)=60
包括
#include <LiquidCrystal_I2C.h>
// set the LCD number of columns and rows
int lcdColumns = 16;
int lcdRows = 2;
// set LCD address, number of columns and rows
// if you don't know your display address, run an I2C scanner sketch
LiquidCrystal_I2C lcd(0x27, lcdColumns, lcdRows);
const char* ssid = "xxxx";
const char* password = "xxx";
WiFiServer wifiServer(8088);
void setup() {
lcd.init();
// turn on LCD backlight
lcd.backlight();
Serial.begin(115200);
delay(1000);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println("Connecting to WiFi..");
}
Serial.println("Connected to the WiFi network");
Serial.println(WiFi.localIP());
wifiServer.begin();
}
void loop() {
WiFiClient client = wifiServer.available();
if (client) {
while (client.connected()) {
while (client.available()>0) {
lcd.setCursor(0, 0);
String Message = client.readStringUntil('\n');
Serial.println(Message);
lcd.println(Message);
delay(1000);
lcd.clear();
}
delay(10);
}
client.stop();
Serial.println("Client disconnected");
【问题讨论】:
-
问题太宽泛了,展示一下你试过的代码的sn-ps。
-
这是一个基本版本的代码,我不知道该怎么做
-
您是否有权访问发送消息的设备?
-
是的,我有访问权限
-
使用原始 TCP 的想法是您正在发送二进制数据,然后您需要对其进行解析。为避免在您的情况下遇到困难,您可以使用 HTTP,arduino 上有很多 http 服务器示例。
标签: esp32