๐ฉ๐ป IoT (Embedded)/Arduino
[BSS ์์ ํ๊ณ ๊นจ๋ํ ์งํ์ฒ ํ์น ๋ฐ ์ดํ 1] MQTT ์ฌ์ฉํด์ topic ์ผ๋ก SUB/PUB ๊ตฌํํ๊ธฐ ver.local
์ง์ง์ํ์นด
2023. 12. 22. 09:40
728x90
๋ฐ์ํ
โญ MQTT ver.local
โ pub.c
// pub.c
#include <stdio.h>
#include <mosquitto.h>
int main(){
int rc;
struct mosquitto * mosq;
mosquitto_lib_init();
mosq = mosquitto_new("publisher-test", true, NULL); //mosquitto ๊ตฌ์กฐ์ฒด ์์ฑ
rc = mosquitto_connect(mosq, "localhost", 1883, 60);//mosqutiio ๋ธ๋ก์ปค์ ์ฐ๊ฒฐ
if(rc != 0){
printf("Client could not connect to broker! Error Code: %d\n", rc);
mosquitto_destroy(mosq);
return -1;
}
printf("We are now connected to the broker!\n");
mosquitto_publish(mosq, NULL, "test/t1", 6, "Hello", 0, false); //ํ ํฝ
mosquitto_disconnect(mosq);
mosquitto_destroy(mosq);
mosquitto_lib_cleanup();
return 0;
}
โ sub.c
// sub.c
#include <stdio.h>
#include <stdlib.h>
#include <mosquitto.h>
void on_connect(struct mosquitto *mosq, void *obj, int rc) {
printf("ID: %d\n", * (int *) obj);
if(rc) {
printf("Error with result code: %d\n", rc);
exit(-1);
}
mosquitto_subscribe(mosq, NULL, "test/t1", 0);
}
void on_message(struct mosquitto *mosq, void *obj, const struct mosquitto_message *msg) {
printf("%s", (char *) msg->payload);
}
int main() {
int rc, id=12;
mosquitto_lib_init();
struct mosquitto *mosq;
mosq = mosquitto_new("subscribe-test", true, &id); //mosquitto ๊ตฌ์กฐ์ฒด ์์ฑ
mosquitto_connect_callback_set(mosq, on_connect);
mosquitto_message_callback_set(mosq, on_message);
rc = mosquitto_connect(mosq, "127.0.0.1", 1883, 10); // ๋ธ๋ก์ปค์ ์ฐ๊ฒฐ
if(rc) {
printf("Could not connect to Broker with return code %d\n", rc);
return -1;
}
mosquitto_loop_start(mosq);
printf("Press Enter to quit...\n");
getchar();
mosquitto_loop_stop(mosq, true);
mosquitto_disconnect(mosq);
mosquitto_destroy(mosq);
mosquitto_lib_cleanup();
return 0;
}
728x90
๋ฐ์ํ