0

我正在使用在 Jessy (8)、节点 v0.12.6 和串行端口 2.0.6 上运行的树莓派(第一个模型)。我已将引脚 Rx 连接到物理串行端口的引脚 Tx 上。

它与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 读取串行端口(并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);
    });
});

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

非常感谢!:)

尼古拉斯

4

1 回答 1

1

问题已解决,串行连接上的 shell 和内核消息没有被 raspi-config 工具禁用,以防止内核使用串行端口。(sudo raspi-config,高级选项,串行,否)感谢 fivdi:https ://github.com/voodootikigod/node-serialport/issues/715 Nicolas

于 2016-04-01T20:04:04.343 回答