- A+
1. 首先配置好交叉编译工具链环境;
2. 下载好openssl以及MQTT源码包,分别为openssl-1.0.0e.tar.gz与mosquitto-1.4.15.tar.gz;
3. 在系统文件夹/home下,建立mqtt文件夹,拷贝openssl与MQTT源码包到/home/mqtt下;
4. 分别解压openssl-1.0.0e.tar.gz与mosmosquitto-1.4.15.tar.gz,在openssl-1.0.0e文件夹下建立install文件夹,在/home/ mqtt/openssl-1.0.0文件下接着配置.config文件,如下:
./config no-asm shared --prefix=/home/ mqtt/openssl-1.0.0e/install;
5. 编译并安装make CC=arm-none-linux-gnueabi-gcc以及make install;成功编译,在/home/ mqtt/openssl-1.0.0e/install/lib,得到libssl.so.1.0.0与libcrypto.so.1.0.0两个库文件,用file命令确认库是否为ARM链接文件;
6. 切换到/home/mqtt/mosquitto-1.4.15目录下,执行make WITH_SRV=no CC=CC=arm-none-linux-gnueabi-gcc CXX=arm-linux-g++,编译成功,在/home/ mqtt/mosquitto-1.4.15/lib下,能编译出libmosquitto.so.1库,
7. 在/home /mqtt/mosquitto-1.4.15/client下,能看到编译出的mosquitto_sub与mosquitto_pub工具,用file命令确认编译的库与可执行文件是否为ARM类;
8. 拷贝libssl.so.1.0.0,libcrypto.so.1.0.0及libmosquitto.so.1到目标开发板的/lib文件夹;
9. 拷贝mosquitto_sub与mosquitto_pub工具到开发板任意目录,执行chmod 777 操作,用ldd命令查询所依赖的库是否全部都装好,如果依赖库不全就继续检查链接;
10 运行./ mosquitto_pub –h IP –p 1883 –t test –m hello,world,其中IP是MQTT服务器的地址,如果能正常通信,在MQTT订阅,就能收到主题为test,消息为hello,.world的信息;