如何将 json 从 arduino 发送到节点 js (SerialPort)? [英] How to send json from arduino to node js (SerialPort)?
本文介绍了如何将 json 从 arduino 发送到节点 js (SerialPort)?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
Arduino 代码:
Arduino code:
我正在尝试发送具有三个值的 json 结构数据
I'm trying to send json structure data with three values
#include <dht.h>
#include <ArduinoJson.h>
DHT d = DHT();
int avalue=0;
void setup() {
Serial.begin(9600);
while (!Serial) continue;
d.attach(A0);
delay(1000);
}
int data[3];
void loop() {
d.update();
data[0] = analogRead(A1);
data[1] = d.getTemperatureInt();
data[2] = d.getHumidityInt();
StaticJsonBuffer<200> jsonBuffer;
JsonObject& root = jsonBuffer.createObject();
root["Moisture"] = data[0];
root["Temperature"] = data[1];
root["Humidity"] = data[2];
Serial.println();
root.prettyPrintTo(Serial);
}
我需要在 NodeJs 上获取数据
I need to get data on NodeJs
我的问题是我无法在json中获取数据
My problem is that i can not get data in json
我有哪些选择?
或者我该如何解决这个问题?
Or how can I solve this problem?
我正在尝试通过 SerialPort 读取数据
I'm trying read data by SerialPort
节点 Js 代码:
var express = require('express');
var app = express();
var SerialPort = require('serialport');
var firebase = require('firebase');
var port = new SerialPort('COM4', {
baudRate: 9600
});
var Readline = SerialPort.parsers.Readline
var parser = new Readline()
port.pipe(parser)
parser.on('data', function (data) {
console.log(data);
})
但是当我尝试获取子数据时,我收到了 undefined
But when I'm trying to get child data I'm receiving undefined
console.log(data.Temperature);
推荐答案
在 node js 中你应该首先:
In node js you should firstly:
1)转成字符串
2)并从此字符串中删除 '\r'
2)And remove '\r' from this String
3) 转换为 JSON
3)Convert to JSON
4)然后解析它
parser.on('data', function (data) {
str = data.toString(); //Convert to string
str = str.replace(/\r?\n|\r/g, ""); //remove '\r' from this String
str = JSON.stringify(data); // Convert to JSON
str = JSON.parse(data); //Then parse it
console.log(str.Moisture);
console.log(str.Temperature);
console.log(str.Humidity);
})
保留其余代码不变
这篇关于如何将 json 从 arduino 发送到节点 js (SerialPort)?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文