1、第三方企业级开源的MQTT服务(自带PC图形界面客户端mqttx不会用):
EMQX开源版部署后,官方默认账号密码为admin/public
2、开源的MQTT服务及客户端(我们只用其linux客户端):
https://www.csdn.net/tags/OtDaQgxsODkyMTMtYmxvZwO0O0OO0O0O.html
yum install mosquitto安装后,就自带了mqtt客户端和服务端(目前并不需要独立安装什么mosquitto-clients,想装也装不到!)。
其中启动服务端:systemctl start mosquitto(前提确保1883端口没有被占用!),用客户端无非是pub和sub,以下分别是客户端实现sub主题和pub发布消息,并且不用自带的mosquitto服务,二是用1中的第三方的emqx服务,分别直接用mosquitto_sub、mosquitto_pub命令来实现客户端sub和pub:
mosquitto_sub -h sys.aiotos.net -t "iotostest" -v -u admin -P public
mosquitto_pub -h sys.aiotos.net -t "iotostest" -m "hello iotos" -u admin -P public
mosquitto_sub命令运行的时候会阻塞等待消息接受,在新窗口进行mosquitto_pub时,对应的消息message就会到前面sub阻塞中的到打印输出!至此,实现第三方通用 MQTT客户通过用户名密码连接访问其他企业级MQTT服务实现sub和pub通信!(即时第三方MQTT服务封装再多,比如集群、黑白名单等等非常多的功能,但是基本的都是兼容MQTT协议,最基本都是能通用的,不会非得自家客MQTT客户端才能用!)
其中,指令使用分别解释如下:
1)订阅主题
mosquitto_sub -h localhost -t "iotos_test" -v -u admin -P public
//mosquitto_sub : 订阅主题命令
//-h : 指定连接的MQTT服务器 ,此处使用本地主机localhost
//-t : 指定订阅的主题,此处为mqtt
//-v : 打印更多的调试信息
// -u 指定broker访问用户
// -P 指定broker访问密码
2)发布主题
mosquitto_pub -h localhost -t "iotos_test" -m "hello iotos" -u admin -P public
//mosquitto_pub : 发布消息的命令
//-h : 指定连接的MQTT服务器,此时使用本地主机
//-t : 指定订阅的主题,从处为mqtt
//-m : 指定发布的消息,此处为"hello mqtt
// -u 指定broker访问用户
// -P 指定broker访问密码