|
几年前就开始想玩一下智能家居的制作,但不想上云,打算是自建服务系统。由于水平有限,一直没有什么进度,上半年无意中在视频网站看到别人用ESP8266配合开源智能家居服务系统编写智能开关的过程视频,受到触发,就开始研究开源的智能家居DOMOTICZ系统及开源的MQTT服务系统,并在2个月前安装好这个系统,测试系统的稳定性。买些智能开关的电子垃圾拆解,拆解在这https://www.mydigit.cn/thread-462210-1-1.html,并开始制作ESP8266开关,由于心烦,所以一直没什么进度,上个星期才正式开始并完成编写,并对这个开关测试。测试2天没什么问题就发这贴。
这制作主要是用手头有原拆三路触摸开关机外壳,且空间够,所以就以这个制作作为练手。本制作主控采用ESP8266,触摸采用BS814A,驱动采用ULN2003,继电器用通用小型,没使用磁保持型双线圈继电器,市电输入需零火,找单火线的资料发现过于复杂,且电源功率小,本制作空间也过小,以本人的水平下没办法实现,所以采用零火双线方式,使用Hi-Link的电源模块供电。这个电路也可以不用触摸集成,可改为用实体开关控制。
以下为PCB,由于PCB不大,所以加了些方便制作电路(这电路制作时发现画错,没用)。
外壳是用原拆机的开关,它内部空间够用。
以下为制作过程图片,先用实验板进行测试。
壳背面的文字用笔改了一下。
以下为制作完成测试图片。
由于DOMOTICZ的安卓手机APP在小米的手机及平板安装后都不能用,所以只能用网页浏览方式。
以下为如何制作说明
本制作是需与DOMOTICZ服务器互通,且是采用MQTT通信协议的,通过MQTT服务器中转到DOMOTICZ服务器上,实现互联控制,所以需有对应的服务器。DOMOTICZ服务器MQTT客户端设置是默认的,如修改默认数据时,需在程序中修改对应的数据。硬件也可以不连接服务器也能工作。
以下为本制作的电路图,主控采用ESP8266,触摸采用BS814A,驱动采用ULN2003,电源用Hi-Link的电源模块。
程序是用Arduino编写的,参考Arduino里面的案例及网上各位大侠的程序,写得比较乱,能用。由于不会导出BIN文件,所以需在Arduino程序写入ESP8266。
Arduino除了安装好ESP8266的插件,还需安装PubSubClient库及ArduinoJson库,
由于PubSubClient它的8266案例的接收数据限制在256字节,DOMOTICZ它发送的数据大于256,所以需找到对应的h文件,并修改这个值为384。
然后把程序写入ESP8266,短接H4后上电,进入网页配置开关的参数。就会出现一个ESP8266_CONFIG的网络,点击连接入去,没密码的。
然后用浏览器输入192.168.4.1,在以下界面输入ESP8266需连接的WIFI的参数、MQtt服务器的IP及各开关在DOMOTICZ的IDX的值,这些参数不能乱输入,系统没有对数据进行错误处理的,所以要需入正确的参数。
保存后,就会在串口发送出保存好的设置参数。
然后,再断开H4,重启电源,就可以工作了,指示灯亮0.5S灭1.5S就表示工作正常,如亮0.5S灭0.5S表示没连接到WIFi或MQtt,硬件可工作,但不能网络控制。
由于本人没找到DOMOTICZ虚拟硬件如何设置心跳程序,所以会有硬件离线后,MOTOTICZ不会显示的硬件离线的情况。本制作可以不连接WIFI及MQTT也能工作,在连接网断线后也能工作,只是缺网控功能。
智能家居制作实操篇之DOMOTICZ及MQTT服务系统安装:https://www.mydigit.cn/thread-468588-1-1.html
以下为本制作的电路图及程序的压缩包(电路图是导出Altium Designer格式,Gerber那个是PCB打样文件。)。程序是参考网上及案例修改的。写完测试时间不长,程序可能有BUG,由于它是用于练手的,并没打算投入使用,如各位发现有BUG的情况,可以在本贴说一下,我如有空就改一下。我的下个4路智能开关及卫生间热水器控制插座制作才是投入使用的,但由于是针对本人实际的制作,所以不打算公开程序的。
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
打赏
-
查看全部打赏
|