标签: raspberry-pi3

RPI 上的 SMBUS 给出 IOError: [Errno 121] 远程 I/O 错误

我尝试过通过 I2C 在 RPi3 和 stm32 之间进行通信。首先我安装了 i2c-tools 和 python-smbus。总而言之,我在 RPI 上使用了 python 脚本,如下所示:

import smbus
bus = smbus.SMBus(1)
address = 0x0A
data = [1,2,3,4,5,6,7,8]
bus.write_i2c_block_data(address, 0, data)
Run Code Online (Sandbox Code Playgroud)

当我运行脚本时,我可以看到以下错误:

IOError: [Errno 121] Remote I/O error
Run Code Online (Sandbox Code Playgroud)

STM32 配置为 I2C 从机,两个设备连接正确(SDA、SCL 和 GND)。我怎么知道呢?我使用 BCM2835 库编写了程序。C 程序运行正常。C 程序发送缓冲区没有任何错误。STM32也接收到缓冲区,没有任何错误。你能告诉我,我做错了什么吗?

先感谢您。

i2c raspberry-pi3 smbus

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

使用 pyodbc 将 Raspberry Pi 3 连接到 MSSQL Server

我目前正在尝试将我的树莓派 3 与 Raspbian Stretch Lite(2017 年 11 月)连接到 MSSQL Server。我遵循本指南并将驱动程序和设置字段替换为

Driver=/usr/lib/arm-linux-gnueabihf/odbc/libtdsodbc.so
Setup=/usr/lib/arm-linux-gnueabihf/odbc/libtdsS.so
Run Code Online (Sandbox Code Playgroud)

正如有人在评论部分提出的那样,匹配我的 pi 上的路径。当我尝试通过 python 脚本连接时

conn = pyodbc.connect('DRIVER=FreeTDS;SERVER<IP_OR_HOSTNAME>;PORT=1433;DATABASE<DATABASE_NAME>;UID=<USERNAME>;PWD=<PASSWORD>;')
Run Code Online (Sandbox Code Playgroud)

其中 <> 填充了正确的字符串,我的脚本卡在这一行而不打印任何内容,直到我执行键盘中断。

我还尝试使用 Debian 9 版本让官方 MS 驱动程序正常工作,但我无法安装这些软件包,因为msodbcsql仍然无法在curl 命令和apt-get update.

我是否缺少一些让 FreeTDS 工作的东西,或者脚本卡住是否意味着 pi 无法连接到服务器?还有其他方法可以将 pi 连接到 MSSQL 吗?

先感谢您。

python sql-server pyodbc raspbian raspberry-pi3

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

如何捕获 subprocess.call 的输出

我制作了一个脚本来告诉我 Raspberry Pi 3 的温度,但该脚本有问题。结果输出是机器人说“您的 RPI3 温度当前为 0”。我的代码有什么问题吗?

@bot.command(pass_context=True)
async def vcgencmdmeasure_temp(ctx):
    if ctx.message.author.id == "412372079242117123":
        await bot.say("OK....")
        return_code = subprocess.call("vcgencmd measure_temp", shell=True)
        await bot.say("KK done")
        await bot.say("Your RPI3 temp is currently: {}".format(return_code))
    else:
        await bot.say("Error user lacks perms(only bot owner can run this)")
Run Code Online (Sandbox Code Playgroud)

编辑:我知道想要运行任何命令。当前脚本

@bot.command(pass_context=True) 异步 def rpicmd(ctx, *args):

if ctx.message.author.id == "412372079242117123":
    mesg = ''.join(args)
    mesg = str(mesg)
    command_output = subprocess.check_output(mesg, shell=True, universal_newlines=True)
    await bot.say(command_output)
else:
    await bot.say("No noob")
Run Code Online (Sandbox Code Playgroud)

我收到错误:

raise CommandInvokeError(e) from e
discord.ext.commands.errors.CommandInvokeError: Command raised an …
Run Code Online (Sandbox Code Playgroud)

python bots python-3.x raspberry-pi3 discord.py

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

bluetoothctl 找不到我的设备,而 hcitool 如果不受信任则可以/无法找到设备

