阿里云上通过MQTT协议,实现多设备的相互数据的稳定动态传输和使用(本地设备均采用c#窗体代码)第一篇-----云端开发·初

综述

  如标题所说,我要做的是在本地电脑上创建多个设备,需要的主要工具是装有 .NET SDK、安装了MQTT库4.3.0版本以及阿里云·物联网平台里的 .NET版本的SDK的Visual Stdio。(文章中我将展示的是两个设备间的数据相互传输)。
  首先要明确的是,我们要做的事情是什么。我将两个设备称为A和C,阿里云称为B。A和C都是订阅了B的设备。已经被订阅的B从设备A的topic中获取数据(A和C中的数据都是在本地程序运行的时候自己在textBox上输入的值,值可以不是数字,长度不限,但不支持中文),然后将得到的数据交给规则引擎处理后,数据将会被规则引擎发布到C的topic中,这样就完成了从A到C的单方面的数据传输;然后我还可以用同样的方法去实现从C到A的数据传输。整个过程均是动态完成,可以在数据的传输中,不限制地在textBox上进行数据的改变。
  我本地设备得到的数据我都通过C#窗体从message中读取出来以后显示在label上。

所需工具的确认和安装

  打开VisualStdio Installer后点击上方的单个组件后向下寻找到 .NET Framework的SDK和目标包,确认好至少安装了一个版本的SDK和目标包(博主这里使用的是4.6.1的版本)在这里插入图片描述
  现在我们来下载MQTT库的4.3.0版本,已经下载好的可以直接跳过这一段。首先我们需要在VS中创建两个C#窗体应用。创建完成以后,点开VS上方的“工具”,找到NuGet 包管理器,选择“程序包管理器控制台”,等待初始化结束以后在下方的PM>的后面输入“Install-Package M2Mqtt -Version 4.3.0”后按下回车,等待安装完成。(注:两个项目都需要安装)
  然后我们需要安装阿里云上物联网平台的SDK。进入 https://developer.aliyun.com/tools/sdk?spm=5176.11122631.962077.11.17e83801jxoNww#/dotnet ,下载 SDK核心库 以及 阿里云物联网平台 ,下载后解压得到dll文件。在项目中右击右方“解决方案资源管理器”中的引用,点击添加引用后选择浏览,将刚刚下载的两个dll文件导入,这样就完成了开始项目前的准备工作。

创建产品和设备

  在此之前,我们需要先注册一个阿里云上的账号,这个很简单,只需要百度阿里云然后注册一个账号即可,在此不做演示。然后进入链接 https://iot.console.aliyun.com/product?spm=a2c4g.11186623.2.16.18ce4c07ESOaSj 进行用户登录,将会出现如下所示的登录页面,提示输入用户名以及密码即可:在这里插入图片描述
  点击页面左边的“设备管理”->“产品”,在产品页面的右边有“创建产品”按钮:在这里插入图片描述
  点击该按钮之后,出现下面的“新建产品”页面:
在这里插入图片描述
  因为我们的连接方式是WiFi,所以就不需要再选择接入网关了,故选择的是否。以及ID2认证的话,除非需要很高的安全性,不然一般情况下也是选择否。

  在“产品列表”中打开具体的产品后,将会显示产品信息页面,其中有产品的型号(ProductKey)和产品密钥(ProductSecret),将数据保存在本地txt文档中,之后的程序中会用到这两个字符串。
在这里插入图片描述
创建产品完成以后点击“前往管理”进行设备的建立
在这里插入图片描述
点击“添加设备”
在这里插入图片描述
跳出如图的界面后自行填入DeviceName和备注名称,其中备注名称需要保存到txt文件中,之后的编程中需要使用在这里插入图片描述
点击确定后会跳出如图界面,将三个数据进行保存,之后的编程中也会用到
在这里插入图片描述
复制完成以后就会在设备列表中创建出一个未被激活的设备出来
在这里插入图片描述
  按照同样的操作,进行第二个设备的创建后,我们云端的初步开发就已经完成了,至于如何激活,还请参考这一系列的第二篇文章。谢谢大家,本节到此就结束了,如果有什么不足或者错误之处,还请斧正。

  • 7
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值