mqtt连接阿里云

参考文章:https://blog.csdn.net/fang_dz999/article/details/112283742?app_version=6.2.5&code=app_1562916241&csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22112283742%22%2C%22source%22%3A%22mantouyouyou%22%7D&uLinkId=usr1mkqgl919blen&utm_source=app
https://blog.csdn.net/weixin_49576307/article/details/124921354?utm_medium=distribute.pc_relevant.none-task-blog-2defaultbaidujs_baidulandingword~default-4-124921354-blog-112283742.235v40pc_relevant_anti_vip_base&spm=1001.2101.3001.4242.3&utm_relevant_index=7

1、创建产品

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2、创建设备

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3、创建云产品流转规则

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.1编辑这个云产品流转规则,定义消息的源头以及消息的目的地

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

4、产品处自定义一个既能发布又能订阅的Topic类列表

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

5、MQTT.FX连接测试

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

连接阿里云MQTT需要以下步骤: 1. 在阿里云控制台创建一个MQTT实例,并获取实例的连接信息,包括Broker地址、端口号、用户名和密码等。 2. 在Qt项目中使用paho.mqtt.c库或MQTT-C++库实现MQTT连接,需要在项目中添加对应的头文件和库文件。 3. 在代码中设置MQTT连接参数,包括Broker地址、端口号、用户名和密码等。 4. 实现MQTT回调函数,处理MQTT消息的接收和发送。 以下是一个使用MQTT-C++库连接阿里云MQTT的示例代码: ```cpp #include <iostream> #include <mqtt/async_client.h> const std::string SERVER_ADDRESS("tcp://<your-broker-address>:<your-broker-port>"); const std::string CLIENT_ID("<your-client-id>"); const std::string TOPIC("<your-topic>"); const int QOS = 1; class mqtt_callback : public virtual mqtt::callback { public: virtual void connection_lost(const std::string& cause) { std::cout << "Connection lost: " << cause << std::endl; } virtual void message_arrived(mqtt::const_message_ptr msg) { std::cout << "Message arrived: " << msg->get_payload_str() << std::endl; } virtual void delivery_complete(mqtt::delivery_token_ptr token) { std::cout << "Delivery complete for token: " << token->get_message_id() << std::endl; } }; int main(int argc, char* argv[]) { mqtt::async_client client(SERVER_ADDRESS, CLIENT_ID); mqtt::connect_options conn_opts; conn_opts.set_keep_alive_interval(20); conn_opts.set_clean_session(true); conn_opts.set_user_name("<your-username>"); conn_opts.set_password("<your-password>"); mqtt_callback cb; client.set_callback(cb); try { mqtt::token_ptr conntok = client.connect(conn_opts); conntok->wait(); mqtt::token_ptr subtok = client.subscribe(TOPIC, QOS); subtok->wait(); while (true) { mqtt::message_ptr pubmsg = mqtt::make_message(TOPIC, "Hello, world!"); pubmsg->set_qos(QOS); mqtt::token_ptr pubtok = client.publish(pubmsg); pubtok->wait(); } mqtt::token_ptr unsubtok = client.unsubscribe(TOPIC); unsubtok->wait(); mqtt::token_ptr disctok = client.disconnect(); disctok->wait(); } catch (const mqtt::exception& exc) { std::cerr << "MQTT Exception: " << exc.what() << std::endl; return 1; } return 0; } ``` 在这个例子中,我们使用了mqtt::async_client类来创建MQTT连接,设置连接参数并订阅一个主题。在主循环中,我们发送一个消息并等待回复。当程序退出时,我们取消订阅并断开连接。 注意:在实际使用中,需要将<your-broker-address>、<your-broker-port>、<your-client-id>、<your-username>和<your-password>替换为阿里云MQTT实例的具体信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

秃秃秃秃哇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值