系列教程目录

(一) 连接阿里云IOT

(二) 设置委托事件

(三) 上报属性

(四)  SDK文档 属性、方法、委托、类

http://pan.whuanle.cn/index.php?dir=uploads/阿里云IOT/AliIOTXFclient-dll类库&response

下载三个库,头部引入 即可使用

  1. using AliIOTXFClient;

示例下载地址

http://pan.whuanle.cn/index.php?dir=uploads/阿里云IOT/demo示例

本章使用示例 AliIOTXF.One

二,阿里云 IOT 创建产品设备

打开地址 https://iot.console.aliyun.com/product

创建一个产品

节点类型选择设备、非网关,因为是直接对接有网络能力的设备。透传需要写 JS 解析脚本,Alink Json 使用方便、不易出错,也更便于理解。ID² 提供了双向身份认证能力,但是收费。

创建设备

创建成功后记得 “ 一键复制 ” ,然后存放到记事本等保存。(保不保存没事,可以到里面复制)

附上阿里云创建产品的文档 https://help.aliyun.com/document_detail/73705.html?spm=a2c4g.11174283.6.553.3a8b1668QRyRs7

创建后的设备

三,创建项目,连接阿里云

随意创建一个 .NET Core 项目,引入三个 Dll,记得选择复制到本地。

头部引入

  1. using AliIOTXFClient;

创建连接客户端

把一键复制的内容或到控制台--具体设备中,复制 ProductKey 和 DeviceName。

  1. XFMQTT client = new XFMQTT(ProductKey, DeviceName);  // 创建连接对象

初始化配置

DeviceSecret 到控制台复制,Region ID 是地域,可以在控制台左上角看到地域名称,点击 查看阿里云 IOT 地域,把对应的 Region ID 复制下来。例如笔者的是华东2,对应 cn-shanghai。

  1. client.Init(DeviceSecret, Region ID);  // 初始化客户端

添加要订阅的 Topic

需要具有 “订阅” 权限的 Topic 才能被订阅。并且只有 .../user/... 的,属于普通 Topic。这方面后面再说,看图。

update、update/error、get 属于默认的Topic。

我们创建自定义的 Topic,点击 对应的 “产品”--查看 Topic 类列表,“自定义Topic类”

添加两个自定义的 Topic

在项目代码中

  1. // 要订阅的Topic
  2. string[] topic = { client.CombineHeadTopic("PubData") };

要订阅多个Topic,在里面添加即可。client.CombineHeadTopic() 方法可以根据Topic名称帮助生成完整的Topic。

当然,你也可以直接

  1. string[] topic = { "/a1BiPoNawLI/${deviceName}/user/PubData" };

多个 Topic string[] topic = { top1,top2.,,,, };

绑定事件委托

在连接服务器、收到 Topic、发布 Topic、发布属性、服务调用等各个环节,都有相应的委托。

这里使用默认的委托事件,后面慢慢如何自定义

  1. // 使用默认的委托事件
  2. client.UseDefaultEventHandler();

开始连接IOT服务器

  1. // 连接服务器
  2. client.ConnectMqtt(topic);

别忘记了加一行 Console.ReadKey();

完整代码

  1. // 创建连接对象
  2. XFMQTT client = new XFMQTT("a1BiPoNawLI", "Raspberry");
  3. // 初始化客户端配置
  4. client.Init("2NOaBeqXcIzLQEhlJFEfKbWeug0o3m0c", "cn-shanghai");
  5. // 要订阅的Topic
  6. string[] topic = { client.CombineHeadTopic("PubData") };
  7.  
  8. // 使用默认的委托事件
  9. client.UseDefaultEventHandler();
  10.  
  11. // 连接服务器
  12. client.ConnectMqtt(topic);
  13.  
  14. Console.ReadKey();

创建一般的连接客户端的步骤已经完成,运行程序

四,订阅 Topic 与发布 Topic

运行程序后,打开控制台--设备列表,会发现

发送 Topic

打开设备,找到 Topic 列表的 PubData,点击 ”发布“,输入任意字符(中文可能会乱码),查看客户端会不会收到内容。

注:只有权限为订阅的Topic,能够向设备下发数据。

设备中,只有设置订阅该 Topic,在控制台发布消息时,才能收到此 Topic。在控制台多找几个Topic,试试发布一下就知道了。

发布Topic

上面的步骤实现了连接 IOT 平台并订阅 Topic,这样可以收到服务器的推送或者说收到数据了,Topic 可以订阅很多个,在客户端设置需要的 Topic,服务器能向客户端设备发布成功。下面来示范一下如何发布数据内容到服务器。

在代码后面加上

  1. while (true)
  2. {
  3. string str=Console.ReadLine();
  4.  
  5. // 推送内容到特定的 Topic
  6. client.Subscribe(client.CombineHeadTopic("SubData"),str);
  7. }

SubData 是我们要推送到的Topic。

完整代码如下(请替换 {***} 的对应内容),红色部分是新增代码:

  1. // 创建连接对象
  2. XFMQTT client = new XFMQTT("{*产品名称*}", "{*设备名称*}");
  3. // 初始化客户端配置
  4. client.Init("{*密钥*}", "{*cn-shanghai*}");
  5. // 要订阅的Topic
  6. string[] topic = { client.CombineHeadTopic("PubData") };
  7.  
  8. // 使用默认的委托事件
  9. client.UseDefaultEventHandler();
  10.  
  11. // 连接服务器
  12. client.ConnectMqtt(topic);
  13.  
  14. while (true)
  15. {
  16. string str=Console.ReadLine();
  17. // 推送内容到特定的 Topic
  18. client.Subscribe(client.CombineHeadTopic("SubData"),str);
  19. }
  20.  
  21. Console.ReadKey();

