본문으로 건너뛰기

iris DIP 그룹 제어

iris-group 소스를 사용합니다. ESP32-C3 기반 iris 보드의 기존 테스트 예제 핀을 적용했습니다. Bounce2와 FastLED를 설치합니다.

기능GPIO
WS2812 4개 데이터4
GROUP / SELF 버튼1 / 2
상태 LED (active LOW)8
그룹 DIP (가중치 4, 2, 1)21, 20, 10
장치 DIP (가중치 4, 2, 1)7, 6, 5

DIP는 LOW인 항목의 가중치를 더해 0~7을 만듭니다. 그룹 3은 가중치 2와 1을 LOW로 설정합니다. DIP는 시작할 때 읽으므로 변경 후 재시작하세요. 같은 그룹·같은 장치 번호의 보드는 함께 동작합니다.

연결 순서​

  1. 링크의 스케치를 열고 WIFI_SSID, WIFI_PASS를 입력합니다. IOSignal과 Boho 및 예제에 필요한 라이브러리를 설치합니다.
  2. Arduino IDE에서 보드와 포트를 선택한 뒤 업로드합니다.
  3. 공개 통신 실습실을 열고 해당 보드를 선택합니다. 로컬 실행은 시작 안내를 참고하세요.
  4. 예제의 기본 TCP 서버는 io.remocon.kr:55488입니다. 웹앱 서버 URL을 wss://io.remocon.kr/ws로 입력해 같은 서버에 연결합니다. 다른 서버를 쓰면 양쪽 설정을 함께 바꿉니다.
  5. 연결 상태가 ready가 되면 아래 실습을 진행합니다.

인증 사용 여부와 상태 보관 여부·기간·크기·개수 제한은 서버 및 서비스 설정, 인증 유형에 따라 달라질 수 있습니다.

실습과 확인​

웹앱에서 iris와 DIP에 맞는 그룹 번호를 선택합니다. 그룹 0은 #Iris-g0$states에 TEXT 8자리를 사용합니다. 10000000은 장치 번호 0만 켜고, 00000001은 번호 7만 켭니다. 해당 보드의 WS2812 4개가 함께 켜집니다.

모두 켜기, 모두 끄기, 장치 N만 켜기를 사용하거나 8자리 값을 직접 송신합니다. GROUP 버튼은 현재 값이 전부 0이면 전부 켜고, 그 외에는 전부 끕니다. SELF 버튼은 자기 번호의 값을 토글합니다.

접속 시 공유 상태를 덮어쓰지 않고 구독합니다. 서버에 보관된 값이 있으면 수신하여 적용합니다. 수신값이 없을 때의 초기 상태는 꺼짐입니다. 각 송신은 전체 8자리 상태를 보내므로 동시에 여러 곳에서 조작하면 뒤에 처리된 값이 적용될 수 있습니다. 공유값 수신만으로 모든 보드의 실행 완료가 확인되는 것은 아닙니다.