将JSON从Arduino发送到Node.js(SerialPort)可以通过以下步骤实现:
#include <ArduinoJson.h>
void setup() {
Serial.begin(9600);
}
void loop() {
// 读取传感器数据
int sensorValue = analogRead(A0);
// 创建JSON对象
StaticJsonDocument<200> doc;
doc["sensorValue"] = sensorValue;
// 将JSON对象转换为字符串
String jsonString;
serializeJson(doc, jsonString);
// 发送JSON字符串到串口
Serial.println(jsonString);
delay(1000);
}
npm install serialport
const SerialPort = require('serialport');
const Readline = require('@serialport/parser-readline');
// 串口配置
const port = new SerialPort('/dev/ttyUSB0', { baudRate: 9600 });
const parser = port.pipe(new Readline({ delimiter: '\n' }));
// 监听串口数据
parser.on('data', (data) => {
try {
// 解析JSON数据
const jsonData = JSON.parse(data);
// 处理JSON数据
console.log(jsonData);
} catch (error) {
console.error(error);
}
});
在上面的代码中,你需要根据你的操作系统和串口配置修改串口路径(例如/dev/ttyUSB0
)。当从串口接收到数据时,它将被解析为JSON对象,并可以在parser.on('data')
回调函数中进行处理。
这是一个简单的示例,你可以根据自己的需求进行扩展和修改。希望对你有帮助!
领取专属 10元无门槛券
手把手带您无忧上云