嵌入式Linux系统mqtter(支持AES加解密)

1  接口说明

mqtter是基于libmosquitto封装出来的C++接口类,同时内部传输报文通过AES加密,基本API如下:

嵌入式Linux系统mqtter(支持AES加解密)

注意MQTT的端口是1883,mqtter一样需要ev_proxy的支持,来完成轮询,构造函数中的参数列表分别是:

evp: ev_proxy对象指针

host:主机地址,本地可以是”localhost”或者”127.0.0.1”

port:固定1883

topic是接收数据订阅的主题

成员函数set_callback用来设置一个回调函数,有数据就会完成回调。

接口的使用还是非常简单的,我们看下具体应用时的代码:

嵌入式Linux系统mqtter(支持AES加解密)

非常简单!

2  源码说明

源码中,我们基于aes封装了两个接口,用来对字符串加解密:

嵌入式Linux系统mqtter(支持AES加解密)

同时定义了加解密用的**aes128_key_;

发送数据的接口是publish,发布的意思,其中,先AES加密,再发送:

嵌入式Linux系统mqtter(支持AES加解密)

接收的时候,也是一样的,先解密再应用:

嵌入式Linux系统mqtter(支持AES加解密)

其它地方的代码比较简单,不做赘述。 

3  应用实例

源码树如下:

嵌入式Linux系统mqtter(支持AES加解密)

直接make即可:

嵌入式Linux系统mqtter(支持AES加解密)

我们所使用的是MQTT的客户端,同时mosquitto编译完成后会有一个服务端,在src下面,我们copy出来运行服务端,再运行客户端,客户端一发一收进行验证:

嵌入式Linux系统mqtter(支持AES加解密)

可以看到,加密->发送,接收->解密,完全对的上!

 

==================================================================================================================================

如果觉得对您有帮助并想进一步深入学习交流可以扫描以下微信二维码或加入QQ群:928840648

欢迎共同学习成长,有一群爱学习的小伙伴一起勉励!!一起加油!!也可点击

嵌入式Linux系统mqtter(支持AES加解密)

 

笔者基于嵌入式系统框架内容如下整理编辑:

嵌入式Linux系统mqtter(支持AES加解密)