标签: raspberry-pi3

如何在 rpi3 上通过 python 运行网络摄像头

我正在尝试将 MS lifecam 与我的 raspberry-pi-3 一起使用。当我键入以下命令时,它可以在命令行上运行:

$ fswebcam img.jpg
Trying source module v4l2...
/dev/video0 opened.
...
Writing JPEG image to 'img.jpg'  # this works fine
Run Code Online (Sandbox Code Playgroud)

现在我想通过Python代码运行相机:

import pygame
import pygame.camera
from pygame.locals import *
DEVICE = '/dev/video0'
SIZE = (640, 480)  # I also tried with img size (384,288), same error
FILENAME = 'capture.jpg'
pygame.init()
pygame.camera.init()
camera = pygame.camera.Camera(DEVICE, SIZE)
camera.start()   # error on executing this line
pygame.image.save(screen, FILENAME)
camera.stop()
Run Code Online (Sandbox Code Playgroud)

报告的错误是:

SystemError: ioctl(VIDIOC_S_FMT) failure: no supported formats
Run Code Online (Sandbox Code Playgroud)

我在这里很困惑。相机由rasp-pi支持,所以看起来我的python代码必须在某个地方更新。你能帮我吗?

python webcam raspberry-pi raspberry-pi3

5
推荐指数
1
解决办法
2517
查看次数

访问设备的寄存器i2c

我最近购买了一块gy-521 板,我尝试通过以下连接将其与 Raspberry Pi 3 一起使用

RPi3     |     GY-521
---------------------
3.3V <-------> Vcc
GND  <-------> GND
SCL  <-------> SCL
SDA  <-------> SDA
Run Code Online (Sandbox Code Playgroud)

使用i2cdetect -y 1我获得以下信息

     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- …
Run Code Online (Sandbox Code Playgroud)

c linux i2c raspberry-pi3 sensors

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

ALSA lib pcm_dmix.c:1022:(snd_pcm_dmix_open) 无法打开从属

我正在尝试在树莓派3上实现AI智能镜子项目..我已经被困在这里很长一段时间了..我想使用摄像头麦克风作为语音输入源,但我不能..如果有人可以帮忙!?这些是我运行 python 文件时出现的错误

ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.hdmi
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.hdmi
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.modem
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.modem
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.phoneline
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.phoneline
ALSA lib pulse.c:243:(pulse_connect) PulseAudio: Unable to connect: 
Connection refused

ALSA lib pulse.c:243:(pulse_connect) PulseAudio: Unable to connect: 
Connection refused

ALSA lib pcm_dmix.c:1022:(snd_pcm_dmix_open) unable to …
Run Code Online (Sandbox Code Playgroud)

python python-2.7 python-3.x raspbian raspberry-pi3

5
推荐指数
0
解决办法
4952
查看次数

Python在大矩阵中找到相似向量的最快方法

我正在尝试编写一个Python函数,它接受一个向量(1x128),然后在一个大的未排序矩阵(2000x128)中找到最相似的列。该函数在应用程序中调用了约 100000 次。当我在台式电脑上工作时没有问题,但在树莓派上工作速度非常慢。这是我的功能;

def find_similar_index(a):
    d = []
    norma=np.linalg.norm(a)
    for i in range(0, 1999):
        d.append(np.abs(np.linalg.norm(a - A[:, i]))/norma)
    return np.argmin(d)
Run Code Online (Sandbox Code Playgroud)

我可以改进此功能中的任何内容以加快工作速度吗?我可以使用Raspberry Pi的GPU进行这种计算吗?

python numpy raspberry-pi3

5
推荐指数
1
解决办法
2633
查看次数

Python脚本打开并写入终端

我的 Raspberry Pi 3 Model B (操作系统 NOOBS)上有一个 Python 脚本,运行时每分钟将 CPU 的温度记录到 .csv 文件中。

我想知道的是,如何从 Python 脚本打开终端并在终端中输出温度,而不是将其记录到 .csv 文件中?

这是我到目前为止编写的代码:

from gpiozero import CPUTemperature
from time import sleep, strftime, time

cpu = CPUTemperature()

def output_temp(temp):
    with open("cpu_temp.csv", "a") as log:
        log.write("{0}, {1}\n".format(strftime("%Y-%m-%d %H:&M:%S"),str(temp)))

while True:
    temp = cpu.temperature
    output_temp(temp)
    sleep(60)
Run Code Online (Sandbox Code Playgroud)

我计划使用我所要求的,因此当温度高于“x”度时,终端将打开,在那里打印温度,直到温度再次降至“x”标记以下。不过,我会自己解决剩下的部分,因为我是一个仍在学习的新手。但我被困在我想打开终端并在那里打印变量的部分。

我正在使用软件“Python 3 (IDLE)”来编写和运行此代码。完成后,我将集成它,以便它在启动时自动运行。

任何帮助将不胜感激!此致,乔克

