使用的是虚拟机vm装的ubuntu18,根据官方文档进行的安装mqtt中的服务器EMQX一种可视化的服务器,简单明了。
选择安装的版本
照着文档来,安装完之后启动使用sudo ./emqx start, ./emqx start ,或者 su 输入密码 emqx start 启动emqx,常见不知道的问题之一
这个是已经启动了,可以使用emqx stop 关闭,
启动完了之后可以进入web界面查看自己的emqx,根据当前电脑ip来进行访问 ifconfig 如果报错说什么你没安装那就安装安装完了在ifconfig,然后可以查看到自己ip
进入浏览器里面外面都行(虚拟机)
输入 http://ip:18083/ 默认账号 admin 密码public进去之后可以对ui界面语言修改左边最后一个的最后一个选项进去第一行就是,改完语言之前他可能让你不要使用系统默认的密码让你修改esc了还能进去个人头像用户管理ui界面都认识我都不介绍那么消息了
然后这样就能基本使用自己看看属性个大概
然后下载一个叫做MQTTX的插件简单实现通信应用商店搜然后下
安装完成之后点进去可以看到一点东西,还是老样子左下角最后一个就是设置自己看设置语言
然后点击左边第一个图标进行新建第二个也行接下来进行编译
写完进行连接
完事儿之后可以在web上面看见自己创建的那俩结点
然后通信
到 tow
可以看到01 发给02的消息
可以看到02发给01的消息
MQTTX通信就这点东西都是编写一点玩意没意思
代码实现
接受消息的
import paho.mqtt.client as mqtt
def on_connect(client,userdata,flags,rc):
print("connected with result code " + str(rc))
# 打印状态
def on_message(client,userdata,msg):
print(msg.topic +" " +":"+str(msg.payload,encoding="utf-8"))
# 答应信息msg : 分开编码 不编码是 b "message"
client = mqtt.Client() # 实例化
client.on_connect = on_connect # 回调函数,直接调用方法
client.on_message = on_message # 回调函数,直接调用方法
client.username_pw_set("acg","lol") # 设置登陆的账号密码
client.connect("127.0.0.1",1883,60) # 设置 ip
client.subscribe("message") # 订阅
client.loop_forever() # 循环
发布消息的
import paho.mqtt.client as mqtt
def on_connect(client,userdata,flags,rc):
print("connected with result code " + str(rc))
# 打印状态
def on_message(client,userdata,msg):
print(msg.topic +" " +":"+str(msg.payload,encoding="utf-8"))
# 答应信息msg : 分开编码 不编码是 b "message"
client = mqtt.Client() # 实例化
client.on_connect = on_connect # 回调函数,直接调用方法
client.on_message = on_message # 回调函数,直接调用方法
client.username_pw_set("qwe","lol") # 设置登陆的账号密码
client.connect("127.0.0.1",1883,60) # 设置 ip
client.publish("message","hello word ros",2) # 订阅节点 发布消息 不知道