大爱ESP8266,功耗低,支持ESPhome编程写入固件,接入Home Assistant非常方便
有朋友说需要一个多IO的控制器
有空就搞了一个,电源采用的是工业标准24V,用的MP4462芯片耐压到36V!
用的ESP07S 模块,外接天线,保证信号强度!
输出用的是工业IDC牛角座,输出定义抄三菱PLC的,排线接继电器模组非常便捷。
考滤到如果没有接继电器模组,这个控制器没有存在的意义,所以将输出和电源输入做在一齐了
输入用的是网线RJ45标准,一根网线接四个输入,四根网线刚好16个输入
电源来自自带的24V,确保电源功率足够的话,可以接入有源感应器,
PNP型24V的,24V接黄白,绿白。 GND接蓝白,棕白。输出接对应的色线
还可以接入无源的开关,就是说可以接普通的86型开关哦!
黄白,绿白跟对应的色线短接为通电
实物如图:
、
输入RJ45针脚定义
四根网线的花色线都是一样的,
黄白,绿白 24V
蓝白,棕白 GND
四根网线的色线从上到下就是X0,X1,X2。。。。。到X17
具体如下
黄线 第一根是X0,第二根是X4,第三根X10,第四根X14
绿线 分别是X1,X5,X11,X15
蓝线 分别是X2,X6,X12,X16
棕线 分别是X3,X7,X13,X17
输出针脚定义图
上源码
substitutions:
device_name: esp86yx16 #设备名称
friendly_name: esp86yx16
esphome:
name: esp86yx16
esp8266:
board: esp01_1m
#external_components:
# - source: my_components
# Enable logging
logger:
# Enable Home Assistant API
api:
encryption:
key: "q0twOtfQ/o+t4wCFVzquXSCCdjLOgiZyi5uRrBmZhEw="
reboot_timeout: 0s
ota:
password: "6650d2896e8b0597519892316e798985"
wifi:
ssid: AP530-2.4G
password: zzc198456
manual_ip:
static_ip: 192.168.0.112 ##固定此设备IP地址为192.168.1.100;
gateway: 192.168.0.1 ##路由器、网关地址;
subnet: 255.255.255.0 ##子网掩码;
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: '${friendly_name}_wifi '
password: "RRCy9cAcDh8G"
captive_portal:
sn74hc595:
- id: 'sn74hc595_hub'
data_pin: 14
clock_pin: 15
latch_pin: 0
sr_count: 2
# Individual outputs
switch:
- platform: gpio
name: "${friendly_name}_Y17"
pin:
sn74hc595: sn74hc595_hub
# Use pin number 0
number: 0
- platform: gpio
name: "${friendly_name}_Y06"
pin:
sn74hc595: sn74hc595_hub
# Use pin number 0
number: 1
- platform: gpio
name: "${friendly_name}_Y05"
pin:
sn74hc595: sn74hc595_hub
# Use pin number 0
number: 2
- platform: gpio
name: "${friendly_name}_Y04"
pin:
sn74hc595: sn74hc595_hub
# Use pin number 0
number: 3
- platform: gpio
name: "${friendly_name}_Y03"
pin:
sn74hc595: sn74hc595_hub
# Use pin number 0
number: 4
- platform: gpio
name: "${friendly_name}_Y02"
pin:
sn74hc595: sn74hc595_hub
# Use pin number 0
number: 5
- platform: gpio
name: "${friendly_name}_Y01"
pin:
sn74hc595: sn74hc595_hub
# Use pin number 0
number: 6
- platform: gpio
name: "${friendly_name}_Y00"
pin:
sn74hc595: sn74hc595_hub
# Use pin number 0
number: 7
- platform: gpio
name: "${friendly_name}_Y07"
pin:
sn74hc595: sn74hc595_hub
# Use pin number 0
number: 8
- platform: gpio
name: "${friendly_name}_Y10"
pin:
sn74hc595: sn74hc595_hub
# Use pin number 0
number: 9
- platform: gpio
name: "${friendly_name}_Y11"
pin:
sn74hc595: sn74hc595_hub
# Use pin number 0
number: 10
- platform: gpio
name: "${friendly_name}_Y12"
pin:
sn74hc595: sn74hc595_hub
# Use pin number 0
number: 11
- platform: gpio
name: "${friendly_name}_Y13"
pin:
sn74hc595: sn74hc595_hub
# Use pin number 0
number: 12
- platform: gpio
name: "${friendly_name}_Y14"
pin:
sn74hc595: sn74hc595_hub
# Use pin number 0
number: 13
- platform: gpio
name: "${friendly_name}_Y15"
pin:
sn74hc595: sn74hc595_hub
# Use pin number 0
number: 14
- platform: gpio
name: "${friendly_name}_Y16"
pin:
sn74hc595: sn74hc595_hub
# Use pin number 0
number: 15
# Example configuration entry
sn74hc165:
- id: sn74hc165_hub
clock_pin: GPIO04
data_pin: GPIO13
load_pin: GPIO05
clock_inhibit_pin: GPIO16
sr_count: 2
# Individual inputs
binary_sensor:
- platform: gpio
name: "${friendly_name}_X14"
pin:
sn74hc165: sn74hc165_hub
# Use pin number 0
number: 0
inverted: true
- platform: gpio
name: "${friendly_name}_X16"
pin:
sn74hc165: sn74hc165_hub
# Use pin number 1
number: 1
inverted: true
- platform: gpio
name: "${friendly_name}_X15"
pin:
sn74hc165: sn74hc165_hub
# Use pin number 0
number: 2
inverted: true
- platform: gpio
name: "${friendly_name}_X17"
pin:
sn74hc165: sn74hc165_hub
# Use pin number 1
number: 3
inverted: true
- platform: gpio
name: "${friendly_name}_X10"
pin:
sn74hc165: sn74hc165_hub
# Use pin number 0
number: 4
inverted: true
- platform: gpio
name: "${friendly_name}_X12"
pin:
sn74hc165: sn74hc165_hub
# Use pin number 1
number: 5
inverted: true
- platform: gpio
name: "${friendly_name}_X11"
pin:
sn74hc165: sn74hc165_hub
# Use pin number 0
number: 6
inverted: true
- platform: gpio
name: "${friendly_name}_X13"
pin:
sn74hc165: sn74hc165_hub
# Use pin number 1
number: 7
inverted: true
- platform: gpio
name: "${friendly_name}_X04"
pin:
sn74hc165: sn74hc165_hub
# Use pin number 0
number: 8
inverted: true
- platform: gpio
name: "${friendly_name}_X06"
pin:
sn74hc165: sn74hc165_hub
# Use pin number 1
number: 9
inverted: true
- platform: gpio
name: "${friendly_name}_X05"
pin:
sn74hc165: sn74hc165_hub
# Use pin number 0
number: 10
inverted: true
- platform: gpio
name: "${friendly_name}_X07"
pin:
sn74hc165: sn74hc165_hub
# Use pin number 1
number: 11
inverted: true
- platform: gpio
name: "${friendly_name}_X00"
pin:
sn74hc165: sn74hc165_hub
# Use pin number 0
number: 12
inverted: true
- platform: gpio
name: "${friendly_name}_X02"
pin:
sn74hc165: sn74hc165_hub
# Use pin number 1
number: 13
inverted: true
- platform: gpio
name: "${friendly_name}_X01"
pin:
sn74hc165: sn74hc165_hub
# Use pin number 0
number: 14
inverted: true
- platform: gpio
name: "${friendly_name}_X03"
pin:
sn74hc165: sn74hc165_hub
# Use pin number 1
number: 15
inverted: true
最后放一张完全体,从左到右为 主控 + 继电器模组 + 24V开关电源