gpt4 book ai didi

python - Raspberry PI 上 Python 中的 433MHz 发送器和接收器

转载 作者:太空宇宙 更新时间:2023-11-04 03:54:38 25 4
gpt4 key购买 nike

有什么方法可以在 Python 线程中获得工作的 433MHz 发送器或接收器?

我已经尝试过 Ninjablocks 的那些和 Adafruit 的那些。但问题是这些都是 c 或 c++ 脚本,输出到 stdout 并且没有输出结束。我还尝试通过 Unix-FIFO 传输它们,但在我关闭程序 (Ctrl + C) 之前没有数据传输 第二个问题是,完成的程序无法识别我的 ninjablocks 433MHz 温度传感器,这是其中之一系统最重要的部分。

433 MHz 发送器/接收器连接到我的 Raspberry PI(B 版,Rev 2.0)的 GPIO

我的目标是让几个 433 MHz 传感器(以及一些通过 i2c 或 spi 连接的传感器已经在工作)与 python 脚本一起工作,该脚本计算一些规则(例如,当在客厅和日落之间检测到运动时和日出,打开灯;当温度降至 20°C 以下时打开加热等)

我写了一个小程序:

import RPi.GPIO as io
data = [] * 10000
while not interrupted:
data.append(io.input(rxPin))
io.wait_for_edge(rxPin, io.BOTH

我预计该代码会输出类似 1010101010101 的内容,因为每个边都被识别了。我的下一步是测量边缘之间的时间,并根据该时间决定它是短 1/0 还是长 1/0(433MHz 似乎编码为短 1 长 = = 1 长 1 短0 = 0 或反之亦然)但输出类似于:0110011001000000010110010 等。所以我认为 python 线程缺少一些 1 和 0。

有没有人想在我的程序中获得无线输入?

最佳答案

如果您正在运行 python,我猜您是在 Raspberry Pi 上使用某种 linux,对吗?Linux 不是实时操作系统,这意味着您的 python 循环不会一直运行并且可以跳过一些 GPIO 数据。您可以使用像 Chibios 这样的实时操作系统来解决它。或使用内核模块停止所有中断并对 GPIO 连续采样,如 Panalyzer 中所示项目。

关于python - Raspberry PI 上 Python 中的 433MHz 发送器和接收器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19531550/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com