Azure IoT 技术研究系列2
来源:互联网 发布:张大奕淘宝店叫啥 编辑:程序博客网 时间:2024/06/13 06:43
上篇博文中,我们主要介绍了Azure IoT Hub的基本概念、架构、特性:
Azure IoT 技术研究系列1-入门篇
本文中,我们继续深入研究,做一个起步示例程序:模拟设备注册到Azure IoT Hub, 设备到云通信,云到设备通信。
整体篇幅较大,我们先来第一步:将模拟设备注册到Azure IoT Hub。
首先,我们需要有一个联网的设备,例如树莓派、Win10 IoT设备等等,只要能联网,Azure IoT Hub有编程SDK即可,为了方便演示,本篇中我们做了一个模拟设备:
TeldPile001,即001号充电桩。
然后,在正式编码前,需要我们在Azure New Portal中,添加自己的IoT Hub.
输入名称后,选择定价和缩放级别,这里我们做测试,使用免费的F1即可,同时新建资源组。
创建完成后,IoTTest即可使用了。
使用前,我们需要确定两个重要的连接配置:主机名和连接字符串,我们选择“概述”,右侧有个主机名,先复制下来备用。
然后选择共享访问策略:
将连接字符串-主秘钥,复制保存下来备用。
开始编码吧,我们创建一个Console工程叫做“RegisterDevice”,用于设备注册到Azure IoT Hub。同时添加重要的Nuget引用:
Microsoft.Azure.Devices
本文测试用的:<package id="Microsoft.Azure.Devices" version="1.2.4" targetFramework="net451" />
两个核心的Namespace:
using Microsoft.Azure.Devices;
using Microsoft.Azure.Devices.Common.Exceptions;
核心类:Microsoft.Azure.Devices.RegistryManager:设备注册管理器
我们设计一个方法,添加或者获取设备信息:
1 /// <summary> 2 /// 添加或获取设备信息 3 /// </summary> 4 /// <returns>Task</returns> 5 private static async Task AddOrGetDeviceAsync() 6 { 7 string deviceId = "TeldPile001"; 8 Device device; 9 try10 {11 device = await registryManager.AddDeviceAsync(new Device(deviceId));12 }13 catch (DeviceAlreadyExistsException)14 {15 device = await registryManager.GetDeviceAsync(deviceId);16 }17 18 Console.WriteLine("生成设备标识: {0}", device.Authentication.SymmetricKey.PrimaryKey);19 }
Main函数:
1 static void Main(string[] args)2 {3 var connectionString = "HostName=IoTTest.***-***;SharedAccessKeyName=iothubowner;SharedAccessKey=******";4 var registryManager = RegistryManager.CreateFromConnectionString(connectionString);5 AddOrGetDeviceAsync().Wait();6 Console.ReadLine();7 }
Run,
可以看到,TeldPile001这个设备已经注册到我们自己的Azure IoT Hub中了。
以上便是,将设备注册到Azure IoT Hub的介绍,不复杂,微软的设计还是比较赞的,简单、快速、易用。
下一篇我们继续研究设备到云、云到设备的通信。
周国庆
2014/4/16
- Azure IoT 技术研究系列2
- Azure IoT 技术研究系列4
- Azure IoT 技术研究系列3
- Azure IoT 技术研究系列1
- IOT:Azure IOT初试
- 使用 Azure IoT 套件推动 IoT 开发
- windows10 IOT +Azure会议概要总结
- Ngnix技术研究系列2-基于Redis实现动态路由
- Visual Studio Code的Azure IoT开发工具包
- Microservices, IoT and Azure.pdf 英文原版 免费下载
- Microsoft Azure IoT Hub应用 – 第二部分:连接传感器以及 IoT 车辆
- Windows Azure 系列-- Azure Queue的操作
- Windows Azure系列-- 配置Azure Power Shell
- RapidIO技术研究2
- 技术研究
- 技术研究
- iot
- IOT
- 公司环境部署
- 解决 Python ruamel.yaml 读写 yaml 文档 format 格式不一致问题
- vs上正常,iis上出现未将对象引用设置到对象的实例
- ORACLE复制表及数据
- 网络编程
- Azure IoT 技术研究系列2
- 500 G JAVA视频网盘分享(JEECG开源社区)
- 技术-Mac下ssh远程登录与scp文件传输
- C++ Prim算法
- 事务,索引,连接查询,权限设计(面试问题)
- QT5 读取中文文件&设置中文标题
- sqlserver2008压缩日志文件语句
- 【Redis笔记-3】Redis数据类型
- el表达式获取list数据报错:java.lang.NumberFormatException: For input string: "xxx"