『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
查看: 19008|回复: 17

[新奇玩法] 集中控制系统,支持72路输入,64路输出,自带数码管和OLED等

[复制链接]

20

主题

250

帖子

1435

积分

论坛DIY达人

积分
1435
金钱
1180
HASS币
40
发表于 2020-8-20 23:38:10 | 显示全部楼层 |阅读模式
本帖最后由 zxlch 于 2020-8-20 23:45 编辑

一、功能概述
        本模块设计目的是有线物理开关和无线MQTT来控制电源输出(或继电器)的多路集中控制系统。
它可以采集最大72路电平输入(单路5~24V、可选择内部供电或外部供电),控制64路电源输出(单路5~24v、100ma,总电流最大2A)和控制4路板载继电器(每路2组常开常闭输出)。所有输入输出采用隔离芯片,所有功能可以使用核心板上键盘控制,所有功能可以使用MQTT命令控制,所有状态和配置可以在LED和数码管上显示,所有输入输出状态和输入配置可以在OLED上显示。
功能简述:
a)支持采集72路5-24V开关量(核心板8路采集端口,其他需要叠加外置控制板)。
b)支持每路开关量选择外部电源、内部输入电源、内部输出电源。
c)支持控制64路输出5-24V电源,每路最大100ma电流(需要叠加外置控制板)。
d)支持每路输出直连给继电器供电。
e)内置4路继电器,每路两组常开常闭输出。
f)支持所有功能开关状态在主板上显示(LED形式)。
g)支持所有状态在主板上显示(数码管或OLED显示屏形式)。
h)支持所有状态发送MQTT信息。
i)支持所有设置和状态在主板上使用键盘控制或使用MQTT控制。
j)支持任意一路输入控制任意一路输出。
k)支持任意一路输入选择点触控制(输入高电平、输出高电平,再次输入高电平、输出低电平)或普通控制(输入高电平、输出高电平,输入低电平、输出低电平)。
l)支持任意一路输入单独禁用。
m)支持任意一路输入是否开启长按功能,且长按可以独立配置来控制任意一路输出。
n)支持8路批量执行功能,可以控制任意多路输出和设置。
o)支持外部扩展。
p)支持叠加最大8块外置控制板,每块控制板支持8路输入和8路输出。

二、电路布局
主控制板布局如下:
图1.jpg
(图1)
1、内置4路继电器输出接口。
2、核心供电(3.3V DC)
3、输出供电(5-24V DC 5525插座)
4、输入供电(5-24V DC 5521插座)
5、开关量电源切换跳线
6、开关量启用内部供电选择开关
7、功能按键
8、功能状态指示灯
9、功能显示数码管
10、内置8路开关量输入接口
11、外部扩展接口
12、OLED显示屏
13、刷机键
14、重启键
15、外置控制板接口
16、TTL接口

三、初次使用
在初次使用时,系统会自动进入AP模式,连接名为“SmartHome_zxlch”,即进入以下界面
图2.png
(图2)
*WiFi SSID        ->        要接连的WIFI名称
*WiFi PASS        ->        要连接的WIFI密码
*MQTT Svr        ->        MQTT服务器IP地址
*MQTT Port        ->        MQTT服务器端口
*MQTT User        ->        MQTT服务器用户名
*MQTT PASS        ->        MQTT服务器密码
*Command        ->        控制码
*控制码输入“restio”来重置所有输入输出绑定设置,即所有输入开启绑定、开启点触、禁用长按功能、开启输入控制对应输出(即1号板1号输入控制1号板1号输出) 。
*控制码输入“restall”来清空所有配置文件,即恢复出厂设置。

所有信息填写完整后点击Submie,保存输入的信息。

四、输入接口
        输入接口可以由外部5~24V直流或交流供电,采用直流供电时不必考虑正负极问题。若外部没有电源,则可以使用内部供电,内部供电可以选择使用“3输出供电”(图1中标明的编号,下同)或“4输入供电”。需要注意的是,每块电路中输入端口使用内部供电时,只能选择一种电源来源。
