Tag: node.js raspberry

在树莓派上的node.js上运行node_mdns时发生未知错误

我一直在尝试创build一个node.js应用程序,在networking上执行一些ZeroConf发现,并运行在Raspberry Pi上。 虽然该应用程序在我的开发机器上工作正常,但在Raspberry Pi上运行时出现错误。 树莓pi运行节点0.10.5,node_mdns作为包进行zeroconf发现。 在node_mdns安装页面上提及的所需库已经安装并且是最新的。 该应用程序启动正确,但是当一个设备被发现时,我得到以下错误。 { [Error: dns service error: unknown] errorCode: -65537 } events.js:72 throw er; // Unhandled 'error' event ^ Error: dns service error: unknown at MDNSService.on_resolver_done (/home/pi/projects/test/node_modules/mdns/lib/resolver_sequence_tasks.js:19:30) at SocketWatcher.MDNSService.self.watcher.callback (/home/pi/projects/test/node_modules/mdns/lib/mdns_service.js:17:38) 这似乎不是一个networking问题,因为它只发生在树莓派,而不是networking上的其他设备。 如果有人有同样的问题,并设法解决这个问题,将不胜感激。

使用非ASCII字符从wchar_t创buildv8 :: String的安全方法是什么?

我正在为DAB开发板编写Node.js前端,后者最终将运行在Raspberry Pi上。 我是一个Java和Web开发人员,我正在努力与C ++和不同types的string之间转换。 DAB板带有一个C ++ SDK,有许多方便的function。 它允许我用GetTotalProgram()获得可用程序的数量。 对于每个程序,我可以调用GetProgramName来获取程序的名称: GetProgramName(char mode, long dabIndex, char namemode, wchar_t * programName) … mode意味着FM或DAB , namemode意味着长名或短名。 该程序的名称将在programName中返回。 为了将wchar_t *programName转换为v8::String ,我find了我正在使用的这个片段,并且理解了以下基本知识: wchar_t buff[300]; char cbuff[600]; GetProgramName(0, i, 1, buff); wcstombs( cbuff, buff, wcslen(buff) ); Local<String> str = String::NewFromUtf8(isolate, (const char *) cbuff, v8::String::kNormalString, wcslen(buff)); 我遍历可用的程序,并build立一个v8::Array : void GetPrograms(const FunctionCallbackInfo<Value>& args) […]

在后台使用child_process(node js)运行python脚本

我有一个python脚本test.py在一个树莓派需要在后台运行。 使用CLI,我这样做: python test.py & 但是,如何使用节点js中的child_process执行相同操作。 var spawn = require("child_process").spawn; var process = spawn("python",["/path/to/test.py", "&"]); 我有这个代码,这似乎是行不通的。 请build议可能的方法来实现这一点。

刷新Node.JS中的Buffer数据

目前在应用程序中有问题。 我的应用程序被devise为在Raspberry PI上打开RFID阅读器。 它继续读取传入的RFID标签。 代码如下: // Socket.io server details var io = require('socket.io').listen(3000); // Serialport plugin declared and made a serialport variable var serialport = require("serialport"); var SerialPort = serialport.SerialPort; // Variable containing technical USB port details var serialPort = new SerialPort("/dev/ttyUSB0", {baudrate: 2400, parser: serialport.parsers.readline("\n")} , false); // this is the openImmediately flag [default […]

如何从Raspberry Pi上的Node.js应用程序执行关机命令

我有一个无头的Raspberry Pi运行一个简单的NodeJS应用程序。 我已经连接到Pi的唯一的接口是一个单一的button,启动和停止一个timelapsevideo录制。 我知道在没有正确closures的情况下切断Pi电源并不是一个好习惯,所以我想给Node节点添加一个closures命令。 使用ShellJS,我可以很简单地做到这一点 – 如果用户按住button五秒钟,我可以打电话 shell.exec('sudo shutdown -h now'); 这将closuresPi。 当我通过ssh连接到Pi,并且我自己调用了节点命令('node app.js')时,它的工作方式和预期的一样。 但我的目标是让我的Node应用程序在启动时自动运行。 我正在通过使用'/etc/rc.local'来在启动时调用脚本: su pi -c 'node /path/to/app.js' 在这种情况下,shutdown命令不起作用,我甚至不知道如何访问节点控制台来查看抛出的错误。 有人可以在这里指出我正确的方向吗?

