MQTT测试环境搭建
之前做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测试环境搭建相关推荐
- 【MQTT从入门到提高系列 | 01】从0到1快速搭建MQTT测试环境
这是机器未来的第24篇文章 原文首发地址:https://blog.csdn.net/RobotFutures/article/details/125532208 1. mosquitto概述 Ecl ...
- web应用如何确定能同时允许多少用户连接?_Web测试环境搭建+测试要点汇总
一.Web测试环境搭建 软硬件包括:电脑一台.JDK1.6.Tomcat7.0.mysql.IE浏览器.Firefox浏览器.Chrome浏览器.SVN客户端 通过SVN客户端导出最新的Web工程部署 ...
- Celery简介及Docker测试环境搭建
Celery 简介 任务队列一般用于线程或计算机之间分配工作的一种机制. 任务队列的输入是一个称为任务的工作单元,有专门的工作进行不断的监视任务队列,进行执行新的任务工作. Celery 通过消息机制 ...
- 微信开发——本地测试环境搭建
版权声明:欢迎转载,请注明沉默王二原创. https://blog.csdn.net/qing_gee/article/details/52858939 微信开发的本地测试环境搭建起来颇为繁琐(对微信 ...
- Activiti Workflow HelloWorld 示例与测试环境搭建
作者:Rock 出处:http://www.ecmkit.com/zh-hans/2012/03/21/activiti-workflow-hell Activiti Workflow HelloWo ...
- USDT(omniCore)测试环境搭建
一.测试环境搭建. 注:由于window版本的omni出现同步不了的问题,推荐使用linux系统进行usdt测试链的搭建. 1.下载omnicore: wget https://bintray.com ...
- 柠檬班接口测试Tomcat+MySQL测试环境搭建
Tomcat+MySQL测试环境搭建 安装Tomcat运行环境 配置MySQL数据库 发布项目 配置数据库开机自启 遇到的问题 安装Tomcat运行环境 参考链接: https://blog.csdn ...
- VRP远程管理(华为设备telnet登录密码配置与测试环境搭建)——在物理机上创建回环网卡及eNSP模拟器与物理机实现连接通信
目录 一.在网络连通的情况下,开启telnet服务 二.用户认证配置 1. 密码认证模式 2. aaa认证模式 三.eNSP模拟器telnet测试环境搭建 1.在物理机上创建回环网卡及IP地址配置 2 ...
- 微信局域网测试环境搭建方法
微信局域网测试环境搭建方法 微信现在越来越火,很多人想自己研究一下微信开发,但在开发平台认证的时候,必须通过80端口认证. 很多的宽带服务商把公司宽带的80端口封了, 而微信开发模式中服务器配置要求填 ...
最新文章
- Windows API 的数据类型与 Delphi 数据类型对照表
- [网络收集]avascript中top.location.href 与 location.href的区别
- Android开发之git命令创建tag提交远程仓库的方法(图文教程)
- [Leetcode]-- Valid Number
- python语言合法命名的_python语言合法命名_python合法命名
- 10张图,让你瞬间给自己减压
- 自动化测试工具Selenium
- 优化性能一点总结,供大家参考
- 云优CMS发布接口模块—免登录通用版
- 【转载】堆排序算法(图解详细流程)
- 电子科技大学生物信息学 重点
- 在idear中基于ssm框架做一个项目需要考虑的基本步骤
- 关于Node.js中内存管理的思考与实践
- BK7256,上海博通-音视频Wi-Fi6combo-soc,内置Flash,RGB屏驱\720P
- Learning Deep Similarity Models with Focus Ranking for Fabric Image Retrieval 学习笔记
- 2017广东工业大学程序设计竞赛决赛 E-倒水(Water) (二进制的应用) + H-tmk买礼物(dp思想)
- 【一起入门NLP】中科院自然语言处理作业五:BiLSTM+Attention实现SemEval-2010 Task 8上的关系抽取(Pytorch)【代码+报告】
- 10张图了解UWB技术的工作原理
- Windows“自动修复”无法修复
- 超实数与布尔巴基学派