lvgl_t113 0.1
t113-s3 86盒的LVGL桌面时钟程序
载入中...
搜索中...
未找到
mqtt_client.c 文件参考

实现MQTT客户端的功能,包括初始化、连接、消息接收和断开连接等操作。 更多...

#include <mosquitto.h>
#include <stdio.h>
#include <stdlib.h>
#include <pthread.h>
#include <unistd.h>
#include <stdbool.h>
mqtt_client.c 的引用(Include)关系图:

浏览该文件的源代码.

宏定义

#define MQTT_USE_ID   "703e13100a3d43b6b4abbb628b3c3d89"
 
#define MQTT_BROKER_ADDR   "119.91.109.180"
 
#define MQTT_BROKER_PORT   9501
 

函数

static void on_connect_callback (struct mosquitto *mqtt, void *obj, int reason_code)
 连接成功回调
 
static void on_message_callback (struct mosquitto *mqtt, void *obj, const struct mosquitto_message *msg)
 接收消息回调
 
static void on_disconnect_callback (struct mosquitto *mqtt, void *obj, int reason_code)
 连接短肽回调
 
static int mqtt_init ()
 初始化MQTT客户端。
 
*static void * mqtt_thread (void *arg)
 mqtt线程
 
bool mqtt_is_connected ()
 mqtt连接状态
 
int start_mqtt_client ()
 启动MQTT客户端。
 
void stop_mqtt_client ()
 停止MQTT客户端。
 

变量

struct mosquitto * mqtt = NULL
 
bool is_connected = false
 
pthread_t mqtt_thread_id
 

详细描述

实现MQTT客户端的功能,包括初始化、连接、消息接收和断开连接等操作。

作者
Kozakemi (kemik.nosp@m.oza@.nosp@m.gmail.nosp@m..com)
日期
2025-02-14
功能描述
  1. 初始化MQTT客户端。
  2. 连接到MQTT代理。
  3. 设置回调函数以处理连接、消息接收和断开连接事件。
  4. 启动一个线程来处理MQTT消息循环。
  5. 提供启动和停止MQTT客户端的接口。
用法描述
  1. 调用 start_mqtt_client() 函数启动MQTT客户端。
  2. 调用 stop_mqtt_client() 函数停止MQTT客户端。
修改日志:
Date Version Author Description
2025-02-14 1.0 Kozakemi 初始版本,实现MQTT客户端的基本功能。

在文件 mqtt_client.c 中定义.

宏定义说明

◆ MQTT_BROKER_ADDR

#define MQTT_BROKER_ADDR   "119.91.109.180"

在文件 mqtt_client.c38 行定义.

◆ MQTT_BROKER_PORT

#define MQTT_BROKER_PORT   9501

在文件 mqtt_client.c39 行定义.

◆ MQTT_USE_ID

#define MQTT_USE_ID   "703e13100a3d43b6b4abbb628b3c3d89"

在文件 mqtt_client.c37 行定义.

函数说明

◆ mqtt_init()

static int mqtt_init ( )
static

初始化MQTT客户端。

返回
int 成功返回0,失败返回-1。

在文件 mqtt_client.c89 行定义.

函数调用图:
这是这个函数的调用关系图:

◆ mqtt_is_connected()

bool mqtt_is_connected ( )

mqtt连接状态

返回
{true}
{false}

在文件 mqtt_client.c136 行定义.

◆ mqtt_thread()

*static void * mqtt_thread ( void * arg)
static

mqtt线程

参数
{type}arg
返回
{void*}

在文件 mqtt_client.c120 行定义.

这是这个函数的调用关系图:

◆ on_connect_callback()

static void on_connect_callback ( struct mosquitto * mqtt,
void * obj,
int reason_code )
static

连接成功回调

参数
{structmosquitto *} mqtt
{void*} obj
{int}reason_code

在文件 mqtt_client.c48 行定义.

这是这个函数的调用关系图:

◆ on_disconnect_callback()

static void on_disconnect_callback ( struct mosquitto * mqtt,
void * obj,
int reason_code )
static

连接短肽回调

参数
{structmosquitto *} mqtt
{void*} obj
{int}reason_code

在文件 mqtt_client.c78 行定义.

这是这个函数的调用关系图:

◆ on_message_callback()

static void on_message_callback ( struct mosquitto * mqtt,
void * obj,
const struct mosquitto_message * msg )
static

接收消息回调

参数
{structmosquitto *} mqtt
{void*} obj
{conststruct mosquitto_message *} msg

在文件 mqtt_client.c65 行定义.

这是这个函数的调用关系图:

◆ start_mqtt_client()

int start_mqtt_client ( )

启动MQTT客户端。

返回
int 成功返回0,失败返回-1。

在文件 mqtt_client.c146 行定义.

函数调用图:
这是这个函数的调用关系图:

◆ stop_mqtt_client()

void stop_mqtt_client ( )

停止MQTT客户端。

在文件 mqtt_client.c167 行定义.

变量说明

◆ is_connected

bool is_connected = false

在文件 mqtt_client.c35 行定义.

◆ mqtt

struct mosquitto* mqtt = NULL

在文件 mqtt_client.c34 行定义.

◆ mqtt_thread_id

pthread_t mqtt_thread_id

在文件 mqtt_client.c36 行定义.