녹칸다/녹칸다의잡학사전
[아두이노] pubsubclient에서 topic과 payload값을 string으로 처리하는 방법!
덕력킹
2022. 1. 8. 16:55
반응형
void callback(char* topic, byte* payload, unsigned int length) {
Serial.print("Message arrived [");
Serial.print(topic);
Serial.print("] ");
for (int i = 0; i < length; i++) {
Serial.print((char)payload[i]);
}
Serial.println();
}
ESP8266에서 MQTT로 수신받은 데이터가 처리되는 지점의 코드이다!
subscribe한 topic는 char*이고 payload는 byte*이다!
특히 payload는 처리하기가 약간 상그럽다!
대부분 녹칸다의 예제에서는 위 코드를 아래와 같은 형태로 수정을해서 사용한다!
void callback(char* topic, byte* payload, unsigned int length) {
String myTopic = topic;
String myPayload = "";
Serial.print("Message arrived [");
Serial.print(myTopic);
Serial.print("] ");
for (int i = 0; i < length; i++) {
myPayload += (char)payload[i];
}
Serial.println(myPayload);
if(myPayload == "녹칸다"){
//OK!!
}
}
(위 예제가 사용/적용된 예제/#179-1)
반응형