设为首页 收藏本站
查看: 1130|回复: 0

[经验分享] Azure IoT 技术研究系列2-设备注册到Azure IoT Hub

[复制链接]

尚未签到

发表于 2017-6-30 06:40:22 | 显示全部楼层 |阅读模式
  上篇博文中,我们主要介绍了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.
DSC0000.png

  输入名称后,选择定价和缩放级别,这里我们做测试,使用免费的F1即可,同时新建资源组。
DSC0001.png

DSC0002.png

  创建完成后,IoTTest即可使用了。
  使用前,我们需要确定两个重要的连接配置:主机名和连接字符串,我们选择“概述”,右侧有个主机名,先复制下来备用。
DSC0003.png

  然后选择共享访问策略:
DSC0004.png

DSC0005.png

  将连接字符串-主秘钥,复制保存下来备用。
  开始编码吧,我们创建一个Console工程叫做“RegisterDevice”,用于设备注册到Azure IoT Hub。同时添加重要的Nuget引用:
  Microsoft.Azure.Devices
  本文测试用的:<package id="Microsoft.Azure.Devices" version="1.2.4" targetFramework="net451" />
DSC0006.png

  两个核心的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             try
10             {
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,
DSC0007.png

  可以看到,TeldPile001这个设备已经注册到我们自己的Azure IoT Hub中了。
DSC0008.png

  以上便是,将设备注册到Azure IoT Hub的介绍,不复杂,微软的设计还是比较赞的,简单、快速、易用。
  下一篇我们继续研究设备到云、云到设备的通信。
  周国庆
  2014/4/16

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-389519-1-1.html 上篇帖子: LINUX ON AZURE 安全建议(全) 下篇帖子: 如何为Azure Service Bus和Azure IoT Hub生成SharedAccessSignature
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表