选择电源来源由“5开关量电源切换跳线”来切换,跳线可以选择4种模式:1、左下-“3输出供电”负级做公共端;2、左上-“3输出供电”正级做公共端;3、右下-“4输入供电”负级做公共端;4、右上-“4输入供电”正级做公共端。
每路可以选择是否使用内部供电,仅需更改“6开关量启用内部供电选择开关”状态即可,开关中标明的序号对应输入接口序号。

五、输出接口
        输出接口仅可使用“3输出供电”的供电,供电要求在5~24V电压范围内的直流电,需要注意的是,“3输出供电”和输出之前有大约0.6V的压降差,尽量使用高电压来避免因压降问题导致的供电不足。

六、扩展接口
        功能正在开发中

七、OLED显示屏接口
        显示屏在打开状态时候会显示如下信息,
图3.jpg
(图3)
最前方的数字为扩展板数量,0-7为外部扩展板,8为核心板。横线“-”后面为输入输出状态,显示为1时则表示输入高电平,显示为2时则表示输出电源,显示为3时则表示输入输出同时被激活,这些数字下面有3个像素点被点亮,由左向右分别表示启用绑定、启用长按、启用点触。最下方数字会一直增加,表示系统运行时间,单位为毫秒。

八、外置控制板接口
        可接入外置控制板用于扩展更多路数。

九、功能状态指示灯
核心板上“8功能状态指示灯”处有多达16个状态指示LED灯,其由左至右分别表示:
01--        AP开启指示灯,如果没有客户端连接的情况下,此灯慢闪。
当有客户端连接,此灯长亮,改为09~16号灯以二进制方式显示客户端数量并慢闪。
02--        WIFI和MQTT功能开启状态,慢闪为仅开启WIFI,长亮为WIFI和MQTT同时打开。
03--        WIFI和MQTT连接状态,慢闪为仅连接WIFI,长亮为WIFI和MQTT同时连接。
04--        对时服务开启状态。
05--        OLED显示屏开启状态。
06--        数码管显示屏开启状态。
07--        准备开启数码管显示屏指示。
08--        运行指示灯,慢闪表示工作
09~16-- 外置控制板连接数量(二进制表示),在AP模式下为客户端接连数量(二进制表示)。

十、数码管与按键功能
        核心板上提供了多达12个按键和4位数码管,可以控制所有功能和设置,具体操作如下:
长按菜单键(Menu)达到3秒内,功能状态指示灯LED07会亮起,继续长按共12秒后,数码管会显示Fn-0,这时就可以选择想要的功能了。按数字键即为选择对应功能,按菜单键功能序号加一,按确认键(Enter)即为确认。
Fn-0为禁用数码管显示。
Fn-1为显示时间,轮流显示运行时间(16进制表示)(小数点在第四位),年(无小数点),月日(小数点在第二位)、时分(冒号)、秒(仅显示后两位)。
图4.jpg
(图4)
Fn-2监控任意一张扩展板、任意一输入和输出的状态,需要输入板组号和脚号(其中0代表低电平,1代表高电平)。
Fn-3监控任意一张扩展板任意一输出的状态,需要输入板组号和脚号(其中0代表低电平,1代表高电平,2代表切换电平)。
Fn-4监控所有输入状态,即有输入状态变更时,会显示在数码管上。
Fn-5监控所有输出状态,即有输出状态变更时,会显示在数码管上。
Fn-6显示芯片编号,以滚动方式显示。
Fn-7重新扫描外置扩展版数量。
Fn-8读取储存的所有配置并显示由TTL输出。
Fn-9调整设置,设置功能具体操作如下:
        Fn90设置网络相关数码管第一位表示是否重启.
                 数码管第二位表示下次启动时是否开启AP模式
                 数码管第三位表示是否开启Wifi连接网络
                 数码管第四位表示是否开启MQTT无线网络控制。
        Fn91设置Oled状态数码管有三位显示其不同的功能
                 数码管第一位表示OLED显示是否启用(由按键0、1控制关、开)。
                 数码管第二位表示OLED显示方向(2、3控制反向、正向显示)。
                 数码管第三位表示OLED显示亮度(4~9控制0~5级亮度)
        Fn92设置数码管亮度,按键0~7表示8级亮度
        Fn93设置时间,时间设置将在数码管上以不同页面显示,由确认键进行切换,除第一页NTP对时状态外,其他页面在所有页面输入完毕后进行时间更改。页面表示如下:
