본문으로 건너뛰기

첫 시그널: 버튼과 LED

기존 IOSignal esp32_channel_txrx 예제를 사용합니다. 이 과정은 #homeButton 이벤트가 전달되는 것을 확인하는 실습입니다.

준비와 배선​

  • ESP32 개발보드, USB 케이블
  • 푸시버튼: GPIO 12와 GND 사이
  • 외부 LED를 쓸 경우 GPIO 2 → 330Ω 저항 → LED 양극, LED 음극 → GND

예제의 기본 핀은 LED 2, 버튼 12입니다. 실제 보드의 핀 배치와 부팅 관련 핀 제약을 확인하고 필요하면 LED_PIN, BUTTON_PIN을 변경하세요. 내장 LED가 없거나 종류가 다르면 외부 LED를 사용합니다. 예제는 active-low 초기값을 사용하므로 외부 active-high LED에서는 초기 켜짐 상태가 다를 수 있지만 이벤트에 따른 토글은 확인할 수 있습니다.

실행​

  1. Arduino IDE에 IOSignal과 필요한 Boho, Crypto, Bounce2를 설치합니다.
  2. 파일 → 예제 → IOSignal → esp32_channel_txrx를 엽니다.
  3. WiFi.begin()의 WIFI_SSID, WIFI_PASS를 바꿉니다.
  4. 보드와 포트를 선택하고 업로드합니다. 시리얼 모니터는 115200 baud입니다.
  5. 통신 실습실을 실행하고 기본 송수신 프리셋을 선택합니다.
  6. 웹 연결 URL을 wss://io.iosignal.net/ws로 맞추고 연결합니다.
  7. 버튼 이벤트를 누르면 장치 LED가 토글되는지 확인합니다.
  8. 장치의 물리 버튼을 누르면 웹에 #homeButton, 문자열 esp32가 들어오는지 확인합니다.

메시지 흐름​

장치와 웹이 #homeButton을 구독합니다. 웹은 browser, 장치는 esp32 문자열을 보내지만, 장치의 LED 처리는 문자열 값 대신 태그를 기준으로 토글합니다.

송신자도 같은 태그를 구독하면 자신이 보낸 메시지를 수신할 수 있습니다. 웹의 TX와 RX가 함께 보인다고 장치의 응답이라고 판단하지 마세요. 실제 장치 상태 응답은 다음 CID LED 실습에서 다룹니다.

이 예제에 포함된 #robot 수신은 별도 바이너리 실험용입니다. 기본 버튼 실습에는 필요하지 않습니다.