javascript - 带有 Node.js 的 Arduino 无法工作

标签 javascript node.js udp arduino

我正在开发一个具有 Arduino Uno 并使用 UDP 连接的项目,它将数据发送到运行 Node.js 模块的 Mac 以获取该数据并将其打印出来。

这是我的 Arduino 代码:

#include <SPI.h>
#include <Ethernet.h>
#include <EthernetUdp.h>
//Import the necessary packages.

byte mac[] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED}; //Arduino's MAC address.
IPAddress IP(192, 168, 1, 152); //Arduino's IP address.
unsigned int arduinoPort = 8888; //Arduino's transmission port.

IPAddress recieverIP(192, 168, 1, 77); //Mac's IP address.
unsigned int recieverPort = 6000; //Mac's transmission port.

EthernetUDP udp;

int sensorPin = 2; //The pin on the Arduino the PIR sensor is connected to.
int sensorStatus; //The PIR sensor's status.

void setup()
{
    Serial.begin(9600);
    Ethernet.begin(mac, IP); //Starting the Ethernet functionality.
    udp.begin(arduinoPort); //Starting the UDP server's functionality.
}

void loop()
{
    Serial.println("YES");
    udp.beginPacket(recieverIP, recieverPort);
    udp.write("YES");
    udp.endPacket();
    delay(10);
}

这是我的 Node.js 模块的代码:

var dgram  = require('dgram');
var server = dgram.createSocket("udp4");
var fs = require('fs');

var crlf = new Buffer(2);
crlf[0] = 0xD;
crlf[1] = 0xA;

server.on("Message", function(msg, rinfo)
{
    console.log("Server got : " + msg.readUInt16LE(0) + " from : " + rinfo.address + " : " + rinfo.port);
});

server.on("Listening", function()
{
    var address = server.address();
    console.log("Server listening @ " + address.address + " : " + address.port);
});

server.bind(6000);

当我运行代码时,终端中没有打印任何值。出了什么问题?谢谢。

最佳答案

您不应该将 dgram 套接字的事件大写。

  1. 消息应为消息
  2. 聆听应该是聆听

这是一个小例子

var dgram = require("dgram");
var server = dgram.createSocket("udp4");

server.on('listening' /*Correct*/,function(){ 
 console.log("it fires"); 
});

server.on('Listening' /*Wrong*/,function(){
 console.log("it doesn't fire");
});

server.bind(6000);

关于javascript - 带有 Node.js 的 Arduino 无法工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20476581/

相关文章:

c# - Windows 应用商店应用程序 (.NET) 上的 SSDP (UDP)

javascript - 无法显示 Angular 形式的跨度

node.js - Express Js 不在 res.json() 上发送错误对象

javascript - Angular 5/Typescript - 如何将复杂的 json 对象转换为类

node.js - 使用 node-soap 客户端通过代理调用 SOAP API

javascript - Auth 中间件不调用 stub - NodeJS、sinon

Java单播和组播性能

c++ - 获取传入 UDP 数据包的目标端口

带有非拉丁字符的 Javascript slug 函数

javascript - 如何在 webpack 配置中包含和使用 DefinePlugin?