LinuxC 通过MQTT连接天工开物代码
时间: 2024-05-07 10:23:35 浏览: 56
连接天工开物代码需要使用MQTT协议,可以使用LinuxC编写程序进行连接。下面是一个简单的示例程序:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <mosquitto.h>
#define MQTT_HOST "localhost"
#define MQTT_PORT 1883
#define MQTT_TOPIC "tgkw"
void on_connect(struct mosquitto *mosq, void *userdata, int rc)
{
printf("Connected to MQTT broker with result %d\n", rc);
mosquitto_subscribe(mosq, NULL, MQTT_TOPIC, 0);
}
void on_message(struct mosquitto *mosq, void *userdata, const struct mosquitto_message *message)
{
printf("Received message on topic %s: %s\n", message->topic, (char *) message->payload);
}
int main()
{
struct mosquitto *mosq = NULL;
int rc;
mosquitto_lib_init();
mosq = mosquitto_new(NULL, true, NULL);
if (!mosq) {
fprintf(stderr, "Error: Out of memory.\n");
exit(1);
}
mosquitto_connect_callback_set(mosq, on_connect);
mosquitto_message_callback_set(mosq, on_message);
rc = mosquitto_connect(mosq, MQTT_HOST, MQTT_PORT, 60);
if (rc != MOSQ_ERR_SUCCESS) {
fprintf(stderr, "Unable to connect to MQTT broker: %s\n", mosquitto_strerror(rc));
exit(1);
}
mosquitto_loop_forever(mosq, -1, 1);
mosquitto_destroy(mosq);
mosquitto_lib_cleanup();
return 0;
}
```
上面的程序使用mosquitto库连接到MQTT服务器,并订阅了主题"tgkw"。当收到新的消息时,会调用on_message函数进行处理。
可以根据实际情况修改MQTT_HOST、MQTT_PORT和MQTT_TOPIC等参数,以及编写相应的代码进行处理。
阅读全文
相关推荐
![-](https://img-home.csdnimg.cn/images/20241231044955.png)
![-](https://img-home.csdnimg.cn/images/20241231044930.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)