摘要:一說明本庫(kù)基于編譯,其他的內(nèi)核也支持,采用串口和模組通信。使用時(shí)添加文件到工程中,頭文件引用即可。此外,需要外部實(shí)現(xiàn)模組的復(fù)位操作,一般是對(duì)管腳拉高一段時(shí)間,復(fù)位函數(shù)需要指定函數(shù)為。四實(shí)例以下為使用的庫(kù),實(shí)現(xiàn)對(duì)接自建。
一、說明
本lib庫(kù)基于STM32F407編譯,其他的cortexM4內(nèi)核也支持,采用串口和EC20模組通信。
庫(kù)包括兩個(gè)文件:ec20_mqtt.h和ec20_mqtt.lib。使用時(shí)添加lib文件到工程中,頭文件引用ec20_mqtt.h即可。
下載:https://gitee.com/eiri_jackmaster/ec20_mqtt_cm4-lib
二、功能
提供了創(chuàng)建mqtt客戶端、連接服務(wù)器、訂閱、發(fā)布、取消訂閱、斷開連接、獲取imei號(hào)等API接口。
/*! -------------------------------------------------------------------------- *//*! Public function prototype */ 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);EC20_status EC20_mqttClientSubscribe(uint8_t pClientID, char* pTopic, uint8_t pQos);EC20_status EC20_mqttClientUnSubscribe(uint8_t pClientID, char* pTopic);EC20_status EC20_mqttClientPublish(uint8_t pClientID, char* pTopic, uint8_t pQos, uint8_t pRetain, uint8_t *pData, uint32_t pSize);EC20_status EC20_mqttClientDisConnectServer(uint8_t pClientID);extern void EC20_moduleHardReset(void);size_t EC20_getIMEI(char *pIMEIBuff);
三、移植
在頭文件指定相應(yīng)的串口操作函數(shù)和毫秒級(jí)基本延時(shí)即可。此外,需要外部實(shí)現(xiàn)EC20模組的復(fù)位操作,一般是對(duì)rst管腳拉高一段時(shí)間,復(fù)位函數(shù)需要指定函數(shù)為void EC20_moduleHardReset(void)。
/*! macro defination for porting *//*! ec20 uart default 115200 8 N 1 */#define EC20_SENDDATA(a,b) USART2_sendData(a,b) /*! uart redefine */#define EC20_SENDSTR(a) USART2_sendString(a)#define EC20_RXFLAG usart2Rx.flag #define EC20_RXBUFF usart2Rx.buff#define EC20_RXLEN usart2Rx.size#define EC20_BUFF_SIZE UART2_BUFF_SIZE /*! buffsize define */#define EC20_DELAYMS HAL_Delay#define PRINT_ENABLE 0x10 /*! 0x00=enable, other=disable*/
四、實(shí)例
以下為STM32F407使用ec20的mqtt庫(kù),實(shí)現(xiàn)對(duì)接自建EMQX。
1、工程添加ec20_mqtt.lib
2、頭文件引入
定義變量和私有mqtt服務(wù)器信息(我使用了訂閱認(rèn)證和鑒權(quán)):
??3、實(shí)現(xiàn)EC20模組復(fù)位接口
?4、調(diào)用接口
(1)初始化
(2)創(chuàng)建mqtt客戶端,連接服務(wù)器
(3)訂閱和發(fā)布主題
?4、執(zhí)行結(jié)果
?
?可以看到發(fā)布和訂閱正常。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/120929.html
摘要:基于開發(fā)的軟件包導(dǎo)師汪禮超學(xué)員崔林威摘要騰訊物聯(lián)網(wǎng)操作系統(tǒng)是騰訊面向物聯(lián)網(wǎng)領(lǐng)域開發(fā)的實(shí)時(shí)操作系統(tǒng),具有低功耗,低資源占用,模塊化,可裁剪等特性。圖中斷函數(shù)處理進(jìn)行生成工程配置,按如下界面進(jìn)行配置,最后點(diǎn)擊,并點(diǎn)擊。 ...
摘要:主控板此次繪制了主控板,引出了多種外設(shè)接口,串口,,,定時(shí)器,模擬等。原理圖主控芯片復(fù)位電路單數(shù)據(jù)通道傳感器電源指示燈藍(lán)牙接口串口慣性傳感器深度傳感器模擬卡卡下載電源接口下載點(diǎn)著里下載 ...
摘要:通過創(chuàng)建個(gè)任務(wù)閃爍間隔閃爍間隔串口發(fā)送數(shù)據(jù)間隔配置和口這里選用定時(shí)器作為系統(tǒng)時(shí)鐘作為的時(shí)鐘源配置并創(chuàng)建個(gè)任務(wù)配置串口和這里不多說配置時(shí)鐘生成代碼打開在文件里面進(jìn)行默認(rèn)任務(wù)編寫閃爍間隔寫作默認(rèn)任務(wù)里閃爍寫在任務(wù)中串口發(fā)送間隔任務(wù)結(jié)果 stm32通過Cubemx創(chuàng)建3個(gè)任務(wù) 1.閃爍LED1 ...
摘要:?jiǎn)纹瑱C(jī)入門指南本文基于常神文章基礎(chǔ)上將單片機(jī)入門部分進(jìn)行細(xì)化盡可能細(xì)節(jié)做到可實(shí)施性先引用一下常神的文章首先假設(shè)大家已經(jīng)對(duì)高中物理的電路部分有所了解。單片機(jī),如,是一種根據(jù)程序控制引腳高低電平的可編程器件,有些場(chǎng)合又將這種行為稱作嵌入式。 ...
摘要:帶中文字庫(kù)的是一種具有位位并行線或線串行多種接口方式,內(nèi)部含有國(guó)標(biāo)一級(jí)二級(jí)簡(jiǎn)體中文字庫(kù)的點(diǎn)陣圖形液晶顯示模塊其顯示分辨率為。貼片按鍵模塊支持標(biāo)準(zhǔn)的協(xié)議,完整的協(xié)議棧。以最低成本提供最大實(shí)用性,為功能嵌入其他系統(tǒng)提供無限可能。 項(xiàng)目簡(jiǎn)介 開發(fā)環(huán)境: Keil5.14,CubeMX6.0.1,主...
閱讀 4319·2021-09-24 09:47
閱讀 1192·2021-09-03 10:33
閱讀 2077·2019-08-30 11:13
閱讀 1038·2019-08-30 10:49
閱讀 1762·2019-08-29 16:13
閱讀 2052·2019-08-29 11:28
閱讀 3101·2019-08-26 13:31
閱讀 3638·2019-08-23 17:14