๐๐ป ์๋๋ Esp32 ์ nodejs์์ผ ํต์ ์ ๋ํ ์์ ์
๋๋ค.
Below is an example of Esp32 and Node.js socket communication.
๐๐ป Esp32์ค์ ์ ๊ธฐ์กด๊ณผ ๋์ผํฉ๋๋ค.
The Esp32 settings are the same as before.
๐๐ป Esp32์์ “sensor=42” ๋ฉ์ธ์ง๋ฅผ ์๋ฒ๋ก ๋ณด๋ด๊ณ ์๋ฒ๋ “ACK:<Esp32์์ ๋ณด๋ธ ๋ฉ์ธ์ง>”ํ์์Esp32๋ก ๋ณด๋
๋๋ค.
Esp32 sends the “sensor=42” message to the server, and the server sends a message in the format “ACK:” to Esp32.
๐๐ป Esp32
#include <WiFi.h>
const char* ssid = "YOUR_ID";
const char* password = "YOUR_PASSWORD";
// ์์ดํผ ์ฃผ์ / Ipaddress
const char* host = "192.168.0.100";
const uint16_t port = 3000;
WiFiClient client;
void connectToServer() {
Serial.print("Connecting to server...");
if (client.connect(host, port)) {
Serial.println("connected");
} else {
Serial.println("failed");
}
}
void setup() {
Serial.begin(115200);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) { delay(500); }
Serial.print("WiFi OK. IP: ");
Serial.println(WiFi.localIP());
connectToServer();
}
void loop() {
// ๋๊ฒผ์ผ๋ฉด ์ฌ์ฐ๊ฒฐ / If disconnected, reconnect
if (!client.connected()) {
client.stop();
connectToServer();
delay(1000);
return;
}
// ESP32 โ ์๋ฒ๋ก ๋ฉ์์ง ๋ณด๋ด๊ธฐ
// ESP32 โ Send message to server
client.println("sensor=42");
// ์๋ฒ โ ESP32 ์๋ต ์ฝ๊ธฐ
// Read server โ ESP32 response
while (client.available()) {
String line = client.readStringUntil('\n');
Serial.print("Server: ");
Serial.println(line);
}
delay(2000);
}

๐๐ป server.js
const net = require("net");
const server = net.createServer((socket) => {
console.log("Client connected:", socket.remoteAddress, socket.remotePort);
socket.on("data", (data) => {
const msg = data.toString().trim();
console.log("RX:", msg);
// ๋ฐ์ ๋ฉ์์ง์ ๋ํ ์๋ต / Response to a received message
socket.write("ACK:" + msg + "\n");
});
socket.on("end", () => {
console.log("Client disconnected");
});
socket.on("error", (err) => {
console.error("Socket error:", err);
});
});
server.listen(3000, "192.168.0.10", () => {
console.log("TCP server listening on 192.168.0.100:3000");
});
