嵌入式Linux系统mqtter(支持AES加解密)
1 接口说明
mqtter是基于libmosquitto封装出来的C++接口类,同时内部传输报文通过AES加密,基本API如下:
注意MQTT的端口是1883,mqtter一样需要ev_proxy的支持,来完成轮询,构造函数中的参数列表分别是:
evp: ev_proxy对象指针
host:主机地址,本地可以是”localhost”或者”127.0.0.1”
port:固定1883
topic是接收数据订阅的主题
成员函数set_callback用来设置一个回调函数,有数据就会完成回调。
接口的使用还是非常简单的,我们看下具体应用时的代码:
非常简单!
2 源码说明
源码中,我们基于aes封装了两个接口,用来对字符串加解密:
同时定义了加解密用的**aes128_key_;
发送数据的接口是publish,发布的意思,其中,先AES加密,再发送:
接收的时候,也是一样的,先解密再应用:
其它地方的代码比较简单,不做赘述。
3 应用实例
源码树如下:
直接make即可:
我们所使用的是MQTT的客户端,同时mosquitto编译完成后会有一个服务端,在src下面,我们copy出来运行服务端,再运行客户端,客户端一发一收进行验证:
可以看到,加密->发送,接收->解密,完全对的上!
==================================================================================================================================
如果觉得对您有帮助并想进一步深入学习交流可以扫描以下微信二维码或加入QQ群:928840648
欢迎共同学习成长,有一群爱学习的小伙伴一起勉励!!一起加油!!也可点击
笔者基于嵌入式系统框架内容如下整理编辑: