之前做MQTT项目,现把测试环境搭建记录一下。

物联网设备很多会用到MQTT协议,我们的项目也用到了,需要把消息报警数据通过MQTT协议上传到第三方平台。设备端只要用到publish协议即可,但是,设备端程序开发完成后,需要自行测试通过后,才能与第三方平台对接,这样提高对接效率。

MQTT服务端采用mosquitto,先到mosquitto官方网站下载安装程序和源码。

Eclipse Mosquitto

最初,我们选择Windows安装包,安装完成后,在安装目录双击mosquitto.exe,把服务端运行起来,默认端口1883。安装目录还有另外两个测试程序,mosquitto_pub和mosquitto_sub,这两个程序需要通过命令行来运行。然后,通过mosquitto_pub程序发布消息,mosquitto_sub订阅消息,mosquitto_sub能收到消息,看起来一切正常。

但是,mosquitto_pub 加参数-P 密码运行的时候,提示测试程序不支持密码模块,mosquitto_sub也有同样的问题,我们对接第三方是要密码认证的,由于下载的是安装包程序,没有办法,通过源码在Linux平台上编译吧。

把源码解压,到解压目录,直接make,过一会说找不到cjson头文件,怎么需要cjson呢,有点奇怪,然后在代码根目录找到README-compiling.md,里面说cjson是可选的,然后找到config.mk,搜索CJSON的行,把yes改为no,再make,编译OK。测试程序生成在client目录下。

编译出来的测试程序支持密码参数的,通过Linux的mosquitto_pub程序,发布到Windows的服务端,死活连不上,但是可以ping通,有点奇怪。然后,直接telnet 到Windows的1883端口,也不行,那说明不是测试程序问题。Windows本地可以连,说明是listen的时候绑定的回环地址。查看,资源管理器,果然是bind了回环地址。

修改安装目录下的配置文件mosquitto.conf,搜索listener,然后增加一句 listener  端口  IP,重新运行mosquitto,通过Linux测试程序,可以连接上了。但是,加了-P参数,提示报错,拒绝连接。网上搜了一下,需要配置用户和密码。

找到安装目录下mosquitto_passwd.exe,通过mosquitto_passwd.exe生成密码文件,publish和sub都一起生成了。注意,下面那行不要带-c参数,否则会重新生成pwfile文件,分别输密码就可以了。

mosquitto_passwd.exe  -c  pwfile   pub_user

mosquitto_passwd.exe   pwfile   sub_user

密码文件生成后,打开配置文件,找到password_file这行, 增加一行 password_file  pwfile,保存,重新运行服务端程序。Linux 测试程序pub和sub都可以发布和订阅消息了,测试环境搭建完成。板子就可以与服务端调试了。

MQTT测试环境搭建相关推荐

  1. 【MQTT从入门到提高系列 | 01】从0到1快速搭建MQTT测试环境

    这是机器未来的第24篇文章 原文首发地址:https://blog.csdn.net/RobotFutures/article/details/125532208 1. mosquitto概述 Ecl ...

  2. web应用如何确定能同时允许多少用户连接?_Web测试环境搭建+测试要点汇总

    一.Web测试环境搭建 软硬件包括:电脑一台.JDK1.6.Tomcat7.0.mysql.IE浏览器.Firefox浏览器.Chrome浏览器.SVN客户端 通过SVN客户端导出最新的Web工程部署 ...

  3. Celery简介及Docker测试环境搭建

    Celery 简介 任务队列一般用于线程或计算机之间分配工作的一种机制. 任务队列的输入是一个称为任务的工作单元,有专门的工作进行不断的监视任务队列,进行执行新的任务工作. Celery 通过消息机制 ...

  4. 微信开发——本地测试环境搭建

    版权声明:欢迎转载,请注明沉默王二原创. https://blog.csdn.net/qing_gee/article/details/52858939 微信开发的本地测试环境搭建起来颇为繁琐(对微信 ...

  5. Activiti Workflow HelloWorld 示例与测试环境搭建

    作者:Rock 出处:http://www.ecmkit.com/zh-hans/2012/03/21/activiti-workflow-hell Activiti Workflow HelloWo ...

  6. USDT(omniCore)测试环境搭建

    一.测试环境搭建. 注:由于window版本的omni出现同步不了的问题,推荐使用linux系统进行usdt测试链的搭建. 1.下载omnicore: wget https://bintray.com ...

  7. 柠檬班接口测试Tomcat+MySQL测试环境搭建

    Tomcat+MySQL测试环境搭建 安装Tomcat运行环境 配置MySQL数据库 发布项目 配置数据库开机自启 遇到的问题 安装Tomcat运行环境 参考链接: https://blog.csdn ...

  8. VRP远程管理(华为设备telnet登录密码配置与测试环境搭建)——在物理机上创建回环网卡及eNSP模拟器与物理机实现连接通信

    目录 一.在网络连通的情况下,开启telnet服务 二.用户认证配置 1. 密码认证模式 2. aaa认证模式 三.eNSP模拟器telnet测试环境搭建 1.在物理机上创建回环网卡及IP地址配置 2 ...

  9. 微信局域网测试环境搭建方法

    微信局域网测试环境搭建方法 微信现在越来越火,很多人想自己研究一下微信开发,但在开发平台认证的时候,必须通过80端口认证. 很多的宽带服务商把公司宽带的80端口封了, 而微信开发模式中服务器配置要求填 ...

最新文章

  1. Windows API 的数据类型与 Delphi 数据类型对照表
  2. [网络收集]avascript中top.location.href 与 location.href的区别
  3. Android开发之git命令创建tag提交远程仓库的方法(图文教程)
  4. [Leetcode]-- Valid Number
  5. python语言合法命名的_python语言合法命名_python合法命名
  6. 10张图,让你瞬间给自己减压
  7. 自动化测试工具Selenium
  8. 优化性能一点总结,供大家参考
  9. 云优CMS发布接口模块—免登录通用版
  10. 【转载】堆排序算法(图解详细流程)
  11. 电子科技大学生物信息学 重点
  12. 在idear中基于ssm框架做一个项目需要考虑的基本步骤
  13. 关于Node.js中内存管理的思考与实践
  14. BK7256,上海博通-音视频Wi-Fi6combo-soc,内置Flash,RGB屏驱\720P
  15. Learning Deep Similarity Models with Focus Ranking for Fabric Image Retrieval 学习笔记
  16. 2017广东工业大学程序设计竞赛决赛 E-倒水(Water) (二进制的应用) + H-tmk买礼物(dp思想)
  17. 【一起入门NLP】中科院自然语言处理作业五:BiLSTM+Attention实现SemEval-2010 Task 8上的关系抽取(Pytorch)【代码+报告】
  18. 10张图了解UWB技术的工作原理
  19. Windows“自动修复”无法修复
  20. 超实数与布尔巴基学派

热门文章

  1. Linux命令大全(一)
  2. C++:reverse函数
  3. 深圳大学学科分析—通信工程
  4. 生存还是毁灭,这是一个值得思考的问题
  5. Android8.0 Audio系统之AudioFlinger
  6. 最厉害的本事,往往是打好基本功
  7. 浅谈企业为什么需要移动crm?
  8. Android短信大全
  9. 前端路由(v-router)
  10. 托福口语考试侧重点介绍【zhasite】