无法在raspberry pi

时间:2016-04-01 18:15:13

标签: node.js node-serialport

我正在使用在Jessy(8),节点v0.12.6和serialport 2.0.6上运行的raspberry pi(第一个模型)。我已将物理串行端口的引脚Tx上的引脚Rx连接起来。

cat /dev/ttyAMA0echo "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);
    });
});

我不明白这里发生了什么。任何帮助将不胜感激!

非常感谢! :)

尼古拉斯

1 个答案:

答案 0 :(得分:0)

问题解决了,串口连接上的shell和内核消息没有被raspi-config工具禁用,以防止内核使用串口。 (sudo raspi-config,Advanced-Options,Serial,No) 感谢fivdi:https://github.com/voodootikigod/node-serialport/issues/715 尼古拉斯