python linux terminal output raspberry-pi3

5
推荐指数
1
解决办法
3748
查看次数

重启后交换文件恢复到原始大小

我正在尝试增加树莓派 3 上的交换文件大小。我正在按照 DigitalOcean 上的本指南进行操作

成功增加文件并使用 mkswap 和 swpon 命令进行设置后,一切正常。我什至尝试用随机数据填充我的内存,看看它是否会使用新的交换空间,并且它工作得很好。

然而,在我重新启动树莓派后,交换文件恢复到之前的(默认)大小 100MB。有什么办法可以让这个改变永久化吗?

我在 Raspbian Jessie 上运行 Raspberry pi 3。

linux swapfile raspberry-pi raspbian raspberry-pi3

5
推荐指数
1
解决办法
3563
查看次数

ModuleNotFoundError:没有名为“python_jwt”的模块(Raspberry Pi)

我无法在 Raspberry PI 中导入正确的 Firebase 包。

My code:
from firebase import firebase
db = firebase.FirebaseApplication("https://xyz.firebaseio.com/", None)

Error:
Traceback (most recent call last):
  File "datastorage.py", line 1, in <module>
    from firebase import firebase
firebase/__init__.py", line 14, in <module>
    import python_jwt as jwt
ModuleNotFoundError: No module named 'python_jwt'
Run Code Online (Sandbox Code Playgroud)

我尝试使用此命令,但没有帮助:

sudo pip install requests
sudo pip install python-firebase
pip install jwt
Run Code Online (Sandbox Code Playgroud)

我使用 Python 3.7.3 和 Raspbian Buster。一切都在我的 PC 上运行,但不适用于 RPi 3B+。

python firebase raspberry-pi3

5
推荐指数
1
解决办法
8393
查看次数

MySQL 在 Raspberry Pi 3 的清单列表条目中没有与 linux/arm/v7 匹配的清单

我目前有一个 Raspberry Pi 3,我正在尝试在本地托管一个网页。该页面最初托管在 VM (Ubuntu) 上,Pi 通过 Internet 加载网页,但是由于建筑物的更改,Pi 无法再连接到 Internet。该站点使用链接到 MySQL 数据库的 Nginx 和 Docker Compose。

在这一点上,我已经将所有相关文件移动到 Pi 上,理论上我应该能够运行docker-compose up -d命令来拉取图像,一旦拉出将 Pi 与以太网断开(在我的办公桌上工作,但需要在没有以太网的房间里并连接到屏幕上,不要问它痛苦)但是一旦它被拉出,它就不再需要互联网了,因为它是在本地托管的。

现在对于实际问题,在拉取期间,大多数事情都顺利进行,但是由于标题中的错误而卡在 MySQL 中(目前正在拉取,mysql:latest但我尝试了其他一些版本)。我已经研究过它,据我所知,因为 Raspberry Pi 3 是 32 位架构,而 MySQL 映像只有 x86_64,但是这个信息已经两年了。这个问题的原因是问是否有人知道是否有任何 MySQL 图像出现在 Raspberry Pi 3 上,因为我找不到,或者是否有人找到了解决此问题的方法。

mysql manifest docker-compose raspberry-pi3

5
推荐指数
1
解决办法
8470
查看次数

如何在树莓派中更新 python

我需要树莓派中的 python 最新版本。
我试过了,apt install python3 3.8
apt install python3但这没有用。
而且我还需要更新我的树莓派 python IDLE

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

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

Python RPI:如何动态调整当前播放的 wav 文件的音量

目前使用 Raspberry Pi 3, pyaudio , ReSpeaker 2-Mics Pi HAT

如何在 RPI 中使用 python 调整播放的 .wav 文件的音量?(输出通过由听筒连接的扬声器 3.5mm 音频插孔输出)

我需要 RPI 来动态播放和调整音量,而无需我手动更改

不使用命令提示符中的命令访问 alsamixer。需要一些有关如何进行的建议。

以下是我的代码的当前进度(此代码将在 while 循环中播放):

            filename ="output.wav"
            
            RESPEAKER_RATE = 16000
            RESPEAKER_CHANNELS = 2
            RESPEAKER_WIDTH = 2
            RESPEAKER_INDEX = 0  
            chunk = 1024
            wf = wave.open(filename, 'rb')
            p = pyaudio.PyAudio()
            stream = p.open(
                    format = p.get_format_from_width(RESPEAKER_WIDTH),
                    channels = RESPEAKER_CHANNELS,
                    rate = RESPEAKER_RATE,
                    output = True
                )
            
           
            
            data = wf.readframes(chunk)
            while data != '':
                stream.write(data)
                data = wf.readframes(chunk)
            
            stream.stop_stream()
            stream.close() …
Run Code Online (Sandbox Code Playgroud)

python pyaudio raspberry-pi3 sensors

5
推荐指数
1
解决办法
161
查看次数