完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我正在尝试使用 ESP8266 通过 433MHz 向我的 PI 发送数据,但我有一个相当基本的问题......
在 PI 上,如果收到数据,我正在检查“sudo rtl_433 -F json”。 我使用的示例来自: rf.send("elro_800_switch", "{\"systemcode\":17,\"单位代码\":1,\"on\":1}"); rf.send("elro_800_switch", "{\"systemcode\":17,\"unitcode\":1,\"off\":1}"); 但是在 PI 上我只得到这样的数据: {"time" : "2021-05-27 22:41:32", "model" : "Waveman-Switch", "id" : "O", " {“time”:“2021-05-27 22:41:32”,“model”:“Waveman-Switch”,“id”:“O”,“channel”:4,“button”:1,“state” " : "off"} 所以我试图发送的数据通过 rtl_433 不可见 任何线索我做错了什么? |
|
相关推荐
1个回答
|
|
不知道如何处理收到的数据。我应该使用哪个 python 库来处理收到的数据?
您可以使用 Python 的 Socket 库来处理收到的数据。您需要编写一个接收程序,在接收程序中创建一个 Socket 并监听 433MHz 频段。一旦接收到数据,您可以将其解析并进行处理。以下是一个简单的示例代码,可以让您开始编写接收程序: import socket import json HOST = '' # 监听所有网络接口 PORT = 8888 # 任何未被使用的端口 # 创建套接字并监听 s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.bind((HOST, PORT)) s.listen(1) # 只允许一个连接 # 等待客户端连接 conn, addr = s.accept() print('Connected by', addr) # 处理收到的数据 while True: data = conn.recv(1024) # 接收 1024 字节的数据 if not data: break # 解析收到的数据 try: decoded_data = json.loads(data) # 在此处进行进一步的处理 except ValueError: # 数据似乎不是有效的 JSON 数据,忽略之 pass # 清理并关闭连接 conn.close() s.close() 请注意,此示例仅提供了一个框架,需要根据您的需求进行修改。您需要调整代码来适应您的硬件配置,并相应地解析和处理收到的数据。 |
|
|
|
只有小组成员才能发言,加入小组>>
282浏览 6评论
231浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
234浏览 5评论
229浏览 4评论
214浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-5-9 15:21 , Processed in 0.828479 second(s), Total 79, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号