标签: raspberry-pi3

为什么只导入OpenCV导致大量CPU使用?

在为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,并且耗尽电池?

python opencv raspberry-pi3

11
推荐指数
2
解决办法
1451
查看次数

Android waveshare触摸屏

我试图安装一个Android触摸屏驱动程序...我有一个覆盆子pi 3,我安装emteria android它...我买了一个wavehare触摸屏https://www.waveshare.com/wiki/10.1inch_HDMI_LCD#Method_1._Driver_installation.

我能够修复分辨率,屏幕显示很好,但触摸不起作用我尝试安装驱动程序,但它是ubuntu的意思,它不能在Android上工作.知道如何解决我的触摸屏问题吗?

android driver touchscreen raspberry-pi3

11
推荐指数
1
解决办法
1386
查看次数

委托构造函数在使用类字段进行参数时会出现分段错误

实际上,分段错误发生在我试图编译的另一个程序中,这是因为这种行为.

我的问题是:

这是一个错误还是我的错?

可以任何方式重现(即使该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)

并运行: …

c++ native delegating-constructor raspberry-pi3

11
推荐指数
2
解决办法
666
查看次数

项目错误:QT 中的未知模块:图表

我正在使用 QTwidgets 构建一个 QT 应用程序,以在 RaspberyPi3 中运行,并在使用 buildroot 构建的 SD 卡内有一个图像。我想支持图表是因为它们基于 QtWidgets 并且支持小部件。

我的问题是,当我将 Charts 集成到我的项目中并在计算机中运行该项目时,没有问题,但是当我尝试将其部署到 Raspberry 时,文件和库不包含在内,并且会出现错误。

在我的 .pro 文件中,我有: QT += 图表

但这会产生以下错误:

错误:QT 中的未知模块:图表

但是,如果我删除它,就会出现一些错误,说找不到库:

QtCharts/QChartGlobal:没有这样的文件或目录

我认为我的问题只是没有向项目提供树莓 SD 卡中库或插件的目录。谁能帮我?如果需要更多信息,请询问我会尽快回答。

charts qt widget buildroot raspberry-pi3

11
推荐指数
1
解决办法
2万
查看次数

使用 NODE.JS 和 html5 的低延迟(50 毫秒)视频流

客观的:

我正在构建一个 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 …

html video-streaming low-latency node.js raspberry-pi3

11
推荐指数
2
解决办法
1万
查看次数

在 python3 上播放带有 playsound 的音频时出现问题

在 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)

audio playsound python-3.x raspberry-pi3

11
推荐指数
1
解决办法
5880
查看次数

你如何在覆盆子pi上更新到最新的python 3.5.1版本?

我昨天拿到了我的Raspberry Pi,我已经尝试用它编码了.我有一个计划在其上运行的程序,但它只与Python版本3.5.0或3.5.1兼容,我在互联网上找到的所有内容似乎都已过时,与Python 2有关或与之无关我的问题,因为我没有看到任何其他100%需要Python 3.5并且可以应对3.4(目前预装)..exe文件在Linux上不起作用.我是Raspberry Pi和Linux的新手,因为我一直是Windows用户.任何帮助表示赞赏.非常感谢 - 罗伯特

python linux raspberry-pi python-3.5 raspberry-pi3

10
推荐指数
2
解决办法
2万
查看次数

使用Android的Raspberry Pi 3屏幕方向

我刚买了一台带有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)

有没有办法从配置标志直接执行它,从启动处理屏幕方向?

android raspberry-pi raspberry-pi3 android-things

10
推荐指数
1
解决办法
4637
查看次数

Python脚本在启动时运行,然后在最后重新启动 - 如何重新获得控制权?

我犯了一个可怕的错误,正在寻求你的帮助!

我已经设置了我的raspberry pi来启动时通过编辑rc.local文件来运行python脚本.这很好,除了我已经编写了我的脚本,以便在退出时重新启动raspberry pi.现在我陷入无限循环,我无法编辑任何东西.每次我的脚本结束时重新启动pi并重新开始!

我的程序使用Pygame作为GUI,我有一个Raspberry Pi 3运行它附带的NOOBS操作系统.如果您需要更多信息,请询问.

任何帮助停止我的脚本,以便我可以访问pi而不会丢失任何数据将不胜感激.

编辑 -多么棒的社区.感谢大家分享您的知识和时间.我有点恐慌,你们都很快得到了我的帮助.如果你正在阅读这篇文章,因为你处于类似的困境,我发现Ben的答案是最快捷,最简单的解决方案,但如果这对你不起作用,我认为FrostedCookies的想法将是下一个尝试.

python python-3.x raspberry-pi raspberry-pi3

10
推荐指数
2
解决办法
598
查看次数

Windows IoT和Raspberry Pi 3上的Asp .Net Core RC2

我正在尝试使用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核心站点吗?

谢谢你的帮助.

问候马库斯

windows-10-iot-core asp.net-core raspberry-pi3

9
推荐指数
1
解决办法
2430
查看次数