树莓派通过RF443MHz收发控制家庭灯

news/2024/11/30 2:33:19/

背景:家中随意贴开关损坏(一种通过443MHz控制的远程开关),且关灯后到卧室需要摸黑,萌生了搞远程控制灯的想法,因为有吃灰的树莓派,所以考虑了最低成本的方案,只需购买价值几元钱的443MHz收发模块即可。

一、树莓派-443MHz接线 参考了

https://blog.csdn.net/qq_41071754/article/details/115490550

二、 使用开源的项目测试

git clone https://github.com/mrpjevans/rfchat.git

三、运行接收程序,测试随意贴开关发送的数据,随意贴开关必须紧挨着443MHz的接收模块,没有焊接天线的接收模块,仅能接收几厘米距离的数据。

python receive.py

接收到receive: xxxxxxxx [pulselength 288, protocol 1] ,8位数字

四、运行发送程序,模拟随意贴开关发送的数据,发现可以控制灯的开关

python send.py xxxxxxxx -p 288 -t 1

五、使用Flask快速构建一个Web服务,参考Flask 环境_w3cschool
 

安装好Flask后,新建一个Hello.py文件,代码如下,然后python Hello.py即可。

此时已经可以通过访问 http://ip:5000/hello/cesuo 来开关厕所的灯了。

import os
from flask import Flaskapp = Flask(__name__)@app.route('/hello/<name>')
def hello_name(name):if name == "cesuo":os.system('python send.py xxxxxxxx -p 288 -t 1')if name == "xuanguan":os.system('python send.py xxxxxxxx -p 288 -t 1')if name == "chufang":os.system('python send.py xxxxxxxx -p 288 -t 1')if name == "ciwo":os.system('python send.py xxxxxxxx -p 288 -t 1')return '按下 %s!' % nameif __name__ == '__main__':app.run(host='0.0.0.0',port=5000,debug = True)

六、自己写网页搞几个按钮操作可以在第五步结束,也可以选择集成到Home Assistant中,参考树莓派HomeAssistant通过按钮调用远程服务_Hi3号的博客-CSDN博客,在shell_commands.yaml中调用站点的开关灯服务。


http://www.ppmy.cn/news/3277.html

相关文章

社群私域流量的用户消费路径是什么

针对于用户运营&#xff0c;现在的企业是比较纠结的&#xff0c;企业主要纠结的对象就是应该采用什么方式来进行用户运营&#xff0c;只有将用户运营做好&#xff0c;那么企业才能够达成自己的目的&#xff0c;一般针对于用户运营&#xff0c;基于当前的市场环境&#xff0c;企…

win10下CH340模块下载stc89c52程序

没想到读研究生了还有水课需要用上51单片机&#xff0c;本科的时候一直是用开发板烧录程序的&#xff0c;这次舍不得花钱买开发板只能瞎折腾了。 准备材料 1.ch340转接板&#xff0c;最普通的那种3~5块钱 2.买的是一个焊接好的小单片机系统 &#xff08;BB一句&#xff0c;这…

JUnit 测试框架

JUnit注解test 注解BeforeEach 注解BeforeAll AfterEachAfterAll断言assertEqualsassertNotEqualsassertTrue用例执行顺序测试套件指定类&#xff0c;添加到套件中并执行一次添加一个包的类参数化单参数多参数借助文件动态参数注解 test 注解 通过对方法加上 test 注解&#…

list模拟实现

文章目录list的介绍list和vector的对比**list和vector对于排序算法速度的比较****list和vector对于迭代器的比较****list的模拟实现****框架****节点****迭代器****普通迭代器-普通写法****const 迭代器-普通写法****迭代器-高级写法****链表结构****关于节点的析构****关于迭代…

12.13

AJAX 视频 1-11 1.1 AJAX 简介 AJAX 全称为 Asynchronous JavaScript And XML&#xff0c;就是异步的 JS 和 XML。 通过 AJAX 可以在浏览器中向服务器发送异步请求&#xff0c;最大的优势&#xff1a;无刷新获取数据。 AJAX 不是新的编程语言&#xff0c;而是一种将现有…

通过数据分析提升客流量和销售额

只有把每一位来光临的顾客都当作最后一位顾客&#xff0c;我们才可能真正实现营销和服务管理的精细化&#xff0c;正如只有把自己的每一天都当作生命的最后一天来对待的人才可能真正珍惜时间和生命一样。 如何提高门店的销售额可以说是大部分店长都十分困惑的问题&#xff0c;…

Sklearn机器学习与Plotly可视化强强联合

在学习sklearn(机器学习)过程中&#xff0c;模型原理可谓是枯燥无味&#xff0c;加上大多数模型训练过程也是不可见的&#xff0c;这使得很多小伙伴们望而却步&#xff0c;当然也有很多学者试图通过各种方式以可视化模型学习及预测过程&#xff0c;但大多数是复杂且不美观的。 …

解决visual studio对不安全函数的警告

解决visual studio 对scanf &#xff0c;strcpy&#xff0c;strcmp等函数的不安全警告报错 可以看到&#xff0c;编译器对scanf进行了报错&#xff0c;原因是说它不安全 编译器自己给了一种解决方案&#xff1a; 使用vs自带的 scanf_s&#xff0c;但是用这个函数&#xff0c;仅…