第一页输入是否开启NTP功能(由按键0、1控制关、开),第二页输入年,第三页输入月日,第四页输入时分,第五页输入秒。
        Fn94设置绑定状态(输入是否控制输出),需要输入板组号和脚号(其中0代表关,1代表开,2代表切换)。
        Fn95设置点触状态(输入由高电平切换为低电平时候,对应的输出是否锁定为高电平,待下次输入为高电平是,输出再切换为低电平)。
        Fn96设置长按模式状态(任意一个输入开启长按后,可以设置长按2秒后控制不同的输出)。注意,如果没有长按需求,需禁止此选项来提高操作质量。
        Fn67设置任一输入对应任一输出,数码管四位分别表示输入的板组号、输入的板脚号、输出的板组号、输出的板脚号,若选择的输出组脚号实际不存在,则输入控制的输出被标记成空。
        Fn98设置任一长按输入对应任一输出,描述同上。
        Fn99进入测试状态,进入测试状态将会关闭所有输出,然后循环开关每一个存在的输出组脚,按菜单按键退出测试模式。
        
十一、MQTT无线控制功能
        控制命令将由简短的代码和合理的规则去操作,规则如下:第一个字母表示控制类型,第二个字母表示操作类型,第三个字母必须为“.”(半角点),其他将在不同控制类型里表示不同意思,所有英文字母不分大小写,主题分为下列类型:
        原始主题:zxlch/SmartHome,连接MQTT后会向原始主题发送根主题名
        根主题:zxlch/SmartHome/XXXX,X表示芯片编号
        命令主题:zxlch/SmartHome/XXXX/Command,所有的控制命令发送至此
        子主题:以下为不同类型子主题位置
输入子主题:zxlch/SmartHome/XXXX/InputMMNN,MN分别表示组脚号
输出子主题:zxlch/SmartHome/XXXX/OutputMMNN,MN分别表示组脚号
批量执行子主题:zxlch/SmartHome/XXXX/ScriptMM,M表示批量执行编号
命令主题接受的命令含义如下:
Oh.xy打开输出--子主题返回H(x=板,y=脚)(x=9时为批量执行)
Ol.xy关闭输出--子主题返回L(x=板,y=脚)(x=9时为批量执行)
Os.xy切换输出--子主题返回L|H(x=板,y=脚)(x=9时为批量执行)
Oa.xzzz...写入板状态--子主题返回L|H(x=板,z=1、0、2、x)(x=9时为批量执行)
Or.xy读取单输出--子主题返回L|H(x=板,y=脚)(x=9时为批量执行)
Ou.x读取板输出--子主题返回L|H(x=板)(x=9时为批量执行)
Oo.x读取板输出--根主题返回Ox.L|H...(x=板)(x=9时为批量执行)
Ir.xy读取单输入--子主题返回O|I(x=板,y=脚)
Iu.x读取板输入--子主题返回O|I(x=板)
Io.x读取板输入--根主题返回Ix.O|I...(x=板) (用都命令读取的是内存数据)
Bw.xzzz...写绑定状态--根主题返回Bx.0|1...(x=板,z=1、0、2、x)(用写命令读取的是EEPROM数据)
Br.x读取绑定状态--根主题返回Bx.0|1...(x=板) (用都命令读取的是内存数据)
Tw.xzzz...写点触状态--返回Tx.0|1...(x=板,1、0、2、x)(用写命令读取的是EEPROM数据)
Tr.x读取点触状态--根主题返回Tx.0|1...(x=板) (用都命令读取的是内存数据)
Lw.xzzz...写长按模式状态--返回Lx.0|1...(x=板,1、0、2、x)(用写命令读取的是EEPROM数据)
Lr.x读取长按模式状态--根主题返回Lx.0|1...(x=板) (用都命令读取的是内存数据)
Cw.xymn写入输入控制输出--根主题返回Cxy.mn(x=板,y=组,m=被控板,n=被控组)(m=9时为批量执行)
Cr.xy读取输入控制输出--根主题返回Cxy.mn(x=板,y=组)
Pw.xymn写入长按输入控制输出--根主题返回Pxy.mn.L(x=板,y=组,m=被控板,n=被控组)(m=9时为批量执行)
Pr.xy读取长按输入控制输出--根主题返回Pxy.mn.L(x=板,y=组)
Nr.读取外置板数量--根主题返回Nx(x=板数量)
Nw.重扫外置板数量--根主题返回Nx(x=板数量)
ZK.01-12发送数码管按钮(10表示菜单,11表示0,12表示确认)
ZR.xx重启设备(xx=重启延时时间,最大60(秒))