当Nodejs应用程序开始使用Systemd时,Nodejs App不会产生pythonsubprocess

我想在启动时启动节点js应用程序。 因此我从Systemd启动一项服务: [Unit] Description=Node.js server After=network.target [Service] ExecStart=/usr/bin/node /var/www/Raspberry-Pi-Status/js/server.js Restart = always RestartSec=10 StandardOutput=syslog StandardError=syslog SyslogIdentifier=nodejs-server Environment=NODE_ENV=production PORT=8000 Environment=PYTHONPATH=/usr/bin/python [INSTALL] WantedBy=multi-user.target server.js看起来像这样: var util = require('util'), spawn = require('child_process').spawn, py = spawn('python',['temperature.py'],{detached: true}); var mysql = require('mysql'); var connection = mysql.createConnection({ host : 'localhost', user : 'monitor', password : 'password', database : 'temps'}); var app […]

Node.js,processing.js和没有浏览器

我想一起使用node.js和processing.js,并将canvas路由到X窗口。 基本上我想修补一些液晶显示器和树莓派,但我想用JavaScript来做一些整洁的东西,而不使用浏览器。 我想强调的是,我试图这样做,因为我想,不是为了别的原因,也不是为了其他人,尽pipe我全神贯注于替代品。 我要求更加不耐烦的大师温柔。 为了澄清(希望),我想使用node.js和processing.js来显示一些任意的JavaScript代码来连接networking和显示graphics,并将结果呈现给X而不是使用浏览器。 提前致谢!

testingTravis上的树莓派代码

我正在使用pi-gpio节点模块来编程我的Raspberry Pi。 我想在Travis上testing我的代码。 我发现这篇文章解释了如何在Travis上build立一个虚拟ARM机器: http : //www.tomaz.me/2013/12/02/running-travis-ci-tests-on-arm.html (I仍然没有得到它的工作:它加载pi-gpio失败,但这可能是我的错。) 自2013年以来有所改变? 有没有更简单的方法来testing我的NodeJS代码在Travis-ci上?

gpio-admin:无法刷新数据

我正尝试使用Node.js + pi-gpio模块访问我的Raspberry pi上的gpio pin,但出现以下错误: "Error when trying to open pin 11" "gpio-admin: could not flush data to /sys/class/gpio/ex[prt: device or resource busy" 我已经检查了目录,销11导出或未导出我仍然得到相同的错误。 在这种情况下,这是我试图从Python转换为节点的代码,这里是代码审查: var gpio = require("pi-gpio"); function motor1(){ gpio.write(7, 1, function(err){ //if err console.log("sent 1"); }); } function motor2(){ gpio.write(11, 1, function(err){ console.log("sent…"); }); } gpio.open(7); gpio.open(11); motor1(); motor2();

将Node.js和Node.js应用程序部署到Raspberry Pi

我有一个Node.js应用程序,我想在Raspberry Pi上运行。 而且,我希望能够将新版本的应用程序以及新版本的Node.js部署到远程的Raspberry Pi中。 基本上,诸如: $ pi-update 192.168.0.37 node@0.11.4 $ pi-update 192.168.0.37 my-app@latest 我没有任何关于如何将我的应用程序转移到Pi的偏好,可能是推或拉。 我不在乎(尽pipe我应该补充说,应用程序的代码可以从私人的GitHub仓库中获得)。 此外,一旦Node.js和/或我的应用程序部署,我想要潜在运行的Node.js应用程序重新启动。 我怎么能这样做? 我应该看哪个软件? 这是可以很容易地使用Raspbian的工具来完成,或者我应该寻找第三方软件(devops工具,比如Chef&co。)或者…? 任何帮助是极大的赞赏 :-)