Add esp-espnow_test_transmitter1.yaml

This commit is contained in:
ESPHome Device Builder
2026-07-11 17:42:25 +12:00
parent 5b7a9d39d2
commit cd39558b1f
+114
View File
@@ -0,0 +1,114 @@
#:########################################################################################:#
# ESP-NOW Test Transmitter
#:########################################################################################:#
#
# Hardware:
# - ESP32-S3-Zero / ESP32-S3 Super Mini style board
#
# Wiring:
# - Button between GPIO4 and GND.
#
# Behaviour:
# - Sleeps most of the time.
# - Button press wakes the ESP32-S3.
# - Sends ESP-NOW broadcast 3 times.
# - Goes back to deep sleep.
#
# IMPORTANT:
# - Set espnow.channel to the same 2.4 GHz Wi-Fi channel used by the receiver.
#
#:########################################################################################:#
substitutions:
device_name: espnow-test-transmitter
friendly_name: "ESPNow Test Transmitter"
esphome:
name: ${device_name}
friendly_name: ${friendly_name}
on_boot:
priority: -100
then:
- logger.log: "Booted. Sending ESP-NOW test packet..."
- script.execute: send_espnow_press
- delay: 500ms
- logger.log: "Going back to deep sleep."
- deep_sleep.enter: deep_sleep_control
esp32:
board: esp32-s3-devkitc-1
framework:
type: arduino
logger:
level: DEBUG
#:########################################################################################:#
# No Wi-Fi on transmitter
#:########################################################################################:#
#
# This keeps the transmitter fast and battery-friendly.
# Upload over USB for this test.
#
#:########################################################################################:#
# ESP-NOW Transmit
#:########################################################################################:#
espnow:
channel: 6
script:
- id: send_espnow_press
mode: single
then:
- lambda: |-
id(press_count) += 1;
- espnow.broadcast:
data: !lambda |-
std::string msg = "REMOTE_A:BUTTON_1:" + to_string(id(press_count));
return std::vector<uint8_t>(msg.begin(), msg.end());
- delay: 50ms
- espnow.broadcast:
data: !lambda |-
std::string msg = "REMOTE_A:BUTTON_1:" + to_string(id(press_count));
return std::vector<uint8_t>(msg.begin(), msg.end());
- delay: 50ms
- espnow.broadcast:
data: !lambda |-
std::string msg = "REMOTE_A:BUTTON_1:" + to_string(id(press_count));
return std::vector<uint8_t>(msg.begin(), msg.end());
globals:
- id: press_count
type: int
restore_value: true
initial_value: '0'
#:########################################################################################:#
# Wake Button and Deep Sleep
#:########################################################################################:#
binary_sensor:
- platform: gpio
id: wake_button
name: "Wake Button"
internal: true
pin:
number: GPIO4
mode: INPUT_PULLUP
inverted: true
deep_sleep:
id: deep_sleep_control
wakeup_pin:
number: GPIO4
mode: INPUT_PULLUP
inverted: true
sleep_duration: 365d