关注分享主机优惠活动
国内外VPS云服务器

EC20 模块基于 STM32F407,使用 MQTT 库与 EMQX 接口。

总结:首先,这个库是基于编译的,在其他内核中也支持使用串口和模块通信。 如果您想使用它,请将文件添加到您的项目中并在头文件中引用它。 此外,模块复位操作必须在外部实现。 通常,引脚必须被拉高一段时间才能指定复位功能。 以下四个示例是用于实现自制对接的库。

1.说明

该库是基于STM32F407编译的。 它还受到其他 CortexM4 内核的支持,并使用串行端口与 EC20 模块进行通信。

该库包含两个文件:ec20_mqtt.h 和 ec20_mqtt.lib。 如果您想使用它,可以通过将 lib 文件添加到项目中来引用头文件中的 ec20_mqtt.h。

下载:https://gitee.com/eiri_jackmaster/ec20_mqtt_cm4-lib

功能

创建 mqtt 客户端并连接到服务器提供订阅、发布、取消订阅、断开连接、获取imei号等API接口。 /*! --------------[ k4]-- ]-------------[k4 ]--[ k4]-------------[ k4]---------------- --- ]------- *//*! 公共函数原型 */ EC20_status EC20_initialize(void); EC20_status EC20_mqttClientCreate(uint8_t pClientID,char* pIPv4, uint32_t pPort);EC20_status EC20_mqttClientConnectServer(uint8_t pClientID, char* pClientIDStr,char* pName, char* pPswd); Subscribe(uint8_t pClientID, char* pTopic, u int8_t pQos ) ;EC20_status EC20_mqttClientUnSubscribe(uint8_t pClientID, char* pTopic);EC20_status EC20_mqttClientPublish(uint8_t pClientID, char* pTopic, uint8_t pQos, _t pRetain, uint8_t *pData, uint32_t pSize);EC20_status EC 20_mqttClient DisConnectServer(uint8_t pClientID);extern void EC20_moduleHardReset(void) ;size_t EC20_getIMEI(char *pIMEIBuffer); 3.移植

只需在头文件中指定相应的串口操作函数和基本延迟(以毫秒为单位)即可。 此外,EC20模块的复位操作必须在外部实现。 通常,第一个引脚被拉高一段时间。 复位函数必须指定函数 void EC20_moduleHardReset(void)。

/*! 可移植性的宏定义 *//*! ec20 uart 默认 115200 8 N 1 */#define EC20_SENDDATA(a,b) USART2_sendData(a,b) /*! uart 重新定义 */#define EC20_SENDSTR(a) USART2_sendString(a)#define EC20_RXFLAG usart2Rx.flag # EC20_RXBUFF USART2RX.BUFF#Define EC20_BUFF_Size UART2_BUFF_SIZE / *! Layms Hal_Delay#Define Print_enable 0x10/*! 下面是STM32F407使用ec20实现对接和自制EMQX的mqtt库。

1. 将 ec20_mqtt.lib 添加到您的项目中。

2. 导入头文件。

定义变量和私有mqtt服务器信息(我使用了订阅认证和鉴权):

3、实现EC20模块重置接口

4、调用接口

(1)初始化

(2)创建一个 mqtt 客户端并连接到服务器

(三)订阅发布主题

四、执行结果

发布订阅工作美好的。

未经允许不得转载:主机频道 » EC20 模块基于 STM32F407,使用 MQTT 库与 EMQX 接口。

评论 抢沙发

评论前必须登录!