运行程序,随意输入内容。在控制台知道日志服务,查看设备的上行消息分析

IOT控制台中暂时没法查看到上传的消息内容。

使用了默认的委托方法,可以在控制台中复制文字,使用Json格数化看看结果。

简单使用 SDK 的教程就到这里了

.NET Core 跨平台物联网开发:连接阿里云IOT(一)的更多相关文章

  1. .NET Core 跨平台物联网开发:设置委托事件(二)

    系列教程目录 (一) 连接阿里云IOT (二) 设置委托事件 (三) 上报属性 (四)  SDK文档 属性.方法.委托.类 http://pan.whuanle.cn/index.php?dir=up ...

  2. .NET Core 跨平台物联网开发:上报属性(三)

    系列教程目录 (一) 连接阿里云IOT (二) 设置委托事件 (三) 上报属性 (四)  SDK文档 属性.方法.委托.类 http://pan.whuanle.cn/index.php?dir=up ...

  3. .NET Core 跨平台物联网开发:SDK 属性、方法、委托、类(四)

    系列教程目录 (一) 连接阿里云IOT (二) 设置委托事件 (三) 上报属性 (四)  SDK文档 属性.方法.委托.类 http://pan.whuanle.cn/index.php?dir=up ...

  4. 10分钟物联网设备接入阿里云IoT平台

    前言最近尝试了一下阿里云IoT物联网平台,还是蛮强大的.在此记录一下学习过程.本教程不需要任何外围硬件,一台电脑和一根能上网的网线即可.算是一篇Hello World了.先上效果图 第一章 准备工作1 ...

  5. 【阿里云IoT+YF3300】1.时代大背景下的阿里云IoT物联网的现状和未来

    “未来十到二十年,大家基本已经形成了一个共识,那便是新格局的奠定将由 AI 和物联网技术来支撑.放眼国内,在这些互联网巨头之中,未来真正成为竞争对手厮杀的,阿里和华为是首当其冲,在这两个领域双方分别暗 ...

  6. 【阿里云IoT+YF3300】13.阿里云IoT Studio WEB监控界面构建

    Web可视化开发是阿里云IoT Studio中比较重要的一个功能,通过可视化拖拽的方式,方便地将各种图表组件与设备相关的数据源关联,无需编程,即可将物联网平台上接入的设备数据可视化展现. 目前支持的组 ...

  7. 阿里云IoT初试

    本文从概念到实战,以一个假想产品--"电子货架标签"(Electronic Shelf Label,以下简称ESL)为例,介绍基于阿里云IoT的物联网应用开发. 数据交互流程 以云 ...

  8. 阿里云物联网 .NET Core 客户端 | CZGL.AliIoTClient:1. 连接阿里云物联网

    文档目录: 说明 1. 连接阿里云物联网 2. IoT 客户端 3. 订阅Topic与响应Topic 4. 设备上报属性 4.1 上报位置信息 5. 设置设备属性 6. 设备事件上报 7. 服务调用 ...

  9. 【阿里云IoT+YF3300】8.物联网设备用户脚本开发

    除了我们必须熟悉的网页脚本,比如JavaScript.其实在工业自动化中,组态软件是必备脚本的,只是有的脚本语言风格类似C或类似Basic而已.比如昆仑通泰的组态屏中的组态软件.通过安装组态软件可以简 ...

随机推荐

  1. CellularAutomation(细胞自己主动机)

    CellularAutomation(细胞自己主动机) 细胞自己主动机(英语:Cellular automaton).又称格状自己主动机.元胞自己主动机,是一种离散模型,在可算性理论.数学及理论生物学 ...

  2. MVC上传文件并模拟进度条

    进度条样式和JS <style type="text/css"> .spa { font-size: 12px; color: #0066ff; } .put { fo ...

  3. 转移iOS App常见问题和回答

    打算转移公司的app,做下转移的记录 怎样转移app官方的一个视频:http://v.youku.com/v_show/id_XNjI0MjQxMzI0.html 以下是apple官方转移常见问题回答 ...

  4. scrollTo(String text) and scrollToExact(String text) method of Android Driver not working

    Using the scrollTo(String text) and scrollToExact(String text) method of Android Driver. However the ...

  5. appium部分api

    转自:http://www.aichengxu.com/view/41510 使用的语言是java,appium的版本是1.3.4,java-client的版本是java-client-2.1.0,建 ...

  6. Python开发【第3节】【Python分支结构与循环结构】

    1.流程控制  流程: 计算机执行代码的顺序就是流程 流程控制: 对计算机代码执行顺序的管理就是流程控制 流程分类: 流程控制共分为3类: 顺序结构 分支结构/选择结构 循环结构 2.分支结构(if. ...

  7. Codeforces Round #422 (Div. 2) C. Hacker, pack your bags! 排序,贪心

    C. Hacker, pack your bags!     It's well known that the best way to distract from something is to do ...

  8. acd - 1427 - Nice Sequence(线段树)

    题意:一个由n个数组成的序列(序列元素的范围是[0, n]).求最长前缀 j .使得在这个前缀 j 中对于随意的数 i1 < i2.都满足随意的 m <= j.i1 在前 m 个数里出现的 ...

  9. ABAP debug遇到问题

    新项目的系统,调试是老出现这个框不断弹出,一堆出来 都来不及关. 不确定是不是因为可用对话框不够的原因.

  10. sql server filter table name

    https://stackoverflow.com/questions/26577464/how-to-find-a-table-in-sql-server-if-only-the-partial-t ...