通过mqtt工具,连接阿里云iot进行快速调试,部署

基于.net core3.1对接阿里云iot的mqtt协议的源代码(wpf)

通过阿里云的ProductKey,DeviceName,DeviceSecret,RegionId三元组数据,执行以下代码,

app.config文件

<add name="ProductKey" connectionString="a1eAKoQBN"/>
<add name="DeviceName" connectionString="test"/>
<add name="DeviceSecret" connectionString="2d9c5027f05f8e047dba4ef7bd8e24"/>
<add name="RegionId" connectionString="cn-shanghai"/>
<add name="PubTopic" connectionString="user/update"/>
<add name="SubTopic" connectionString="user/get"/>

main文件

using uPLibrary.Networking.M2Mqtt;
using uPLibrary.Networking.M2Mqtt.Messages;
//iot
private static readonly string ProductKey = ConfigurationManager.ConnectionStrings["ProductKey"].ConnectionString;
private static readonly string DeviceName = ConfigurationManager.ConnectionStrings["DeviceName"].ConnectionString;
private static readonly string DeviceSecret = ConfigurationManager.ConnectionStrings["DeviceSecret"].ConnectionString;
private static readonly string RegionId = ConfigurationManager.ConnectionStrings["RegionId"].ConnectionString;
private static readonly string PubTopicUser = "/" + ProductKey + "/" + DeviceName + "/" + ConfigurationManager.ConnectionStrings["PubTopic"].ConnectionString;
private static readonly string SubTopicUser = "/" + ProductKey + "/" + DeviceName + "/" + ConfigurationManager.ConnectionStrings["SubTopic"].ConnectionString;
private static readonly string PubTopic = "/sys/" + ProductKey + "/" + DeviceName + "/" + "thing/event/property/post";
private static readonly string SubTopic = "/sys/" + ProductKey + "/" + DeviceName + "/" + "thing/service/property/set";								

IPHostEntry host = Dns.GetHostEntry(Dns.GetHostName());
string clientId = host.AddressList.FirstOrDefault(ip => ip.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork).ToString();
string t = Convert.ToString(DateTimeOffset.Now.ToUnixTimeMilliseconds());
string signmethod = "hmacmd5";
Dictionary<string, string> dict = new Dictionary<string, string>
{
    { "productKey", ProductKey },
    { "deviceName", DeviceName },
    { "clientId", clientId },
    { "timestamp", t }
};

string mqttBrokerAddress = ProductKey + ".iot-as-mqtt." + RegionId + ".aliyuncs.com";
string mqttClientId = clientId + "|securemode=3,signmethod=" + signmethod + ",timestamp=" + t + "|";
string mqttUserName = DeviceName + "&" + ProductKey;
string mqttPassword = Sign(dict, DeviceSecret, signmethod);

获得BrokerAddress,ClientId,UserName,Password,然后填写到mqtt.fx即可连接

在这里插入图片描述

可参考阿里官网的topic

在这里插入图片描述

  1. 使用参数:securemode=3,不需要对ssl/tls进行设置;
  2. 加密方式:使用hmacmd5加密方式;
  3. 此处没有上传生成的exe文件。如需其他网关盒子进行对接阿里云平台的资源。
  4. github项目拉取:https://github.com/karrem/aliyunIot-mqtt-tool
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

灬辛敏灬

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

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

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

打赏作者

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

抵扣说明:

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

余额充值