基于开源 Net MQTT Client 连接阿里云物联网平台

简介: 前面分别介绍了基于开源MQTT Client Java及Python语言连接阿里云物联网平台的示例,这里使用M2Mqtt Client C#进行测试,结合自定义Topic演示消息的上下行。

概述

前面分别介绍了基于开源MQTT Client Java及Python语言连接阿里云物联网平台的示例,这里使用M2Mqtt Client C#进行测试,结合自定义Topic演示消息的上下行。

操作步骤

1、安装M2Mqtt
_

2、Code sample

using System;
using System.Text;
using uPLibrary.Networking.M2Mqtt;
using uPLibrary.Networking.M2Mqtt.Messages;

namespace MQTTDemo
{
    class Program
    {
        //private MqttClient client;
        static void Main(string[] args)
        {
            string ServerUrl = "*****.iot-as-mqtt.cn-shanghai.aliyuncs.com";
            string UserName = "******";
            string Password = "******";
            string clientId = "******";

            ConnectMqtt(ServerUrl, clientId, UserName, Password);

            Console.ReadKey();
        }

        static void ConnectMqtt(string targetServer, string mqttClientId, string mqttUserName, string mqttPassword)
        {
            MqttClient client = new MqttClient(targetServer);
            client.ProtocolVersion = MqttProtocolVersion.Version_3_1_1;

            client.Connect(mqttClientId, mqttUserName, mqttPassword, false, 60);
            client.MqttMsgPublishReceived += Client_MqttMsgPublishReceived;

            // 在产品控制台创建对应的自定义Topic,然后在设备Topic列表即可获取
            string PubTopic = "/******/******/user/Data1";
            string SubTopic = "/******/******/user/Data2";

            // 发布消息到自定义Topic
            string content = "{'content':'msg from :" + mqttClientId + ", Hello World'}";
            var id = client.Publish(PubTopic, Encoding.UTF8.GetBytes(content));

            // 从自定义Topic订阅消息
            client.Subscribe(new string[] { SubTopic }, new byte[] { 0 });
        }

        /// <summary>
        /// 设置订阅回调
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        static void Client_MqttMsgPublishReceived(object sender, MqttMsgPublishEventArgs e)
        {
            // handle message received
            string topic = e.Topic;
            string message = Encoding.UTF8.GetString(e.Message);
            Console.WriteLine("Device receive message topic :" + topic + " ,the message body is " + message);
        }
    }
}
AI 代码解读

签名方式的获取参考链接

3、消息上行查看

_

4、下行消息测试
_
_

更多参考

C#语言.NET平台接入
基于开源JAVA MQTT Client连接阿里云IoT
阿里云物联网平台Qucik Start
基于开源Python MQTT Client连接阿里云IoT

相关实践学习
部署Stable Diffusion玩转AI绘画(GPU云服务器)
本实验通过在ECS上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。
目录
打赏
0
1
0
0
913
分享
相关文章
【实践】快速学会使用阿里云消息队列RabbitMQ版
云消息队列 RabbitMQ 版是一款基于高可用分布式存储架构实现的 AMQP 0-9-1协议的消息产品。云消息队列 RabbitMQ 版兼容开源 RabbitMQ 客户端,解决开源各种稳定性痛点(例如消息堆积、脑裂等问题),同时具备高并发、分布式、灵活扩缩容等云消息服务优势。
193 2
《阿里云产品四月刊》—Apache RocketMQ ACL 2.0 全新升级(1)
阿里云瑶池数据库云原生化和一体化产品能力升级,多款产品更新迭代
392 1
《阿里云产品四月刊》—Apache RocketMQ ACL 2.0 全新升级(1)
《阿里云产品四月刊》—Apache RocketMQ ACL 2.0 全新升级(4)
阿里云瑶池数据库云原生化和一体化产品能力升级,多款产品更新迭代
232 1
《阿里云产品四月刊》—Apache RocketMQ ACL 2.0 全新升级(4)
基于阿里云MQTT服务,设计一个STM32的智能光伏控制系统
这篇文章详细介绍了利用STM32F103C8T6单片机实现光伏发电系统的关键技术。全文分为四章:第一章阐述了光伏发电的背景、意义及应用场景,强调其在绿色能源领域的重要性。第二章介绍了如何通过STM32F103C8T6及光敏电阻和伺服电机实现光线追踪系统,详细描述了硬件选择、连接及使用HAL库编写的单片机程序。第三章讲解了最大功率点追踪(MPPT)的原理,并展示了如何利用STM32F103C8T6和相关传感器、DC-DC转换器实现MPPT功能。第四章描述了如何通过STM32F103C8T6与SIM7600CE 4G模块连接到阿里云MQTT服务,实现设备状态数据的远程传输和控制。本文提供了全面的硬
17837 5
《阿里云产品四月刊》—Apache RocketMQ ACL 2.0 全新升级(2)
阿里云瑶池数据库云原生化和一体化产品能力升级,多款产品更新迭代
334 0
《阿里云产品四月刊》—Apache RocketMQ ACL 2.0 全新升级(2)
消息队列 MQ产品使用合集之C++如何使用Paho MQTT库进行连接、发布和订阅消息
消息队列(MQ)是一种用于异步通信和解耦的应用程序间消息传递的服务,广泛应用于分布式系统中。针对不同的MQ产品,如阿里云的RocketMQ、RabbitMQ等,它们在实现上述场景时可能会有不同的特性和优势,比如RocketMQ强调高吞吐量、低延迟和高可用性,适合大规模分布式系统;而RabbitMQ则以其灵活的路由规则和丰富的协议支持受到青睐。下面是一些常见的消息队列MQ产品的使用场景合集,这些场景涵盖了多种行业和业务需求。
阿里云云消息队列RabbitMQ实践解决方案评测报告
阿里云云消息队列RabbitMQ实践解决方案评测报告
126 9
RocketMQ—一次连接namesvr失败的案例分析
项目组在使用RocketMQ时遇到Consumer连接Name Server失败的问题,异常显示连接特定地址失败。通过Arthas工具逐步分析代码执行路径,定位到创建Channel返回空值导致异常。进一步跟踪发现,问题源于Netty组件在初始化`ByteBufAllocator`时出现错误。分析依赖后确认存在Netty版本冲突。解决方法为排除冲突的Netty包,仅保留兼容版本。
544 0
RocketMQ—一次连接namesvr失败的案例分析
《阿里云产品四月刊》—Apache RocketMQ ACL 2.0 全新升级(7)
阿里云瑶池数据库云原生化和一体化产品能力升级,多款产品更新迭代
160 1
《阿里云产品四月刊》—Apache RocketMQ ACL 2.0 全新升级(7)
《阿里云产品四月刊》—Apache RocketMQ ACL 2.0 全新升级(6)
阿里云瑶池数据库云原生化和一体化产品能力升级,多款产品更新迭代
157 1
《阿里云产品四月刊》—Apache RocketMQ ACL 2.0 全新升级(6)

物联网

+关注

相关产品

  • 物联网平台
  • AI助理

    你好,我是AI助理

    可以解答问题、推荐解决方案等