首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在nodejs中传递javascript消息

在nodejs中传递javascript消息
EN

Stack Overflow用户
提问于 2015-05-05 13:49:32
回答 2查看 465关注 0票数 2

有人能帮我怎么做吗?每次收到消息时,我都想将消息从websocket传递到串口。

代码语言:javascript
运行
复制
var firmata = require('firmata');
var board = new firmata.Board('COM4');

var WebSocketServer = require('ws').Server;
var wss = new WebSocketServer({ port: 8081 });

wss.on('connection', function connection(websocket) {
    websocket.on('message', function incoming(message) {
    board.servoWrite(5, message); //This doesn't work but how do i send?
}

board.on("ready", function() {
  board.servoWrite(5, 0); // this works but i need the message from above which I cant access.

});
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-05-05 16:16:25

这不是一个系统错误。不得不加上

代码语言:javascript
运行
复制
board.servoConfig(5, 0, 30);

我在代码中添加了这样的代码:

代码语言:javascript
运行
复制
var firmata = require('firmata');
var board = new firmata.Board('COM4',function(){

});

var WebSocketServer = require('ws').Server;
var wss = new WebSocketServer({ port: 8081 });

wss.on('connection', function connection(websocket) {
    websocket.on('message', function incoming(message) {
    board.servoConfig(5, 0, 30);
    board.servoWrite(5, message); //This doesn't work but how do i send?
}

board.on("ready", function() {
  board.servoWrite(5, 0); // this works but i need the message from above which I cant access.

});
票数 0
EN

Stack Overflow用户

发布于 2015-05-05 14:15:29

您应该在board准备好之后添加侦听器。

代码语言:javascript
运行
复制
board.on("ready", function() {
    wss.on('connection', function connection(websocket) {
        websocket.on('message', function incoming(message) {
            board.servoWrite(5, message);
        });
    });
});

或者声明一个变量来告诉你它是否准备好了。

代码语言:javascript
运行
复制
var isReady = false;

board.on("ready", function() {
    isReady = true;
});

wss.on('connection', function connection(websocket) {
    websocket.on('message', function incoming(message) {
        if(isReady)
            board.servoWrite(5, message);
    });
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30054872

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档