Articles of arduino

重新连接到端口后,node.js serialport事件停止工作

我正在使用node.js的serialport2库来接收来自arduino的串行数据。 这工作像一个魅力,但时不时PC运行节点,决定停用USB端口,由于EMI 。 所有的端口再次被激活,串口掉线。 Node.js保持运行,但从不恢复到arduino的串行连接。 使用Serialport的'closed'事件我希望节点在短暂的延迟之后重新连接到串行端口。 这工作很好,迄今为止: var SerialPort = require('serialport2').SerialPort; var arduinoPort = '/dev/arduino'; // setting up the serial connection var arduinoSerial = new SerialPort(); var connectArd = function() { arduinoSerial.open(arduinoPort, { baudRate: 9600, dataBits: 8, parity: 'none', stopBits: 1, flowControl: false }); } connectArd(); // do something with incoming data arduinoSerial.on('data', function (data) […]

Arduino与Node.js不工作

我正在研究一个有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 […]

校验和不匹配使用node-xbee发送数据包时出现错误

configuration为Coordinator API XBee系列2试图将数据包发送到configuration为Router AT的XBee系列2。 协调器连接到运行node.js和xbee-api库的Mac OSX。 var frame_obj = { type: 0x10, ud: 0x01, destination64: "0013a20040b19213", data: "1" } serialport.write(xbeeAPI.buildFrame(frame_obj)) 这会导致节点抛出一个错误: /Users/me/Dropbox/Projects/test-node/node_modules/xbee-api/lib/xbee-api.js:173 throw new Error("Checksum Mismatch", S); ^ Error: Checksum Mismatch at XBeeAPI.parseRaw (/Users/me/Dropbox/Projects/test-node/node_modules/xbee-api/lib/xbee-api.js:173:15) at Object.parser (/Users/me/Dropbox/Projects/test-node/node_modules/xbee-api/lib/xbee-api.js:119:10) at Object.SerialPort.options.dataCallback (/Users/me/Dropbox/Projects/test-node/node_modules/serialport/serialport.js:136:15) at SerialPortFactory.SerialPort._emitData (/Users/me/Dropbox/Projects/test-node/node_modules/serialport/serialport.js:305:20) at afterRead (/Users/me/Dropbox/Projects/test-node/node_modules/serialport/serialport.js:283:18) at /Users/me/Dropbox/Projects/test-node/node_modules/serialport/serialport.js:297:9 at Object.wrapper [as oncomplete] (fs.js:454:17) 在AT Router端使用Arduino的串行监视器,我们可以看到协调器发送的数据实际上到达了路由器。 […]

Linino(openWRT)在arduino Yun&nodejs – Nodejs串行模块不工作

我正在使用我的arduino yun板来尝试我使用arduino控制机器人的协议。 同样的工作,在以前的项目中使用树莓派,工作得非常好,而且我根本没有任何问题。 基本上,我的环境是: 树莓PI Arduino兆(板) 的NodeJS NodeJS串行模块 Aaa和我几乎没有问题,但是因为我对arduino yun董事会非常有信心,所以我决定尝试做同样的事情,但是我不想使用我的覆盆子pi,而只想使用我的arduino yun板。 按照本指南正确configurationarduino yun板,编译和安装nodejs后,我可以正常运行node: 凉。 现在,npm,不幸的是不起作用(从上面的教程预期): 由于npm不工作,我这样做: 在/ www /下,我创build了一个名为“nodejsTEST”的目录: cd www mkdir nodejsTEST 访问它,并做了一个非常基本的server.js文件: 上面的代码完美的工作,通过访问arduino.local / nodejsTEST它实际上输出“Ohay :)”。 现在,下一步: 我下载了我在树莓派上使用的相同的库: https://github.com/voodootikigod/node-serialport 而且,由于我不能使用npm,我已经将它复制到了nodejsTEST文件夹中,但是当我从nodejs中请求它时(我已经在这里查看了关于如何正确包含它的stackoverflow)不断告诉一些模块失踪,像这样的: 我已经尝试下载模块本身,但它根本不工作,所以我想知道的是所有模块的存储位置,因为通常有一个/ usr / local / bin /节点文件夹。 令人惊讶的是,从字面上看没有关于节点的痕迹。 即使通过打印它的path并尝试访问它,它告诉我path不存在: 任何想法如何解决这个问题? 我非常期待能够使用带有nodejs的串口库,因为从性能的angular度和稳定性的angular度来看,我对以前的项目有非常积极的经验。 谢谢。

