最好的电子音响科技diy制作网站

haoDIY_音响电子电脑科技DIY小制作发明

床垫加热器自动控制中心

时间:2017-05-23 20:58来源:未知 作者:admin 点击:
我们在国内有3床垫电加热器。 每一个开启/关闭的瞬时按钮。 它以~ 30分钟热身,我们总是忘了把他们的时间。 定时插座不工作,只有按下按钮打开或关闭加热器。 我想出了以下的设计允许自动切换和手动控制在所要求的时间。 一般这种系统可以用于各种家居设备的
床垫加热器自动控制中心

我们在国内有3床垫电加热器。每一个开启/关闭的瞬时按钮。它以~ 30分钟热身,我们总是忘了把他们的时间。定时插座不工作,只有按下按钮打开或关闭加热器。

我想出了以下的设计允许自动切换和手动控制在所要求的时间。一般这种系统可以用于各种家居设备的远程控制开启/关闭的切换或瞬时开关。用户界面是一个简单的Web服务器实现。这当然是一个创新的车轮,但我只是用这个借口来鼓捣RaspberryPi,Arduino和无线通信模块:)

步骤1:控制中心部分

床垫加热器自动控制中心
 

步骤2:为每个接收部分

床垫加热器自动控制中心
 

步骤3:连接nRF24L01 RaspberryPi

床垫加热器自动控制中心

服务器运行在RaspberryPi作为中心控制的几种基于Arduino的边缘设备,其中每一个驱动一个或多个开关。

我选择在树莓侧更强大的nRF24L01 + PA +低噪声放大器的收发信机由于其大范围。树莓3.3v PWR引脚没有问题提供足够的电流。焊料10uF电容直接VCC和GND引脚之间的nRF24L01减少电源故障。

然后用7女女跳线连接收发器与拉斯伯里根据以上接线图

你需要使你nrf24 SPI树莓和安装Python库。
这是一个优秀的教程Alexander Baran Harper解释如何去做
这是一个伟大的文件解释一般RF24L01模块

步骤4:安装接收器(又名边缘设备)

床垫加热器自动控制中心

我选择了Arduino纳米很便宜,3.3V输出引脚提供nRF24L01。顺便说一句,不要将nRF24L01为5V!

每个设备的硬件实现是一样的。其独特的ID将被设置在编程。你可以尽可能多的边缘设备,你需要。

床垫加热器控制只有两Arduino数字引脚进行

引脚2驱动光耦,它本质上是一个小型继电器。当引脚2为高,光耦短路输出引脚,从而像一个瞬时按钮开关。

引脚3连接到LED,用于无线连接的调试。

设计是非常通用的,你可以很容易地修改系统使用其他数字引脚附加外部开关控制。伪PCB布局可以帮助你定位组件更紧密地在线路板上,然后将它们连接线。如果有人愿意开发这个图就好了一个真正的PCB。

步骤5:编程设备

床垫加热器自动控制中心

1下载的所有文件。

git clonehttp:/ / GitHub。COM / bennywinefeld /家庭自动化。G。

在根目录下有规划的RaspberryPi所需要的文件
switchcontroller.py -主要的Python程序实现控制中心
radiocomm.py–低水平程序发送/接收数据包通过nRF24L01
lib_nrf24.py - nRF24L01的免费图书馆,我贴出来方便

在arduinoedgedevice目录,你会发现:
arduinoedgedevice.ino C代码实现
edgedevicearduinonano.fzz–示意图的边缘设备在Fritzing格式

2。程序Arduinos

每一个Arduino必须有唯一的ID,打开arduinoedgedevice.ino设置为前

#定义board_id 0x02

在上传此代码Arduino电路板将ID = 2。当你打开电源板将闪烁2次–容易找到ID.

测试无线通信之间的拉斯伯里和Arduino的工作运行的底层通信模块直接从覆盆子Unix shell,不启动GUI枢纽:<strong>Python radiocomm.py 2</strong>

这将发送100包ID = 2,得到100回Arduino。每个包包括5个字节。例如下面的包是用board_id = = 2来设置输出引脚3 Arduino的指令(一个连接到LED)1:

0x1 0x2 0xa4 0x3 0x1

预期的回复是0x2 0x1 0xa4 0x3 0x1-即同一数据包的发送者和接收者字节换位。随着测试的进展你应该看到LED开关和Python代码打印信息如

传输95 / 100
发送MSG 0x1 0x2 0xa4 0x3 0x1,尝试1 / 15
有响应0x2 0x1 0xa4 0x3 0x1 0.04秒
消息发送成功

100 / 100良好的传输,尝试= 1.04的平均数

开始你的收发器测试彼此靠近。最大射程取决于房子。

三.拉斯伯里中心项目

如果测试通信经历了好,你可以启动服务器。

首先打开SwitchController.py和修改创建对象和边缘设备的部分,例如

myhub。addedgedevice(edgedevice(2,“Yasha的床垫加热器”、\
[ [ 2,pintypes.momentary_switch,“21:30”、“22:00”],\
【3,PinTypes。toggle_switch,“---”、“---”] ] \
))

这将创建ID = 2 Arduino边缘设备通信的一个对象。数字2引脚,连接到光电耦合器被声明为瞬时开关。即切换的物理设备(如床垫加热器)连接到它,我们应该把一个序列0-1-0。21:30是自动的开启时间和关闭时间22:00–。

运行<strong>Python switchcontroller.py</strong>启动Web服务器。

这是一个赶上我们不能把阅读的加热器的实际状态。每当树莓服务器发送0-1-0序列引脚2假设加热器状态翻转。即是,现在关闭,反之亦然。发送信号后,服务器还记得加热器的新状态。但如果你按下加热按钮手动,拉斯伯里知道任何关于这个事件不更新状态。因此,从这一点上它会做所需的–即相反会使加热器在21:30,22:30

而检测加热器的真实状态并将它发送回服务器这是很有可能的,这就需要调整自己的加热器电路,这是从模型到模型非常不同。

步骤6:将热水器的瞬时开关按钮接触

现在是时候边缘连接装置的加热器。打开热水器控制盒和定位的开/关按钮。在大多数模型中它的样子这一个

焊料两10-20cm长线对角反对任何对细针。另一端连接两女脚头。他们将连接Arduino公头。极性不重要。

步骤7:通过Web界面访问控制中心

床垫加热器自动控制中心

我丑陋的图形表示道歉,我非常糟糕的网站开发人员:)

浏览您的Web浏览器<主机>:8090。我安装我的覆盆子的桑巴,所以路由器可以解析主机名。否则,你可以简单地输入其IP地址(使用sudo ifconfig命令显示)

GUI将告诉你所有边缘设备的状态。再次–引脚2是一个连接到光电耦合器。引脚3是打开LED


(责任编辑:admin)
织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
相关文章
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片