MQTT传输JSON数据实例

  想跑一个用MQTT传输JSON的实例,上网找了一下开源代码,找到一个比较合适的:https://blog.csdn.net/ktigerhero3/article/details/107178252,程序源码直接用这个就可以,然后过程中需要进行一下环境的配置,本篇文章主要记录下整个过程。
  我的环境是ubuntu18.04
  先整体看一下我的目录树:
在这里插入图片描述
下面介绍一下为了把整个代码跑起来所做的工作:

1. 配置mosquitto

  这个我就选择源码安装了,去https://mosquitto.org/files/source/下载即可
  然后执行:

cd mosquitto-2.0.9
make
sudo make install

  如果执行程序时报错:Mosquitto.h not such file or directory,就是上面这步还没有装好

2. 拷贝cjson文件

 样例的源码中使用到了cJSON.c和cJSON.h,这个要自己进行导入,去https://github.com/DaveGamble/cJSON中把两个文件拿到放到自己的项目里

3. 执行程序,开启订阅和发布节点

  执行这步的时候会报错:

error while loading shared libraries: libmosquitto.so.1: cannot open shared object file: No such file or directory

  解决方案是:

sudo ln -s /usr/local/lib/libmosquitto.so.1 /usr/lib/libmosquitto.so.1
ldconfig

  然后就可以正常执行了,其实只运行发布订阅的时候服务器会默认开启,当然也可以自行开启:

mosquitto -v

  如果执行时报错如下:
在这里插入图片描述

  解决方案如下:

sudo lsof -i:1883
sudo kill xxx

 ps:xxx是PID号

现在一切正常啦!看看效果:
发送端:
在这里插入图片描述
订阅端:
在这里插入图片描述
服务器端:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/gls_nuaa/article/details/129149220