Mosquitto 移植到ARM , ubuntu Mosquitto 服务器搭建

需要源码:
1. cJSON-1.7.15.tar.gz
2. mosquitto-2.0.9.tar.gz

一、Mosquitto 移植到ARM

目标ARM设备 :飞凌IMX6Q    ARM-LINUX-GCC:版本 5.3.0 
通信不需要加密

交叉编译工具搭建

飞凌嵌入式交叉编译工具:fsl-imx-x11-glibc-x86_64-meta-toolchain-qt5-cortexa9hf-neon-toolchain-4.1.15-2.1.0.sh
#飞凌嵌入式 交叉编译工具安装位置 /opt/fsl-imx-x11/4.1.15-2.1.0

创建一个脚本使能交叉编译工具,可以不用默认的脚本environment-setup-cortexa9hf-neon-poky-linux-gnueabi

#export PATH=$PATH:/opt/fsl-imx-x11/4.1.15-2.1.0/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi
#export SDKTARGETSYSROOT=/opt/fsl-imx-x11/4.1.15-2.1.0/sysroots/cortexa9hf-neon-poky-linux-gnueabi
#export CC="arm-poky-linux-gnueabi-gcc   -march=armv7-a -mfpu=neon  -mfloat-abi=hard -mcpu=cortex-a9 --sysroot=$SDKTARGETSYSROOT"
#export CXX="arm-poky-linux-gnueabi-g++  -march=armv7-a -mfpu=neon  -mfloat-abi=hard -mcpu=cortex-a9 --sysroot=$SDKTARGETSYSROOT"
#export CPP="arm-poky-linux-gnueabi-g++  -march=armv7-a -mfpu=neon  -mfloat-abi=hard -mcpu=cortex-a9 --sysroot=$SDKTARGETSYSROOT"
export AS="arm-poky-linux-gnueabi-as "
export LD="arm-poky-linux-gnueabi-ld  --sysroot=$SDKTARGETSYSROOT"
export GDB=arm-poky-linux-gnueabi-gdb
export STRIP=arm-poky-linux-gnueabi-strip
export RANLIB=arm-poky-linux-gnueabi-ranlib
export OBJCOPY=arm-poky-linux-gnueabi-objcopy
export OBJDUMP=arm-poky-linux-gnueabi-objdump
export AR=arm-poky-linux-gnueabi-ar
export NM=arm-poky-linux-gnueabi-nm
export M4=m4
export TARGET_PREFIX=arm-poky-linux-gnueabi-

1. 移植 cJSON-1.7.15.tar.gz
更改Makefile 

22 行 屏蔽CC
# CC = gcc -std=c89
69 行 去掉tests
.PHONY: all shared static  clean install 
 all: shared static 
#tar xvfz cJSON-1.7.15.tar.gz
#cd cJSON-1.7.15
#make 
#make PREFIX=$PWD/../install install

2. 移植mosquitto-2.0.9.tar.gz

#make WITH_SRVSRV=no WITH_TLS=no  CFLAGS="-I/home/jdtf/Mqtt/install/include -I/home/jdtf/Mqtt/install/include/cjson"  LDFLAGS="-L/home/jdtf/Mqtt/install/lib  -lrt -lcjson"

#make WITH_SRVSRV=no WITH_TLS=no DESTDIR=$PWD/../install  CFLAGS="-I/home/jdtf/Mqtt/install/include -I/home/jdtf/Mqtt/install/include/cjson"  LDFLAGS="-L/home/jdtf/Mqtt/install/lib  -luuid -lrt -lcjson"  install

3. 将install 目录下的所有文件拷贝至目标设备的文件系统

二、ubuntu Mosquitto 服务器搭建
1. 编译cJSON-1.7.15.tar.gz

#make && make install

2. 编译 mosquitto-2.0.9.tar.gz

#make && make install

3. 服务器设置默认mosquitto.conf

cp -arf /etc/mosquitto/mosquitto.conf.example /etc/mosquitto/mosquitto.conf

 并修改mosquitto.conf

#215 行 
# listener port-number [ip address/host name/unix socket path]
listener 1883

#512 行
# 允许匿名用户
#allow_anonymous true

4. 运行服务器
mosquitto -v -c /etc/mosquitto/mosquitto.conf
5. 测试
测试程序可以参考
MQTT通信协议(mosquitto)发布订阅例子C语言实现_Kunaly-CSDN博客_mosquitto
MQTT通信协议(mosquitto)在Linux上的环境构建与测试_Kunaly-CSDN博客

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值