摘要:本文介绍如何使用mqtt.fx向mqtt服务器(EMQX)发送消息。顺便介绍一下labview与EMQX连接成功的实现效果。
上一篇文章介绍了如何在ubuntu下安装emqx服务器,以及如何使用mqtt.fx订阅服务器上的一个主题。
ubuntu系统下搭建本地物联网mqtt服务器的步骤
那么假如我们需要做一些终端设备,例如温湿度传感器、光照等物联网采集设备要接入呢?怎么样才能将数据报送到服务器呢?
以下内容基于我们ubuntu系统下的emqx成功启动的基础上。我们可以用浏览器键入控制板的地址,如果启动成功,那么就可以正常显示图形化控制台界面。
http://192.168.1.3:18083/
我们还用mqtt.fx软件来演示一下。首先打开软件,然后点击小齿轮来设置一些基本参数。
我们只需要设置一下IP地址就行了。端口仍然是1883
点击连接,指示灯显示为绿色就连接成功了。
接下来进入EMQX控制板界面,先不要管mqtt.fx。打开websocket客户端,然后连接并订阅主题。
这里需要说明以下,websocket客户端尽管运行在控制台上,但是它本质上仍然是一个“客户端”,而非服务器。一定要有这个认识。
现在我们回到mqtt.fx软件。在publish左侧的输入框中输入主题。由于我们订阅的是testtopic/#,我们用testtopic/之后跟任意数字都可以发送。在下面的输入框中输入想发送的消息。然后就可以点击发送了。
现在回到EMQX的控制台界面,打开websocket客户端观察。发现已经可以看到刚才发送的消息了。这就相当于一个物联网温度设备定时报送的温度,被另一个订阅了该主题的客户端收到。这个客户端可以是EMQX的服务器上的模拟客户端,也可以是一部手机,或者其他客户端。如果理解不了这个,请查阅博主的其他文章,或者查看MQTT通信原理。
至此就完成了通信的过程。
此外,我们还可以通过其他客户端来看这些数据,例如labview。博主写了一个程序,用来订阅testtopic/2主题,然后显示在波形组件中。