Azure IOT套件与IOT集线器

时间:2016-03-22 07:19:54

标签: azure azure-iot-hub azure-iot-suite

Azure物联网套件和物联网集线器及其用途有何区别?请告诉我.NET在物联网中如何工作的基础知识。 谢谢你的帮助!

4 个答案:

答案 0 :(得分:5)

Azure IoT Suite只是物联网中心的加速器。它使用IoT Hub和您可以自定义的其他Azure服务提供完整的应用程序。它也可以作为一种学习工具,因为您获得了预测性维护和远程监控解决方案的source code

您当然可以使用IoT Hub和其他Azure服务构建自己的自定义解决方案。

答案 1 :(得分:3)

查看此处的文档:https://azure.microsoft.com/en-in/documentation/articles/iot-suite-overview/,我收集的是Azure IoT Suite实际上是许多服务的组合,其中一项服务(尽管最重要的一项)是Azure IoT Hub

对我而言,Azure IoT Hub解决了问题的一部分,即提供设备到云和云到设备的消息传递功能,并充当云的网关和其他关键的物联网套件服务。因此,基本上将此服务视为促进设备与云之间通信的服务。 Azure IoT Hub中还有其他服务可以处理您在数据进入云时对数据执行的操作。其他服务使您能够按比例存储数据,开发并呈现该数据的分析。

答案 2 :(得分:0)

根据您在下面的回答,您的问题将是这样的方法:

IoTDevice -1-> IoT Hub -2-> StreamAnalytics -3-> DB -4-> ASP.Net (Shows Graph)
                   |             |
ASP.Net (Mgmt) -6--|             |-----5----> PowerBi (Shows Graph)

Stream Analytics中的Nr.5输出只是您可以选择的选项。因此,您不需要开发自己的仪表板,并且可以立即获得解决方案。您也可以与人共享此仪表板。

答案 3 :(得分:0)

Azure Iot Hub和事件中心是支持将数据提取到Microsoft Azure的工作负载。因此,您可以将它们视为Azure上的独立独立模块。

物联网套件是一种自动化工具,可提供多个模块,为端到端物联网解决方案提供锅炉板。这些模块包括Stream Analytics,IoT Hub,Document DB,用于设备监控的自定义Web App等。

下面是一些用C#连接设备的示例代码。

    // Define the connection string to connect to IoT Hub
private const string DeviceConnectionString = "<replace>";
static void Main(string[] args)
{
  // Create the IoT Hub Device Client instance
  DeviceClient deviceClient = DeviceClient.CreateFromConnectionString(DeviceConnectionString);

  // Send an event
  SendEvent(deviceClient).Wait();

  // Receive commands in the queue
  ReceiveCommands(deviceClient).Wait();

  Console.WriteLine("Exited!\n");
}
// Create a message and send it to IoT Hub.
static async Task SendEvent(DeviceClient deviceClient)
{
  string dataBuffer;
  dataBuffer = Guid.NewGuid().ToString();
  Message eventMessage = new Message(Encoding.UTF8.GetBytes(dataBuffer));
  await deviceClient.SendEventAsync(eventMessage);
}
// Receive messages from IoT Hub
static async Task ReceiveCommands(DeviceClient deviceClient)
{
  Console.WriteLine("\nDevice waiting for commands from IoTHub...\n");
  Message receivedMessage;
  string messageData;
  while (true)
  {
    receivedMessage = await deviceClient.ReceiveAsync(TimeSpan.FromSeconds(1));

    if (receivedMessage != null)
    {
      messageData = Encoding.ASCII.GetString(receivedMessage.GetBytes());
      Console.WriteLine("\t{0}> Received message: {1}", DateTime.Now.ToLocalTime(), messageData);
      await deviceClient.CompleteAsync(receivedMessage);
    }
  }
}

希望这有帮助!

莫特