本帖最后由 lione95678 于 2025-9-15 09:25 编辑
这是我写的esp12f收到指定的串口信息后触发二进制传感器,可以参考一下
1、esphome的uart代码:
uart:
- id: uart_2
baud_rate: 115200
#tx_pin: GPIO15
rx_pin: GPIO13
debug:
direction: RX
dummy_receiver: true
after:
delimiter: "\r\n"
sequence:
- lambda: |-
UARTDebug::log_string(direction, bytes);
std::string str(bytes.begin(), bytes.end());
id(rawString).publish_state(str.c_str());
注意修改串口的io,我这里用了gpio13
2、二进制传感器:
binary_sensor:
- platform: template
name: "Garage Door Open"
id: light1
lambda: |-
if (id(rawString).state == "switch1_is_on\r\n") {
return true;
} else if (id(rawString).state == "switch1_is_off\r\n") {
return false;
} else {
return {};
}
只需要修改“switch1_is_on\r\n”和"switch1_is_off\r\n",取决于ch592串口发给esp12f的串口信息
|