网上提供mqtt服务的有两种形式:
1、直接用线上的MQTT服务器来部署。很多都有在线调试的选项。如果不要在线调试也可以用本地的客户端例如MQTTX来调试。
像这样即可订阅,但是有缺点。
缺点就是由于是公共的域名/服务器地址,公用的端口,而且如果订阅的主题一样的话,很容易就是数据泄露。你的数据会发给别人,别人也会发给你。
所以才有另一种方式,在自己的云服务器上部署MQTT云服务器(可以选择阿里云、华为云)
2、开通阿里云MQTT服务
2、进入子页面,点击立即购买。
等待1-10分钟,刷新一下网页就可以看到服务已经开通。
点击“实例列表”,并修改到前面服务所选择的区域,否则你找不到刚刚开通的服务。
点击服务,进入配置页面。
新建Topic:点击“Topic管理”,“创建Topic”,随便写个主题名。
新建组(Group):点击“Group管理”,“创建Group”,Group ID随便写,这里设置为“GID_MQTT_TEST”。
注意:后面MQTT.fx的Client ID都要基于这个Group ID,后面添加@@@和编号。
获取AccessKey:将鼠标放到界面右上角的头像处,点击AccessKey管理。
打开MQTT.fx。
点击小齿轮进入配置界面。
点击左下角的“+”号。
然后填写
阿里云控制台——用户名和密码设置
1、生成用户名和密码:进入“签名校验”,输入刚刚MQTT.fx的Client ID,并将之前生成的AccessKey ID和AccessKey Secret复制进来,点击计算签名。
2、回到MQTT.fx:将得到的用户名(User Name)和密码(Password)复制进MQTT.fx的配置界面。
点击Apply保存。
连接服务器、订阅主题、发送消息
1、点击Connect连接服务器:
如果右侧显示绿色,说明连接成功。
2、订阅主题:点击“Subscribe”,在下方文本框内输入之前设置的主题名,点击右侧的“Subscribe”按钮。
可以发现下方多出来了一行主题,说明订阅成功了。
3、查看阿里云控制台
点击设备状态查询,选择Group ID,输入Device ID查询就可以看到MQTT.fx已经成功订阅了Topic。
4、发送数据:
使用MQTT.fx在“HappyChristmas”主题下发送数据。
5、接收到订阅主题下的数据:
可以看到订阅端也可以看到该数据。
实验验证成功。