关于这篇文章

这个话题有答案吗?因为我有同样的问题,HackToHell 要求继续使用 AskUbuntu 聊天,该聊天已不再可用

实际上我可以在Bluetoothctl上找到我的设备,我信任它一次,每次都可以看到它,但现在它不受信任,我只能用btmon看到它,这很痛苦哈哈。我设置了所有设备发现过滤器,但仍然没有效果。使用 sudo hcitool lescan --duplicates 我也可以看到我的设备

那么我怎样才能把它找回来呢?

我尝试重新启动、重新启动蓝牙、重新配置蓝牙、将 hci0 重置、关闭和打开状态等,但仍然没有任何结果...并且我在文件 /lib/systemd/system/ 中有标志 -C 和 --experimental execstart=... 行后的 bluetooth.service

本杰明

bluetooth bluetooth-lowenergy raspberry-pi3 bluetoothlescanner

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

如何用C++在Raspberry Pi上通过i2c将MLX90640热像仪图像数据导入OpenCV?

我正在使用通过 i2c 连接到 Raspberry Pi 3 的Melexix MLX90640 32x24 热像仪传感器。

使用Pimoroni的代码,我可以通过帧缓冲区及其fbuf示例在屏幕上显示带有假颜色的相机数据。

由于它直接显示在帧缓冲区上,而不是视频流或相机设备上,因此我无法在OpenCV中读取它。我想使用Open CV中的视频流来统计房间里的人数,但不知道如何修改fbuf代码以输出视频。

它不需要是视频,只是 OpenCV 可以连续读取的图像流

我尝试过的

我安装了v4l2loopback以在 Pi 上创建虚拟摄像头设备,地址为/dev/video0。然后我使用Gstreamer创建 fbuf 代码将红外相机伪色数据写入的屏幕特定区域的流。这创建了一个可由 OpenCV 读取的流,但它没有更新流中的热图像数据。有时图像数据会部分显示,但可以正常显示 Pi 桌面。它也看起来不优雅且有缺陷,所以我想要一个更可靠的解决方案。

迄今为止的结果

Lepton有一个使用 v4l2loopback 中的ondemandcam示例的传感器工作示例,但这是一个不同的传感器,它使用 SPI 而不是 i2c 进行通信。

我的目标是将此代码与 Pimoroni 的帧捕获代码 fbuf 结合起来,从传感器获取稳定的视频流,以便我可以将其导入 OpenCV。

Lepton 的代码基于 v4l2loopback 中的 ondemandcam 示例。它将自己的传感器代码添加到该grab_frame()函数中。该open_vpipe()功能与 ondemandcam 示例相同。

如果我可以将 fbuf 中的帧缓冲区代码放入该grab_frame()函数中,那么我认为它会起作用。我不确定该怎么做。

fbuf 代码片段

这个 for 循环似乎是我需要放入函数中的内容grab_frame()

