在为Raspberry Pi尝试运动检测器时,我注意到了一些非常奇怪的事情:
从脚本中删除摄像机记录,使其几乎使用0 CPU:
#from gpiozero import MotionSensor
#import cv2
from datetime import datetime
from time import sleep
#camera = cv2.VideoCapture(0)
#pir = MotionSensor(4, queue_len=2, sample_rate=2, threshold=0.5)
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BCM)
PIR_PIN = 4
GPIO.setup(PIR_PIN, GPIO.IN)
while True:
sleep(1)
if GPIO.input(PIR_PIN):
print( "detected!")
filename = 'motionpics/' + datetime.now().strftime("%Y-%m-%d_%H.%M.%S.jpg")
#ret, frame = camera.read()
#cv2.imwrite(filename, frame)
#camera.release()
#pir.wait_for_no_motion()
Run Code Online (Sandbox Code Playgroud)
但是,取消注释只有一行 - 导入cv2,使这个脚本达到300%的CPU使用率!!
OpenCV有什么问题,为什么我不能开始使用它来获取usb相机图像而不使用一堆cpu,并且耗尽电池?
我试图安装一个Android触摸屏驱动程序...我有一个覆盆子pi 3,我安装emteria android它...我买了一个wavehare触摸屏https://www.waveshare.com/wiki/10.1inch_HDMI_LCD#Method_1._Driver_installation.
我能够修复分辨率,屏幕显示很好,但触摸不起作用我尝试安装驱动程序,但它是ubuntu的意思,它不能在Android上工作.知道如何解决我的触摸屏问题吗?
实际上,分段错误发生在我试图编译的另一个程序中,这是因为这种行为.
我的问题是:
这是一个错误还是我的错?
可以任何方式重现(即使该something字段是私有的或受保护的),这是我的例子:
main.cc:
#include <iostream>
class Test {
public:
const char* something = "SOMETHING HERE!!!";
Test(const int& number) : Test(something, number) { }
// XXX: changed `something` to `_something` to make it different
Test(const char* _something, const int& number) {
std::cout << _something << std::endl;
std::cout << number << std::endl; }
~Test() { }
};
int main(int argc, char* argv[]) {
Test te1(345);
Test te2("asdasdad", 34523);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
以下是编译时发生的情况:
g++ main.cc -Os -o main
Run Code Online (Sandbox Code Playgroud)
并运行: …
我正在使用 QTwidgets 构建一个 QT 应用程序,以在 RaspberyPi3 中运行,并在使用 buildroot 构建的 SD 卡内有一个图像。我想支持图表是因为它们基于 QtWidgets 并且支持小部件。
我的问题是,当我将 Charts 集成到我的项目中并在计算机中运行该项目时,没有问题,但是当我尝试将其部署到 Raspberry 时,文件和库不包含在内,并且会出现错误。
在我的 .pro 文件中,我有: QT += 图表
但这会产生以下错误:
错误:QT 中的未知模块:图表
但是,如果我删除它,就会出现一些错误,说找不到库:
QtCharts/QChartGlobal:没有这样的文件或目录
我认为我的问题只是没有向项目提供树莓 SD 卡中库或插件的目录。谁能帮我?如果需要更多信息,请询问我会尽快回答。
我正在构建一个 FPV 机器人,我想通过本地 Wi-Fi 连接使用网络浏览器来控制它。
我正在使用带有 Raspbian Stretch 的 raspberry pi 3B+。我建立了自己的电机控制和功率调节器帽子。
经过大量研究测试,我决定使用 node.JS 作为 http 服务器和 socket.io 来提供与我的机器人的低延迟双向通信。该堆栈实现了大约 7 毫秒的延迟。
我需要将低延迟视频从连接到 RPI 的 USB 摄像头传输到浏览器。我的目标是在 10FPS 下达到至少 640x480 的分辨率,延迟为 50 毫秒或更好。我很高兴牺牲视觉忠诚度来从我的机器人那里获得更快的响应。
如果可能的话,我想在 UDP 中进行流式传输以提高流的可靠性。
如果可能,我想流式传输现代网络浏览器可以本地解码的视频。我想使用 H264 编解码器和 HTML5 视频标签。如果没有其他选择,我可以回退使用 javascript 播放器。
我进行了广泛的研究并尝试了许多工具。
其中,我尝试了 VLC、mjpg 流光、gstreamer 和 raspivid。有几次我进入了网络浏览器可以查看的流,但充其量我在 320x240 时得到了 700 毫秒的延迟。离我的目标很远很远。
目前我正在研究 WebRTC 解决方案。
我想对 NODE.JS 包或其他解决方案提出建议,以提供 UDP H264 视频流,该视频流可由 HTML5 视频标签解码,目标延迟为 50 毫秒。
谢谢
感谢您的回答!我会不断更新这个问题,一旦解决,我会发布解决方案。
推单个框架
我尝试了一种不同的方法,通过 websocket 推送单个 200KB 640x480 jpg …
在 RaspberryPi3 B+ 模型上进行测试,并且只有 2 行 py 代码。Python 版本 3.5.3
from playsound import playsound
playsound("alarm.wav")
即使在 Thonny IDE 上安装了“gst-make”、“gstreamer-player”、“fisspy”和“pgi”软件包后,我仍然收到以下错误消息。不确定还需要什么。是否有用于发出声音的替代包装?我不挑剔:)
任何帮助将不胜感激。提前致谢!
Traceback (most recent call last):
File "sound.py", line 3, in <module>
playsound("home/pi/alarm.wav")
File "/home/pi/.local/lib/python3.5/site-packages/playsound.py", line 92, in _playsoundNix
gi.require_version('Gst', '1.0')
File "/usr/lib/python3/dist-packages/gi/__init__.py", line 118, in require_version
raise ValueError('Namespace %s not available' % namespace)
ValueError: Namespace Gst not available
Run Code Online (Sandbox Code Playgroud) 我昨天拿到了我的Raspberry Pi,我已经尝试用它编码了.我有一个计划在其上运行的程序,但它只与Python版本3.5.0或3.5.1兼容,我在互联网上找到的所有内容似乎都已过时,与Python 2有关或与之无关我的问题,因为我没有看到任何其他100%需要Python 3.5并且可以应对3.4(目前预装)..exe文件在Linux上不起作用.我是Raspberry Pi和Linux的新手,因为我一直是Windows用户.任何帮助表示赞赏.非常感谢 - 罗伯特
我刚买了一台带有7英寸显示屏触摸屏和外壳的Raspberry Pi 3.
不幸的是,外壳不允许我手动旋转屏幕,所以我的应用程序颠倒了.
我尝试使用以下adb命令从控制台执行此操作,但没有运气:
adb shell content insert --uri content://settings/system --bind name:s:accelerometer_rotation --bind value:i:0
Run Code Online (Sandbox Code Playgroud)
然后
adb shell content insert --uri content://settings/system --bind name:s:user_rotation --bind value:i:1
Run Code Online (Sandbox Code Playgroud)
要么
adb shell content insert --uri content://settings/system --bind name:s:user_rotation --bind value:i:3
Run Code Online (Sandbox Code Playgroud)
有没有办法从配置标志直接执行它,从启动处理屏幕方向?
我犯了一个可怕的错误,正在寻求你的帮助!
我已经设置了我的raspberry pi来启动时通过编辑rc.local文件来运行python脚本.这很好,除了我已经编写了我的脚本,以便在退出时重新启动raspberry pi.现在我陷入无限循环,我无法编辑任何东西.每次我的脚本结束时重新启动pi并重新开始!
我的程序使用Pygame作为GUI,我有一个Raspberry Pi 3运行它附带的NOOBS操作系统.如果您需要更多信息,请询问.
任何帮助停止我的脚本,以便我可以访问pi而不会丢失任何数据将不胜感激.
编辑 -多么棒的社区.感谢大家分享您的知识和时间.我有点恐慌,你们都很快得到了我的帮助.如果你正在阅读这篇文章,因为你处于类似的困境,我发现Ben的答案是最快捷,最简单的解决方案,但如果这对你不起作用,我认为FrostedCookies的想法将是下一个尝试.
我正在尝试使用Windows IoT创建在Raspberry Pi 3上运行的Asp.Net Core RC2站点.
我找到了以下教程:https: //www.hackster.io/iddi/windows-10-iot-core-publish-asp-net-web-application-d9dcd4
但这是针对RC1的.那么RC2已经有了一个教程,有没有人这样做过?
第二个问题是,您可以在Windows IoT上调试asp.net核心站点吗?
谢谢你的帮助.
问候马库斯
raspberry-pi3 ×10
python ×3
raspberry-pi ×3
android ×2
python-3.x ×2
asp.net-core ×1
audio ×1
buildroot ×1
c++ ×1
charts ×1
driver ×1
html ×1
linux ×1
low-latency ×1
native ×1
node.js ×1
opencv ×1
playsound ×1
python-3.5 ×1
qt ×1
touchscreen ×1
widget ×1