MQTT系列:(一)NodeRed+MQTTX进行mqtt的数据收发测试

目录

(一)NodeRed+MQTTX进行mqtt的数据收发测试


一、前期准备

1:NodeRed安装
1.1:安装NodeJs——nodejs下载官网地址: https://nodejs.org/en/,安装完成后敲入

node -v
npm -v

出现版本信息,说明安装成功
在这里插入图片描述
1.2:安装NodeRed——输入:npm install -g --unsafe-perm node-red,出现如下界面说明安装成功
在这里插入图片描述
1.3:最后执行 node-red,即可启动Node-RED服务, 我们在浏览器输入终端打印的如下地址即可访问使用:
在这里插入图片描述
运行后的界面如下:
在这里插入图片描述
2:MQTTX安装
2.1:MQTT X下载地址:https://mqttx.app/zh

二、使用步骤

1.配置NodeRed

1.1:运行Nodered,url地址:http://127.0.0.1:1880/
1.2:安装搜索node-red-contrib-aedes:右上角菜单->节点管理->控制板->安装搜索
在这里插入图片描述
1.3:之后在网络插件中可以看到aedes broker
1.4:拖拽aedes broker到工作区进行配置
1.4.1:Connection
在这里插入图片描述
1.4.2:Security
在这里插入图片描述
1.4:拖拽mqtt in创建mqtt客户端,这里服务端采用broker.emqx.io,此地址为mqttx软件里默认的服务器地址。
在这里插入图片描述
1.5:部署
点击部署,mqtt-broker显示有连接connected,mqtt in节点也已连接
在这里插入图片描述

2.配置MQTTX

2.1:同样进行mqtt服务器的配置,填写服务器地址,如果在nodered中配置了用户名和密码,记得也要一并添加。
在这里插入图片描述
2.2:给plc/data发送消息
在这里插入图片描述
2.3:nodered显示如下
在这里插入图片描述

总结

例如:以上就是今天要讲的内容,本文仅仅简单介绍了mqttx和nodered的使用,并进行了一个简单的发送测试。有不足之处,还请指正。

参考

综合使用:https://blog.csdn.net/zhaolulu916/article/details/126220551
NodeRed安装:https://zhuanlan.zhihu.com/p/366164122
MQTTX安装:https://blog.csdn.net/GyaoG/article/details/125173911

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是使用C++ paho mqtt库中的mqtt::topic发布json对象的示例代码: ```c++ #include <iostream> #include <cstring> #include <cstdlib> #include <cstdio> #include <json/json.h> #include "mqtt/async_client.h" using namespace std; const string ADDRESS("tcp://localhost:1883"); const string CLIENTID("AsyncPublisher"); const string TOPIC("test"); const int QOS = 1;const int TIMEOUT = 10000L; class callback : public virtual mqtt::callback { public: virtual void connection_lost(const std::string& cause) { cout << "\nConnection lost" << endl; if (!cause.empty()) cout << "\tcause: " << cause << endl; } virtual void delivery_complete(mqtt::delivery_token_ptr token) { cout << "\n\tDelivery complete for token: " << (token ? token->get_message_id() : -1) << endl; } }; int main(int argc, char* argv[]) { mqtt::async_client client(ADDRESS, CLIENTID); mqtt::connect_options connOpts; connOpts.set_keep_alive_interval(20); connOpts.set_clean_session(true); callback cb; client.set_callback(cb); try { mqtt::token_ptr conntok = client.connect(connOpts); conntok->wait_for_completion(); Json::Value root; root["name"] = "John"; root["age"] = 25; root["email"] = "john@example.com"; string json_str = root.toStyledString(); mqtt::message_ptr pubmsg = mqtt::make_message(TOPIC, json_str); pubmsg->set_qos(QOS); mqtt::delivery_token_ptr pubtok = client.publish(pubmsg); pubtok->wait_for_completion(TIMEOUT); cout << "Message '" << json_str << "' published to topic '" << TOPIC << "'" << endl; client.disconnect()->wait_for_completion(); } catch (const mqtt::exception& exc) { cerr << exc.what() << endl; return 1; } return 0; } ``` 在这个示例中,我们使用了Jsoncpp库来创建一个Json对象,并将其转换为字符串。然后,我们使用mqtt::make_message()函数创建一个mqtt::message_ptr对象,该对象包含要发布的主题和消息。最后,我们使用mqtt::async_client类的publish()函数将消息发布到主题上。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值