如何使用树莓派控制RF开关

电子说

1.2w人已加入

描述

步骤1:将433mhz射频发射机连接到Raspberry Pi

RF开关

在我的代码中,我们使用GPIO 24 ,因此将其连接到24或将代码更改为22。

步骤2:获取Python代码

https://github.com/midorineko/rpi_automation/blob/。..

这是我用于家庭自动化的livolo传输代码。它具有“关闭”功能,所有livolo灯均关闭,而另一个频率“打开”,实际上是电灯开关。

但是,在代码注释中,我提供了许多其他可能的频率,这些频率可以全部保存为变量,并在需要时使用。

如果我更改文件名或位置,则内容在下面。

导入时间

import sys import RPi.GPIO作为GPIO

off =如果sys.argv [1:] ==‘off’:NUM_ATTEMPTS = 1000 else:NUM_ATTEMPTS = 200

TRANSMIT_PIN = 24

def send_code(code):‘’‘使用GPIO发送器发送选定的代码字符串’‘’GPIO.setmode(GPIO.BCM)GPIO.setup(TRANSMIT_PIN,GPIO.OUT)在范围t(NUM_ATTEMPTS)中:对于代码中的i:如果i ==‘1’:GPIO.output(TRANSMIT_PIN,1)time.sleep(.00055); GPIO.output(TRANSMIT_PIN,0)elif i ==‘2’:GPIO.output(TRANSMIT_PIN,0)time.sleep(.00011); GPIO.output(TRANSMIT_PIN,1)elif i ==‘3’:GPIO.output(TRANSMIT_PIN,0)time.sleep(.000303); GPIO.output(TRANSMIT_PIN,1)elif i ==‘4’:GPIO.output(TRANSMIT_PIN,1)time.sleep(.00011); GPIO.output(TRANSMIT_PIN,0)elif i ==‘5’:GPIO.output(TRANSMIT_PIN,1)time.sleep(.00029); GPIO.output(TRANSMIT_PIN,0)否则:继续GPIO.output(TRANSMIT_PIN,0)GPIO.cleanup()

如果__name__ ==‘__main__’:用于sys.argv [1:]中的参数: exec(‘transmit_code(’+ str(argument)+‘)’)

#使用方法::我将其放在此处,因为似乎很少有人知道livolo开关。 #按住livolo灯光开关5秒钟,然后等待哔声。 #运行```python livolo.py on```#Livolo灯开关应再次发出蜂鸣声,表示已配对#现在运行```python livolo.py on`‘’将切换开关。 #```python livolo.py off```对所有交换机都是全局的,应该是开箱即用的。

#以下几行是交换机可以学习的可能的RF代码。 #只需将它们设置为字符串,然后将其保存到类似于“ on”或“ off”的变量即可。 #我只有1个开关,因此不需要多个RF频率。 #1,2,4,2,4,2,4,3,5,2,4,2,4,3,4,2,4,2,2,4,2,4,2,4,2,4 ,2,4,2,4,2,4,2,2,4,4,2,4,2,4,2,4,2,4,2#1,2,4,2,4,2 ,4、3、5、2、4、2、4、3、4、2、4、2、4、2、4、2、4、2、4、2、4、2、4、2、5 ,3,4,2,4,2,2,4,2,2,4,4,2#1,2,4,2,4,2,4,4,3,5,2,4,2,4,3 ,4、2、4、2、4、2、4、2、4、2、4、2、4、2、4、2、5、3、5、3、4、2、4、2、4 ,2#1,2,4,2,2,4,2,4,3,5,2,4,2,4,3,4,2,4,2,2,4,4,2,2,4,2 ,4、2、4、2、4、2、4、2、4、2、5、3、4、2、4、2、4、2#1、2、4、2、4、2、4 ,3、5、2、4、2、4、3、4、2、4、2、4、2、4、2、4、2、4、2、4、2、4、2、5、2 ,4,3,4,2,4,4,2,2,4,4,2#1,2,4,2,4,2,4,4,3,5,2,4,2,4,3,4 ,2、4、2、4、2、4、2、4、2、4、2、4、2、4、2、4、2、5、3、4、2、4、2、4、2 ,4、2#1、2、4、2、4、2、4、3、5、2、4、2、4、3、4、2、4、2、4、2、4、2、4 ,2,4,2,4,2,4,2,5,5,4,4,2,5,3,4,2,4,2#1,2,4,2,4,2,4,4,3 ,5、2、4、2、4、3、4、2、4、2、4、2、4、2、4、2、4、2、2、4、2、4、2、4、2、4 ,2,4,2,5,3,4 ,2,4,2#1,2,4,2,4,2,4,3,5,2,4,2,4,4,3,4,2,4,4,4,2,4,4,2 ,4,2,4,2,4,2,4,2,5,5,2,4,2,4,3,4,2,4,2,4,4,2#1,2,4,2,4 ,2、4、3、5、2、4、2、4、3、4、2、4、2、4、2、4、2、4、2、4、2、4、2、4、2 ,4、2、5、2、4、3、4、2、4、2、4、2

第3步:示教开关

现在使用python脚本,您应该可以通过运行安全地关闭所有livolo灯。

```python livolo.py off`‘’

为了使开关拨动正常工作,我们需要教给开关我们的RF代码之一,在这种情况下为“ on”。

1)按住livolo帮手约5秒钟,您会听到哔哔声。

2)输入```python livolo.py on`‘’

3 )听到第二声哔哔声

4)如果听到哔哔声,请运行“ python livolo.py on”以切换开关。否则,请重复步骤1-3。

步骤4:切换Livolo开关

取决于发射机的功率以及与livolo开关的距离可能必须增加或减少代码中的尝试次数。

不幸的是,Livolo仅支持TOGGLE功能和所有OFF功能,不支持单个ON功能。

警告:由于我们向拨动开关发送了200次代码,因此必然会双击灯。但是,Livolo实际的遥控器使用了类似的cr脚模式。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分