十二、批量执行功能
        固件支持8组批量执行功能,每组批量执行支持动作和释放两种状态(即类似于开与关),其中第8组批量执行固定为动作时全开所有外置板输出,释放时关闭所有外置板输出,另外7组每个状态支持128条控制命令。注意,因批量执行的特殊性,只能在硬件启用时长按确认键连接AP后进行设置。批量执行将可以操作下列功能:操作任一输出的开、关、切换输出电平状态、绑定模式、点触模式、长按模式,也可以控制MQTT模式的开启、关闭、切换(禁用MQTT后,此输出的MQTT控制将被无效化)。


回复

使用道具 举报

20

主题

250

帖子

1435

积分

论坛DIY达人

积分
1435
金钱
1180
HASS币
40
 楼主| 发表于 2020-8-20 23:50:23 | 显示全部楼层
准备在嘉立创打板,但是开工费就是100,现在核算硬件成本大概在500左右,如果需要的人多,大家一起打板子,可以节约不少钱。有需要的可以相互交流!!
无标题.jpg
回复

使用道具 举报

12

主题

145

帖子

1183

积分

金牌会员

Rank: 6Rank: 6

积分
1183
金钱
1038
HASS币
0
发表于 2020-8-21 00:19:16 | 显示全部楼层
支持支持,开发幸苦了
回复

使用道具 举报

9

主题

527

帖子

2350

积分

金牌会员

Rank: 6Rank: 6

积分
2350
金钱
1823
HASS币
0
发表于 2020-8-21 09:07:04 | 显示全部楼层
终于找到你~!@#
膜拜
回复

使用道具 举报

0

主题

177

帖子

1100

积分

金牌会员

Rank: 6Rank: 6

积分
1100
金钱
923
HASS币
0
发表于 2020-8-21 11:42:02 | 显示全部楼层
大佬.......
回复

使用道具 举报

38

主题

405

帖子

4324

积分

元老级技术达人

积分
4324
金钱
3864
HASS币
250
发表于 2020-8-21 11:52:58 | 显示全部楼层
这个可以有
回复

使用道具 举报

70

主题

596

帖子

3409

积分

论坛元老

Rank: 8Rank: 8

积分
3409
金钱
2813
HASS币
0
发表于 2020-8-21 14:05:28 | 显示全部楼层
超来超牛B。
回复

使用道具 举报

18

主题

352

帖子

2237

积分

金牌会员

North丶

Rank: 6Rank: 6

积分
2237
金钱
1880
HASS币
0

活跃会员卓越贡献

发表于 2020-8-21 23:11:52 | 显示全部楼层
厉害了!但是家里不是工厂,集中≠优点。其一,各设备各自工作,以免一窝端。其二,即使一个成品独立开关卖200元,也比集中式+算上布线成本划算。
回复

使用道具 举报

20

主题

250

帖子

1435

积分

论坛DIY达人

积分
1435
金钱
1180
HASS币
40
 楼主| 发表于 2020-8-22 09:31:37 来自手机 | 显示全部楼层
raspberry0316 发表于 2020-8-21 23:11
厉害了!但是家里不是工厂,集中≠优点。其一,各设备各自工作,以免一窝端。其二,即使一个成品独立开关卖 ...

这是64路,一个开关200你算算64路是多少钱。集中控制功耗低,方便维护,跟分布式比起来的缺点就是布线要求太高,一般人搞不定。
回复

使用道具 举报

6

主题

352

帖子

1333

积分

金牌会员

Rank: 6Rank: 6

积分
1333
金钱
981
HASS币
0
发表于 2020-8-27 14:24:45 | 显示全部楼层
我觉得用总线方式最好,一根线走遍全屋!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-25 13:17 , Processed in 0.158680 second(s), 35 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表