我试图从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 for the Arduino Code
dataBits: 8, // this is the default for Arduino serial communication
parity: 'none', // this is the default for Arduino serial …Run Code Online (Sandbox Code Playgroud) 我正在尝试向Raspberry Pi移植一个大型项目,该项目大量使用C++ 11特性.该项目使用CMAKE,我使用crosstool-ng进行交叉编译.我在Pi上安装了依赖项并在本地复制它们,我设法让CMAKE找到它们.一些代码正确构建并生成ARM输出.但是,大多数代码都因令人困惑的GCC输出而失败,我非常肯定与C++ 11 /模板支持有关.例如,我得到这样的错误:
error: 'mutex' in namespace 'std' does not name a type (有问题的文件包含<thread>,如果我还包含<mutex>,则此错误消失,而不是x86 Ubuntu的要求)
error: expected class-name before '{' token(前{的行是:template<typename _Res> class __basic_future : public std::__future_base)
error: '__result_type' does not name a type (这可能是由于上面的错误而发生的)
这些错误看起来像ARM g ++编译器不太喜欢模板.正在使用的g ++版本是arm-unknown-linux-gnueabi-g++ (crosstool-NG 1.18.0) 4.7.3 20130102 (prerelease).
谁能指出我正确的方向?
编辑:以下是其中一个文件的g ++外观ps:
arm-unknown-linux-gnueabi-g++ -DprojectCore_EXPORTS -fPIC
-I/home/sagar/workspace/RaspberryPi/target_env/usr/include
-I/home/sagar/workspace/RaspberryPi/target_env/usr/include/freetype2
-I/home/sagar/workspace/RaspberryPi/target_env/usr/include/glib-2.0
-I/home/sagar/workspace/RaspberryPi/target_env/usr/lib/arm-linux-gnueabihf/glib-2.0/include
-I/home/sagar/workspace/RaspberryPi/target_env/usr/include/gdk-pixbuf-2.0
-I/home/sagar/workspace/RaspberryPi/target_env/usr/include/gtk-2.0
-I/home/sagar/workspace/RaspberryPi/target_env/usr/lib/arm-linux-gnueabihf/gtk-2.0/include
-I/home/sagar/workspace/RaspberryPi/target_env/usr/include/cairo
-I/home/sagar/workspace/RaspberryPi/target_env/usr/include/pango-1.0
-I/home/sagar/workspace/RaspberryPi/target_env/usr/include/atk-1.0
-I/home/sagar/workspace/RaspberryPi/target_env/usr/local/include
-I/home/sagar/workspace/RaspberryPi/target_env/usr/include/eigen3
-I/home/sagar/workspace/RaspberryPi/target_env/usr/include/flann
-I/home/sagar/workspace/project/include -std=c++0x -Wall -Werror -Wno-deprecated -fPIC -g -O4 …Run Code Online (Sandbox Code Playgroud) 我想在Windows 8上的虚拟机中运行Raspbian.它是为Raspberry Pi上的ARM处理器而构建的.
这可能吗?
beaglebone Black处理器包括两个独立的可编程实时单元(PRU).业余爱好者和专业人士对可能将这些单元用于实时应用感到兴奋,这是可以理解的.但是,如果您可以使用RTOS(无论是beaglebone还是Rasberry pi),为什么还需要PRU?
编辑 - 有关信息,BBB的ARM Cortex A8运行频率为1 GHz,频率为1.9 DMIPS/MHz.PRU是以200 MHz运行的简单RISC.
背景资料:
我用RPi B +(Raspbian)构建了智能门解决方案,该解决方案使用了三个传感器(PIR,陀螺仪[I2C]和超声波).根据Python脚本管理的传感器状态,我开始使用raspivid命令录制视频和/或在蓝牙扬声器上播放声音.我还有一个连接到RPi的USB WIFI加密狗.
这就是我在.sh文件中调用Pi NoIR相机的方法:
raspivid -w 800 -h 600 -t 15000 -o file.h264 -n -rot 270
Run Code Online (Sandbox Code Playgroud)
问题描述:
相机工作正常一段时间(我不能确切地知道多长时间[也许是2个小时]也不会触发问题)但是它会停止工作.有趣的是,我没有收到任何错误消息.
我做了什么来确定根本原因:
我试图手动杀死子进程(Raspivid),但它根本不起作用.如果我终止父进程(.sh文件),那么我的子进程将被分配给PID 1(init.d).
我尝试在新的终端窗口中录制新视频,但新过程也会挂起.
重新启动Pi也不起作用.它说它正在重启,但它没有(甚至没有-f选项).
我安装了一个新的Pi Camera,确保它不是硬件或色带问题.
相机有足够的内存可用.
Pi有足够的力量(红色LED始终打开)
-v不返回错误
我安装了V4L2-CTL,但我遇到了同样的问题
我怎样才能修好它?谢谢!
**编辑**
dmesg的:
[ 90.555578] ------------[ cut here ]------------
[ 90.555698] WARNING: CPU: 0 PID: 3593 at drivers/media/v4l2-core/videobuf2-core.c:2135 __vb2_queue_cancel+0xf4/0x160 [videobuf2_core]()
[ 90.555715] Modules linked in: evdev uinput rfcomm bnep bcm2835_v4l2 videobuf2_vmalloc videobuf2_memops videobuf2_core v4l2_common videodev media snd_bcm2835 snd_pcm snd_seq snd_seq_device snd_timer snd spi_bcm2708 i2c_bcm2708 i2c_dev ecb btusb 8192cu …Run Code Online (Sandbox Code Playgroud) 我想在Raspberry Pi 3上安装最新的稳定版本的Node.js.我该如何做到这一点a)我总是能够更新到最新的LTS版本b)可以在版本之间轻松切换
如何在我的Mac上安装Raspbian OS到我的SD卡而无需安装任何其他软件或应用程序.谷歌上发现的大多数教程都需要安装SD Formatter或者没有提供详细步骤.
我正在关注此处文档中的flask-cors教程:https ://pypi.python.org/pypi/Flask-Cors
但是当我将它安装在我的树莓派上并运行我的 python 应用程序时,我收到了这个错误
Traceback (most recent call last):
File "app.py", line 3, in <module>
from flask_cors import CORS, cross_origin
ImportError: No module named 'flask_cors'
这是我的python脚本:
from flask import Flask
from Main import main
from flask_cors import CORS, cross_origin
app = Flask(__name__)
CORS(app)
main = main()
@app.route('/turn' ,methods=['GET', 'OPTIONS'])
def index():
return main.turn()
if __name__ == '__main__':
app.run(debug=True, host='0.0.0.0')
Run Code Online (Sandbox Code Playgroud) 我正在设置Raspberry Pi来记录Sensirion SCD30传感器的数据(CO2,湿度和温度).我的代码在python3中,使用SMBus库通过Pi的GPIO中的I2C引脚与传感器通信.有一个命令可以确定传感器是否准备好发送数据.
该值0x0202通过I2C发送,并返回3个字节的数据:
0x00 0x00 0x81 for data not ready
0x00 0x01 0xB0 for data ready
Run Code Online (Sandbox Code Playgroud)
前两个字节是MSB和数据就绪值的LSB.正确结合他们应该0x0000和0x0001.第三个字节是前两个字节的CRC8.这是用多项式0x31和初始化计算的0xFF.
大约一半的时间,字节以错误的顺序发送.而不是MSB LSB CRC发送MSB CRC LSB.例如,如果数据准备就绪,则可能发送0x00, 0xB0, 0x01而不是0x00, 0x01, 0xB0.我无法弄清楚为什么会发生这种情况,我担心发送数据时会出现一些损坏或问题.我可以更改代码以识别CRC是否是第二个字节,但我想找到潜在的问题.
我正在使用smbus库发送和接收I2C数据.这是我发送命令和读取数据的代码:
bus = smbus.SMBus(0)
I2C_ADDRESS = 0x61
def sendCommand(self, cmd): # sends a 2 byte command (cmd)
data = [0]*2
data[0] = cmd >> 8 # splits 2 byte command into MSB and …Run Code Online (Sandbox Code Playgroud)