gpt4 book ai didi

node.js - 树莓派(node.js)与Arduino uno串口通信

转载 作者:搜寻专家 更新时间:2023-10-31 23:59:45 26 4
gpt4 key购买 nike

我正在尝试通过串行通信连接 Raspberry Pi 和 Arduino。我的目的是用户通过 Raspberry Pi 控制 Arduino 的 LED。

我找到了一个串行通信的示例代码,它每 2 秒自动向 Arduino 发送一个字符串。但我想做两件事:

  1. 更改发送的值而不是“你好”。
  2. 并且用户可以随时发送值,而不是自动发送。

你能帮帮我吗?我不擅长 node.js。

var SerialPort = require("serialport")
var serialPort = new SerialPort('/dev/ttyACM0',
{ baudrate: 9600,
dataBits: 8,
parity: 'none',
stopBits: 1,
flowControl: false
});

serialPort.on("open", function () {
console.log('open');
serialPort.on('data', function(data) { // 아두이노로부터 전달된 데이터
console.log('data received: ' + data);
});

serialPort.write("Hello from Raspberry Pi\n", function(err, results) {
console.log('err ' + err);
console.log('results ' + results); //전송한 바이트 수
});

setInterval(
function() { // 2초마다 아두이노에게 문자열을 전송하는 예
serialPort.write('hello');
}, 2000);
});

最佳答案

这离工作不远了。一些小的调整1. 'baudrate' 应该是混合大写的'baudRate'。2. 对于运行此代码的任何人,您当然需要 找到设备名称(串行端口构造函数的第一个参数, 在上面的例子中 '/dev/ttyACM0')。找到这个的一种方法是 打开 Arduino IDE 并查看“工具”|找到“端口”后 一个与 Arduino 通信的。3. 最后,上面的代码写在两个地方会造成混淆。只需写入 设置间隔函数。这每 2 秒发送一次“hello”字符串。

这是对我有用的代码:

var SerialPort = require("serialport")
var serialPort = new SerialPort('/dev/cu.usbmodem15',
{
baudRate: 9600,
dataBits: 8,
parity: 'none',
stopBits: 1,
flowControl: false
});

serialPort.on("open", function () {
console.log('comm open');
serialPort.on('data', function(data) {
console.log('data received: ' + data);
});

setInterval(
function() {
serialPort.write('hello');
}, 2000
);
});

关于node.js - 树莓派(node.js)与Arduino uno串口通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39240089/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com