본문으로 건너뛰기

IOSignal Arduino Client

Arduino용 IOSignal 클라이언트로 다른 보드, 웹앱, 서버와 실시간으로 통신하고 인증·암호화를 사용할 수 있습니다.

특정 보드에 묶이지 않도록 Arduino Client 인터페이스로 통신하며, Wi-Fi와 Ethernet은 보드의 호환 클라이언트를 사용합니다. 일반 Stream은 begin()에 바로 넘길 수 없고 Client를 구현한 어댑터가 필요합니다. 메모리가 작은 UNO R3 + W5100도 지원합니다.

호환되는 아두이노​

개발자가 실물로 동작을 확인한 보드입니다. 예제별 배선·주변장치 조건은 따로 확인하세요.

  • Arduino Uno R3 + Ethernet Shield W5100
  • ESP8266 D1
  • ESP8266 D1 mini
  • Sparkfun esp8266 thing / thing dev
  • Arduino Uno R4 WiFi
  • ESP32 호환보드
  • ESP32-C3 Super Mini
  • ESP32-S3
  • ESP32 cam AI thinker 호환
  • ESP32 Odroid Go

네트워크 준비와 핀 설정은 보드마다 다르지만 송수신·CID·그룹 제어 흐름은 같습니다. UNO 이더넷 예제에서 시작할 수 있습니다.

인증 해제와 라이브러리 로그​

서버가 AUTH_CLEAR를 보내면(예: 같은 ID로 다른 곳에서 접속해 이 장치가 교체됨) IOSignal Arduino 7.0.0부터 라이브러리는 인증 정보를 지우고 IO_STOP 상태로 멈춥니다. 익명으로 다시 접속하지 않습니다. 서버가 보낸 사유는 io.lastReason에 남고 onError 콜백이 IO_AUTH_CLEAR로 호출됩니다. 다시 연결하려면 auth()와 begin()을 다시 호출합니다. 서버의 keepNew·keepOld 정책은 중복 로그인을 참고하세요.

void printLog(const char* message) {
Serial.println(message);
}

void setup() {
// ...
io.setLog(printLog);
}

setLog를 설정하면 [IOSignal] AUTH_CLEAR: duplicate login. connection stopped. 같은 한 줄을 받습니다. 설정하지 않으면 라이브러리는 아무것도 출력하지 않습니다.

실기 확인용 예제는 uno_ethernet_duplicate_login(UNO R3 + W5100)과 esp32c3_duplicate_login(ESP32-C3 Super Mini)입니다. 같은 ID_KEY로 다른 곳에서 로그인하면 위 메시지가 출력되고, keepOld 서버에서는 거부된 시도 횟수를 출력합니다.