반응형
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)
반응형
'녹칸다 > 녹칸다의잡학사전' 카테고리의 다른 글
[아두이노] 아두이노에서 디지털핀의 표현과 조건식에 대한 지식 (0) | 2022.01.10 |
---|---|
[아두이노] ESP8266보드에 인터럽트를 사용하는 방법! (0) | 2022.01.08 |
[아두이노] pubsubclient로 publish할때 string사용하면 에러가 난다! (0) | 2022.01.08 |
[아두이노] 나누기 연산을 했는데 결과가 무조건 0이 나온다면~ (0) | 2022.01.08 |
[아두이노] 삼항조건연산자로 한줄로 조건문을 사용하는 방법! (0) | 2022.01.08 |