我正在使用在Jessy(8),节点v0.12.6和serialport 2.0.6上运行的raspberry pi(第一个模型)。我已将物理串行端口的引脚Tx上的引脚Rx连接起来。
cat /dev/ttyAMA0
和echo "Hello" > /dev/ttyAMA0
使用node-serialport在串口上写文件很好。我正在使用下面的代码(并使用cat
来阅读此内容)(来源:https://www.npmjs.com/package/serialport)
var serialport = require("serialport");
var SerialPort = serialport.SerialPort;
var sp = new SerialPort("/dev/ttyAMA0", {
baudrate:9600,
databits: 8,
parity: 'none',
stopBits: 1,
flowControl: false,
parser: serialport.parsers.readline("\n"),
});
sp.on('open', function() {
console.log("sending");
sp.write("Hello");
});
我现在正尝试使用node-serialport读取我的串口,但它不起作用。当我尝试使用node-serialport读取serialport(并使用echo
对其进行写入)时,来自echo
的数据不会在终端中写入。终端只说“开放”。我正在使用此代码,相同的来源:
var serialport = require("serialport");
var SerialPort = serialport.SerialPort;
var sp = new SerialPort("/dev/ttyAMA0", {
baudrate:9600,
databits: 8,
parity: 'none',
stopBits: 1,
flowControl: false,
parser: serialport.parsers.readline("\n"),
});
sp.on('open', function() {
console.log('open');
sp.on('data', function(data) {
console.log('data received: ' + data);
});
});
我不明白这里发生了什么。任何帮助将不胜感激!
非常感谢! :)
尼古拉斯
答案 0 :(得分:0)
问题解决了,串口连接上的shell和内核消息没有被raspi-config工具禁用,以防止内核使用串口。 (sudo raspi-config,Advanced-Options,Serial,No) 感谢fivdi:https://github.com/voodootikigod/node-serialport/issues/715 尼古拉斯