zoukankan      html  css  js  c++  java
  • Azure IoT 技术研究系列2

    上篇博文中,我们主要介绍了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             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,

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

    以上便是,将设备注册到Azure IoT Hub的介绍,不复杂,微软的设计还是比较赞的,简单、快速、易用。

    下一篇我们继续研究设备到云、云到设备的通信。

    周国庆

    2014/4/16

  • 相关阅读:
    springboot——helloworld探究
    springboot——主程序类,主入口类
    android&nbsp;setClickable&nbsp;不起作用&nbsp;没…
    JAVA&nbsp;线程&nbsp;开启线程&nbsp;一个类里只开…
    eclipse 自动提示不出来
    android&nbsp;禁止回退&nbsp;不许回退
    一插上USB外设以后&nbsp;直接跳到相应的…
    Android&nbsp;UI设计中的特效&nbsp;界面左右…
    SysUtils.FmtStr、SysUtils.Format 格式化输出和ShowMessageFmt用法
    嘉猪昨天流鼻血了
  • 原文地址:https://www.cnblogs.com/yezuhui/p/6844408.html
Copyright © 2011-2022 走看看