for(int y …
Run Code Online (Sandbox Code Playgroud)

c++ opencv i2c raspberry-pi3

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

Raspberry Pi 3 Model B:如何将字节顺序更改为 Big Endian?

我有一个 Raspberry Pi 3 Model B,我从 32 位 Raspbian 切换到 64 位 Gentoo Linux,因为我想测试一些 64 位应用程序。现在,我想测试一个以大端顺序访问数据字节的应用程序。我知道我可以通过交换字中的字节来手动完成此操作。但我的主要问题是如何在 Raspberry Pi 上将字节顺序永久更改为大端,并且可能会在所有测试完成后再次切换回小端。任何线索将不胜感激。

gentoo arm64 raspberry-pi3 armv8

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

Pytorch 从源代码构建给出错误 make: *** 没有规则来使目标“安装”。停止

我正在按照本指南在 Raspberry Pi3B 上从头开始构建 Pytorch。由于某种原因,出现错误:

Building wheel torch-1.2.0a0+f13fadd
-- Building version 1.2.0a0+f13fadd
cmake --build . --target install --config Release -- -j 4
make: *** No rule to make target 'install'.  Stop.
Run Code Online (Sandbox Code Playgroud)

当我打电话时python3 setup.py build。我正在运行 Python 3.5 版本,我不确定为什么这似乎失败了。

cmake raspberry-pi raspberry-pi3 pytorch

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

如何优化 OpenCV 中视频流的帧抓取?

我在OpenCV中遇到了帧捕获效率低的问题。

\n\n
    \n
  1. 硬件软件。

    \n\n
      \n
    • 带 HDMI 显示屏的 Raspberry Pi 3(1.2 GHz 四核 ARM)
    • \n
    • 网络摄像机:LAN 连接、RTSP、H264 编解码器、1280x720 分辨率、20 fps、1 GOP、2500 kB/s VBR 比特率(参数可更改)。
    • \n
    • 操作系统 Raspbian Stretch
    • \n
    • Python 3.5
    • \n
    • OpenCV 4.1
    • \n
    • 流媒体1.0
    • \n
  2. \n
  3. 任务。

  4. \n
\n\n

从 IP 摄像机获取视频流,识别图像并显示生成的视频(带有标记和消息)。

\n\n

重要特点:实时处理、高清分辨率(1280x720)、高帧率(>20 fps)、连续运行数小时。

\n\n
    \n
  1. 我的解决方案。
  2. \n
\n\n

一般算法:源视频流 -> 解码和帧抓取 -> 在 OpenCV 中处理帧 -> 将处理后的帧组装成视频流 -> 使用 Raspberry Pi GPU 显示视频

\n\n

OpenCV 输出/显示方法 - imshow - 即使在低分辨率视频下也不能很好地工作。唯一允许使用 Raspberry Pi GPU 解码和显示视频的库是 Gstreamer。 …

python opencv video-capture gstreamer raspberry-pi3

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

有没有办法使用在 android 上运行的 flutter 应用程序访问或控制树莓派 GPIO 引脚?

我正在尝试使用 flutter、android things 和 raspberry pi 构建一个基于 IoT 的项目。为此,我需要通过我的 flutter 应用程序访问树莓派 GPIO 引脚。

首先,我在树莓派上安装了 android things os 并将显示器连接到它。之后,我必须构建一个 flutter 应用程序并上传,它工作正常,但现在我需要控制 GPIO,所以我用 google 搜索了它,但除了可以访问树莓派 GPIO 引脚的 rpi_gpio dart 库之外什么也没找到,但显然它不起作用颤振依赖。

那么有没有办法建议我,以便我可以完成我的项目。

dart flutter raspberry-pi3 android-things

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

Docker MACVLAN 仅适用于出站

我正在尝试为我的 docker 容器设置 MACVLAN。我安装了全新的 Raspbian 和 Docker,并按照 Docker 文档中概述的步骤创建了 MACVLAN: https: //docs.docker.com/network/network-tutorial-macvlan

网络如下所示:

[
    {
        "Name": "pub_net",
        "Id": "782c49f79f549b11f04a6df98b8b2cbf52deef072e036306231309e44a1c9f3a",
        "Created": "2020-02-25T14:44:12.105402396+01:00",
        "Scope": "local",
        "Driver": "macvlan",
        "EnableIPv6": false,
        "IPAM": {
            "Driver": "default",
            "Options": {},
            "Config": [
                {
                    "Subnet": "192.168.178.0/24",
                    "Gateway": "192.168.178.1"
                }
            ]
        },
        "Internal": false,
        "Attachable": false,
        "Ingress": false,
        "ConfigFrom": {
            "Network": ""
        },
        "ConfigOnly": false,
        "Containers": {
            "682a47a60a5478d19b8c6fc923e11c949f70c5c07fe4dc8d94a772524c2820a1": {
                "Name": "IoBroker",
                "EndpointID": "5e7068dd9330792a91e1f1f023bd052d91d1fa93f50a2eb670ef8be81b61587f",
                "MacAddress": "02:42:c0:a8:b2:02",
                "IPv4Address": "192.168.178.2/24",
                "IPv6Address": ""
            }
        },
        "Options": {
            "parent": "eth0"
        },
        "Labels": {} …
Run Code Online (Sandbox Code Playgroud)

linux docker raspberry-pi3 macvlan raspbian-buster

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