在使用 JavaScript 通过串口与 ESP32 单片机通信时,可以选择不同的发送消息方式,根据具体应用场景和设备需求,常用的方式包括以下几种:
特点:
实现:
const encoder = new TextEncoder();
const data = "Hello, ESP32!";
port.write(encoder.encode(data));
注意事项:
特点:
实现:
const encoder = new TextEncoder();
const message = "A very long message that needs to be split...";
const chunkSize = 64; // 每次发送的最大字节数
let offset = 0;
async function sendChunks(port, message) {
while (offset < message.length) {
const chunk = message.slice(offset, offset + chunkSize);
await port.write(encoder.encode(chunk));
offset += chunkSize;
}
}
sendChunks(port, message);
注意事项:
特点:
实现:
const encoder = new TextEncoder();
const stream = port.writable.getWriter();
async function sendStream(port, message) {
for (const char of message) {
await stream.write(encoder.encode(char));
}
stream.releaseLock();
}
sendStream(port, "Streamed message...");
注意事项:
Serial.setRxBufferSize()
配置)。OK
作为响应标记。通过合理地选择发送方式和容量控制手段,可以确保消息传递的可靠性和系统的稳定性。如果你需要实现更复杂的协议,推荐使用 CBOR 或者 JSON 格式来结构化消息内容,并附加长度信息以供接收端验证。