为了在终端上显示连接到 Arduino 的光电管的测量值,我尝试执行 node.js 服务器。它来自Adil Moujahid 制作的教程
我尝试遵循以下步骤:
从您的终端转到保存 server1.js 的文件夹,然后执行节点 server1.js。
然而,有人建议我这个答案(第二个)不要使用 Node.js,而是使用 CMD 终端。
因此,尽管我对这个终端的命令缺乏了解(我学的是 Linux),我还是进入了这个终端,使用 cd 进入了 server1.js 所在的目录(C:\Users\Antoine\Documents\Arduino\Connected Objects\sketch_jan30a)并执行了以下操作:
Wscript.exe Automation \Framework\server1.js
但这没用,所以我尝试了
Wscript.exe \Framework\server1.js
它不起作用并向我发送了一个 Windows 脚本错误:
所以我认为 server1.js 代码有问题:
var serialport = require('serialport');
var portName = '/dev/tty.usbmodem1411';
var sp = new serialport.SerialPort(portName, {
baudRate: 9600,
dataBits: 8,
parity: 'none',
stopBits: 1,
flowControl: false,
parser: serialport.parsers.readline("\r\n")
});
sp.on('data', function(input) {
console.log(input);
});
端口名有问题吗?根据以下代码,我只能猜测Adil Moujahid 制作的教程以及消息中所写的内容。
您能帮我编写执行 .js 文件吗,或者告诉我我的代码是否有问题(在这种情况下,我会尝试将这个问题转移到更合适的论坛)
答案1
另一个问题的答案告诉你在 node.js 终端之外运行 NPM 命令。npm 是一个关键字,它告诉命令提示符使用特定的应用程序来处理命令或参数。在你的情况下,你试图运行为 node.js 编写的 js 服务器,所以npm install ...
你可能会使用 use而不是 using node server1.js
(如果你试图在 node.js 终端窗口之外运行它,在 cd 到相应的目录之后)
抱歉,我刚看到这个问题有点老了。希望你现在已经明白了,这篇文章能帮助其他刚开始学习的人。
答案2
代码很好,但它是为不同的运行时编写的。WScript 与 node.js 非常不同(就像两者都不同于“通常的” Web 浏览器环境一样)——例如,它不支持。(从技术上讲,它甚至不是require()
JavaScript console
,但JScript。
你必须下载适用于 Windows 的 node.js。