Node.js使用串行将数据发送到Arduino

亚历杭德罗

我有一些通过串行端口发送数据的nodejs代码。我的问题是我正在对arduino部分进行编码。由于我看不到arduino从串行读取的数据。

Node.js

serialport.write('3');

Arduino.ino

char rcved = Serial.read();

我需要看看我在rcved中得到了什么。但是当我尝试:

Serial.println(rcved);

然后打开串行监视器,我得到串行端口正忙的错误。我知道Node.js正在使用它来发送数据。。但是我怎么才能看到arduino代码正在读取的内容呢?

错误:

processing.app.SerialException: Error opening serial port 'COM4'.
at processing.app.Serial.<init>(Unknown Source)
at processing.app.Serial.<init>(Unknown Source)
at processing.app.SerialMonitor$3.<init>(SerialMonitor.java:94)
at processing.app.SerialMonitor.open(SerialMonitor.java:94)
at processing.app.Editor.handleSerial(Editor.java:2536)
at processing.app.EditorToolbar.mousePressed(EditorToolbar.java:357)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$200(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)

Caused by: jssc.SerialPortException: Port name - COM4; Method name -     openPort(); Exception type - Port busy.
at jssc.SerialPort.openPort(SerialPort.java:164)
... 37 more
Error opening serial port 'COM4'.

请帮忙!我需要这个来调试

谢谢

用户名

向Arduino发送串行消息并不像简单地传递一个String那样简单。不幸的是,您必须按字符发送String字符,Arduino会接收该字符并将其连接回String。发送完最后一个字符后,您需要发送一个最后的换行符(/ n),这是Arduino停止串联并评估消息的信号。

这是您在Node.js服务器中需要执行的操作:

// Socket.IO message from the browser
socket.on('serialEvent', function (data) {

    // The message received as a String
    console.log(data);

    // Sending String character by character
    for(var i=0; i<data.length; i++){
        myPort.write(new Buffer(data[i], 'ascii'), function(err, results) {
            // console.log('Error: ' + err);
            // console.log('Results ' + results);
        });
    }

    // Sending the terminate character
    myPort.write(new Buffer('\n', 'ascii'), function(err, results) {
        // console.log('err ' + err);
        // console.log('results ' + results);
    });
});

这是接收以下代码的Arduino代码:

String inData = "";

void loop(){
    while (Serial.available() > 0) {
        char received = Serial.read();
        inData.concat(received);

        // Process message when new line character is received
        if (received == '\n') {
            // Message is ready in inDate
        }
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用纯js将数据从node.js发送到前端

来自分类Dev

将数据从JavaScript发送到node.js

来自分类Dev

将edittextfield的数据从Android发送到node.js

来自分类Dev

如何使用libusb将数据发送到node.js中的USB设备

来自分类Dev

Node.js WebSockets - 使用 BasicAuth 将数据发送到服务器

来自分类Dev

使用node.js将参数发送到API

来自分类Dev

如何将数据node.js发送到ejs文件,以及如何使用angular.js获取数据

来自分类Dev

将表单数据发送到node.js的绝佳方法-Node-static

来自分类Dev

使用$ .ajax发布将数据发送到node.js服务器不起作用

来自分类Dev

尝试使用HTML和Node.js将登录表单输入发送到数据库

来自分类Dev

使用Node.js中的through2将数据发送到流时的额外换行符

来自分类Dev

Zapier:如何使用 Zapier 从 ScheduleOnce 将数据发送到我的 Node.js Web 应用程序

来自分类Dev

Node.js:POST未将数据发送到数据库

来自分类Dev

Internet Explorer 9不会将数据发送到Node.js中的数据库

来自分类Dev

Node.js-将数据发送到Node.js并以HTML格式验证插入的数据

来自分类Dev

Node js + PhantomJs:将数据发送到page.evaluate

来自分类Dev

如何在node.js中将数据从服务器发送到客户端

来自分类Dev

如何在Node.js中将后端获取的数据发送到前端

来自分类Dev

通过发布将数据从android发送到node.js?

来自分类Dev

jQuery表单插件将空数据发送到Node.js?

来自分类Dev

将数据从Java客户端发送到Node.js服务器

来自分类Dev

AJAX将数据发送到Node.js服务器

来自分类Dev

Node.js-Socket.io如何检测发送到哪个房间的数据?

来自分类Dev

如何将数据发送到 Node JS 中的多个 Kafka 主题分区

来自分类Dev

AngularJS没有将数据发送到Node Express

来自分类Dev

重新组装从 Arduino 发送到 Python 的串行数据

来自分类Dev

通过串行将 32 位整数从 python 脚本发送到 arduino 以用于驱动 RGB 条

来自分类Dev

将文件从Angular发送到Node.js

来自分类Dev

Node.js将变量发送到EJS页面

Related 相关文章

  1. 1

    使用纯js将数据从node.js发送到前端

  2. 2

    将数据从JavaScript发送到node.js

  3. 3

    将edittextfield的数据从Android发送到node.js

  4. 4

    如何使用libusb将数据发送到node.js中的USB设备

  5. 5

    Node.js WebSockets - 使用 BasicAuth 将数据发送到服务器

  6. 6

    使用node.js将参数发送到API

  7. 7

    如何将数据node.js发送到ejs文件,以及如何使用angular.js获取数据

  8. 8

    将表单数据发送到node.js的绝佳方法-Node-static

  9. 9

    使用$ .ajax发布将数据发送到node.js服务器不起作用

  10. 10

    尝试使用HTML和Node.js将登录表单输入发送到数据库

  11. 11

    使用Node.js中的through2将数据发送到流时的额外换行符

  12. 12

    Zapier:如何使用 Zapier 从 ScheduleOnce 将数据发送到我的 Node.js Web 应用程序

  13. 13

    Node.js:POST未将数据发送到数据库

  14. 14

    Internet Explorer 9不会将数据发送到Node.js中的数据库

  15. 15

    Node.js-将数据发送到Node.js并以HTML格式验证插入的数据

  16. 16

    Node js + PhantomJs:将数据发送到page.evaluate

  17. 17

    如何在node.js中将数据从服务器发送到客户端

  18. 18

    如何在Node.js中将后端获取的数据发送到前端

  19. 19

    通过发布将数据从android发送到node.js?

  20. 20

    jQuery表单插件将空数据发送到Node.js?

  21. 21

    将数据从Java客户端发送到Node.js服务器

  22. 22

    AJAX将数据发送到Node.js服务器

  23. 23

    Node.js-Socket.io如何检测发送到哪个房间的数据?

  24. 24

    如何将数据发送到 Node JS 中的多个 Kafka 主题分区

  25. 25

    AngularJS没有将数据发送到Node Express

  26. 26

    重新组装从 Arduino 发送到 Python 的串行数据

  27. 27

    通过串行将 32 位整数从 python 脚本发送到 arduino 以用于驱动 RGB 条

  28. 28

    将文件从Angular发送到Node.js

  29. 29

    Node.js将变量发送到EJS页面

热门标签

归档