Arduino串行和套接字

我尝试使用Node.js和Socket.io发送串行数据到Arduino和我的代码。 而html页面只有一个button。 它的工作节点和html端。但这不是发送串行数据。 var express = require('express'); var app = express(); var server = require('http').createServer(app); var io = require('socket.io')(server); var port = process.env.PORT || 3000; server.listen(port, function () { // console.log('Server listening at port %d', port); }); // Routing app.use(express.static(__dirname + '/public')); var SerialPort = require("serialport").SerialPort var serialPort = new SerialPort("/dev/ttyACM3", { baudrate:9600 }, false); […]

如何解决使用Node.js和Johnny-Five无法find模块'serialport'?

主要目标:使用Johnny-five和node.js为我的Arduino运行脚本,使用LeapMotion Controls 我有一个文件夹 1:“robotarm.js”脚本 Leapjs'lib'文件夹 leapjs中具有下划线,glmatrix和ws的“node_modules”文件夹。 我已经上传了Arduino板上的标准Firmata,我正在尝试运行我的脚本来启动程序。 但是,当我去terminal,进入我的proj文件夹和types节点robotarm.js,这是会发生什么事情: Kriss-MacBook-Pro:armproj Kris$ node robotarm.js module.js:340 throw err; ^ Error: Cannot find module 'serialport' at Function.Module._resolveFilename (module.js:338:15) at Function.Module._load (module.js:280:25) at Module.require (module.js:364:17) at require (module.js:380:17) at Board.Serial.detect (/Users/Kris/node_modules/johnny-five/lib/board.js:69:7) at new Board (/Users/Kris/node_modules/johnny-five/lib/board.js:299:23) at Object.<anonymous> (/Users/Kris/Desktop/armproj/robotarm.js:90:9) at Module._compile (module.js:456:26) at Object.Module._extensions..js (module.js:474:10) at Module.load (module.js:356:32)

在Arduino Yun上安装Node

我有一个8G MicroSD卡,我想使用opkg安装Node for Arduino Yun,但是我收到以下消息: root@Arduino:~# opkg update Downloading http://downloads.arduino.cc/openwrtyun/1/packages/Packages.gz. Updated list of available packages in /var/opkg-lists/attitude_adjustment. Downloading http://downloads.arduino.cc/openwrtyun/1/packages/Packages.sig. Signature check passed. root@Arduino:~# opkg install node Installing node (v0.10.33-1) to root… Collected errors: * verify_pkg_installable: Only have 2040kb available on filesystem /overlay, pkg node needs 3016 * opkg_install_cmd: Cannot install package node. root@Arduino:~# df -h […]

Firmata,Arduino和Node js之间的关系

这是一个基本的理解问题。 我试图按照这个解释http://www.barryvandam.com/node-js-communicating-with-arduino/但那里听起来有点closures给我。 据我所知,我只需要将标准的Firmata代码推入到Arduino中,并通过Node.js进行编码,以便从Arduino中调用操作和信息。 但是在这个链接中,他们指出我们需要将代码上传到Arduino,这显然会删除现在的Firmata代码。 是不是会导致失去与Arduino的连接? 它是如何工作的? 非常感谢!

通过MQTT将图像从Arduino发送到MOSCA主机

我想使用MQTT将(jpeg)图像数据从arduino发送到mosca主机。 在arduino我使用PubSubClient库。 图像数据存储在SPI连接的FIFO上。 Arduino素描: size_t len = myMemory.read_fifo_length(); static const size_t bufferSize = 2048; static uint8_t buffer[bufferSize] = {0xFF}; while (stuff) { size_t copy = (stuff < bufferSize) ? stuff : bufferSize; myMemory.transferBytes(&buffer[0], &buffer[0], copy); client.publish("transfer", &buffer[0], will_copy); stuff -= copy; } 而在服务器端,我使用带有mosca的NodeJS: var image; server.on('published', function(packet, client) { if(packet.topic == "transfer") image+=packet.payload; if (packet.topic […]

Arduino + ESP8266 WebClient

我需要将我的ESP8266与Arduino Mega连接起来,但是我没有任何库将它连接成Serial1中的ESP8266 WebClient。 我尝试使用Arduino的WifiLibrary 。 我尝试使用ESP8266WiFi.h作为Serial1,但我找不到改变串行端口的方法。 所以我无法切换到Serial1 WiFiClient客户端。 我在这里需要一些帮助,伙计们。 谢谢!