본문으로 건너뛰기

IOSignal Version 2.0.0 released

· 약 2분
Lee Dongeun

IOSignal이 version 2.0.0로 업데이트 되었습니다.

V2.0.0 업그레이드

  • setClient() deprecated(제거됨)
  • begin() 로 대체됨
  • 구현 코드 간소화

V1.x.x

  • main()에 ESP WiFi 연결상태 검사후 재접속 코드 사용됨
  • main()에 server 연결직접 검사후 재접속 코드 사용됨

WiFiClient client;
IOSignal io;

void setup(){
...
io.setClient( &client );
...
}


void loop(){
...
// sever connection checker
if( !client.connected() ){
client.connect( host, port);
}

...
// WiFi connection checker
if( WiFi.status() != WL_CONNECTED ){
// Serial.println("WiFi disconnected.");
if( wifiMulti.run() == WL_CONNECTED ){
Serial.println("WiFi connected.");
}else{
delay(2000);
}
}
}

v2.x.x

서버 접속 관리 기능이 내장되어 사용자 구현이 불필요합니다. 더불어 ESP WiFi 는 자동 재접속 기능이 제공되므로 해당 코드도 생략되었습니다. 단, 구형 WiFi Shield 등 예외적인 경우 추가요함

  • ESP WiFi 접속은 setup에서 1회 실행
  • server 접속상태 확인 및 재접속 생략 가능
  • io.update() 리턴코드가 0일경우 서버 정상 소통 가능한 상태입니다.

WiFiClient client;
IOSignal io;

void setup(){
WiFi.begin(mac); // or WiFiMulti.run(...);
...
io.begin( &client, host, port );
}

void loop(){

uint8_t conditionCode = io.update();
if(conditionCode == 0 ){
// 통신 가능 상태
checkUserButton();
io.signal( tag, msg);
}else{
// 통신불가 상태
// 사유. WiFi끊김, Server 끊김, 패킷 오류, 오버플로우 등
// 일시적 오류인경우 자동으로 복구됩니다.
}
}