Articles of raspberry pi

为什么我的socket.io应用程序在Raspberry Pi上运行时立即断开?

我正在尝试在可以与远程socket.io服务器通信的树莓派上构build一个node.js应用程序。 当build立一个新的连接并closures一个现有的连接时,socket.io服务器很简单地写入控制台。 在浏览器中运行时,socket.io客户端按预期工作。 但是,当我从Raspberry Pi运行客户端代码时,它将连接并立即终止。 这不允许我执行任何function,如发射或接收。 连接事件永远不会被解雇。 var io = require('/usr/local/lib/node_modules/socket.io-client'); var serverUrl = 'http://remoteserver.com'; console.log('Connecting to ' + serverUrl); var socket = io.connect(serverUrl); socket.on('connect', function(socket) { console.log('Connection established!'); console.log(socket.id); socket.on('disconnect', function() { console.log('Disconnected from server'); }); }); 上面的代码将输出: Connecting to: http://remoteserver.com 在服务器端,输出将显示一个新的连接,并最终超时closures。 为什么客户端连接事件不会触发? 我怎么能坚持这个连接,以便我最终可以发送input到服务器?

NODE.js和Javascript; 从serialPort获得一个单一的行然后closures

我正在尝试在Raspberry PI上执行以下操作 我将Parallax RFID阅读器连接到Raspberry PI的USB插槽。 我可以连接到阅读器,并阅读经过的标签。 我使用下面的代码来读取RFID标签。 var serialport = require("serialport"); var SerialPort = serialport.SerialPort; var serialPort = new SerialPort("/dev/ttyUSB0", { baudrate: 2400, parser: serialport.parsers.readline("\n") }, false); // this is the openImmediately flag [default is true] serialPort.open(function () { console.log('open'); serialPort.on('data', function(data) { console.log('data received: ' + data); }); }); 该代码的结果是一个实时显示RFID标签内容的控制台。 但是,我希望读者只读取他得到的第一个标签,然后closures连接。 我怎样才能做到这一点? 串行端口现在保持打开状态,并不断向控制台写入数据。 —-编辑—— […]

如何从NodeJs调用Python脚本

我需要在NodeJs中调用这个python脚本。 Read.py #!/usr/bin/env python # -*- coding: utf8 -*- import RPi.GPIO as GPIO import MFRC522 import signal continue_reading = True # Capture SIGINT for cleanup when the script is aborted def end_read(signal,frame): global continue_reading print "Ctrl+C captured, ending read." continue_reading = False GPIO.cleanup() # Hook the SIGINT signal.signal(signal.SIGINT, end_read) # Create an object of the […]

在Node.JS中为GPIO接口设置onChange事件

我在安装了pi-gpio的 Raspberry Pi上安装了Node.JS,可以访问到gpio端口。 我可以读写,但是鉴于node.js的事件驱动特性,是否可以对其进行设置,以便在GPIOinput发生变化并变高或变低(取决于设置)时,发生事件解雇?

EPERM错误在node.js中写入文件

我试图通过写入/sys/class/gpio文件夹来更新我的RaspberryPi上的GPIO,它是子文件夹和文件。 当我运行命令 fs.readFileSync('/sys/class/gpio/gpio2/value', 'utf-8'); 我得到正确的回应,没有问题。 当我跑步 fs.writeFileSync('/sys/class/gpio/gpio2/value',0); 我得到一个EPERM错误,如果我理解正确,告诉我,我没有正确的权限写入该文件。 在列出该文件的权限时,我看到root和gpio组都具有读写权限,而我当前的用户“pi”是gpio组的一部分。 所以一切都应该没问题。 如果我运行sudo节点,我应该有权限,但我仍然得到EPERM错误。 在我看来,'/ sys / class / gpio'是'/ sys / devices / gpio'的虚拟path,查看该文件夹的权限,gpio组也有权限,当然,根。 这是GPIO专用的吗? 我看到一些通过fs.writeFile启用gpio控制的节点模块,例如直接写入同一目录的https://github.com/EnotionZ/GpiO/blob/master/lib/gpio.js 。

使用Spotify webAPI播放艺术家(ID)的随机专辑

这里是我的“小”项目,因为我不是一个开发人员,请不要怪我愚蠢的问题。 我想创build一个“audio书机”。 我想使用一个网站,显示几个艺术家的有声读物。 如果我点击一位艺术家,应该播放一个随机点击的艺术家的有声读物。 我看了这个代码示例: http : //jsfiddle.net/qlmhuge/t7a1sh4u/ // find template and compile it var templateSource = document.getElementById('results-template').innerHTML, template = Handlebars.compile(templateSource), resultsPlaceholder = document.getElementById('results'), playingCssClass = 'playing', audioObject = null; var fetchTracks = function (albumId, callback) { $.ajax({ url: 'https://api.spotify.com/v1/artists/61qDotnjM0jnY5lkfOP7ve/albums/', success: function (response) { callback(response); } }); }; var searchAlbums = function (query) { $.ajax({ […]

在树莓派开始meteor的同时获得ENOENT

我已经在我的覆盆子pi中安装了meteor,但我无法运行。检查所有的进程以及运行在3000.上传图像作为参考。

构buildNode.js给出错误:Node.jsconfiguration错误:找不到可接受的C编译器

在尝试使用Ubuntu 14.04系统交叉编译ARM(Raspberry Pi B)的Node.js v0.10.30时,遇到错误消息: Node.js configure error: No acceptable C compiler found! Please make sure you have a C compiler installed on your system and/or consider adjusting the CC environment variable if you installed it in a non-standard prefix. 我该如何解决这个问题并成功编译node.js? 在新的Ubuntu 14.04 x64安装上使用的命令: sudo apt-get install gcc g++ git git clone git://github.com/joyent/node.git cd node […]

如何在开发过程中模拟串口?

我正在为我的Raspberry Pi开发node.js应用程序,它从串口接收数据,但是我不直接开发应用程序,而是使用我的主计算机。 所以我有我的app.js这个代码: var serialport = require("serialport"); var SerialPort = serialport.SerialPort; var sp = new SerialPort("/dev/ttyACM0", { parser: serialport.parsers.readline("\n") }); sp.on("data", function (rawData) { … 这在Rasperry Pi上运行良好,但我希望能够在开发计算机上运行应用程序,而无需评论有关串口的每个代码块。 达到这个目标的最好方法是什么? 有没有办法模拟串口?

树莓派,Arduino,Node.js和串口

我试图从一个node.js服务器脚本与我的arduino谈话。 这是我的代码: var app = require('express')() , server = require('http').createServer(app) , io = require('socket.io').listen(server) , SerialPort = require('serialport').SerialPort; //SERIAL var portName = '/dev/ttyACM0'; var sp = new SerialPort(); // instantiate the serial port. sp.open(portName, { // portName is instatiated to be COM3, replace as necessary baudRate: 115200, // this is synced to what was set […]