6

Azure 物联网套件和物联网中心及其用法有什么区别?请告诉我 .NET 在物联网中的工作原理。谢谢您的帮助!

4

4 回答 4

5

Azure IoT Suite 只是 IoT 中心的加速器。它使用 IoT 中心和您可以自定义的其他 Azure 服务提供完整的应用程序。由于您获得了预测性维护和远程监控解决方案的源代码,因此它作为一种学习工具也很有趣。

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

于 2016-03-22T14:04:16.493 回答
3

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

对我而言,Azure IoT Hub它只解决了一部分问题,即提供设备到云和云到设备的消息传递功能,并充当通往云和其他关键物联网套件服务的网关。因此,本质上将此服务视为促进设备和云之间通信的服务。一旦数据进入云,还有其他服务Azure IoT Hub可以处理您对数据的处理方式。其他服务使您能够大规模存储数据、开发和呈现对该数据的分析。

于 2016-03-22T08:34:01.317 回答
0

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

IoTDevice -1-> IoT Hub -2-> StreamAnalytics -3-> DB -4-> ASP.Net(显示图表)
                   | |
ASP.Net (管理) -6--| |-----5----> PowerBi(显示图表)

流分析中 Nr.5 的输出只是您可以选择的一个选项。因此,您无需开发自己的 Dashboard 并立即获得解决方案。您还可以与人共享此仪表板。

于 2016-03-22T14:04:23.827 回答
0

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

IoT Suite 是一种自动化工具,可提供多个模块,为端到端 IoT 解决方案提供样板。这些模块包括流分析、物联网中心、文档数据库、用于设备监控的自定义 Web 应用程序等。

下面是一些用 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);
    }
  }
}

希望这可以帮助!

默特

于 2016-03-24T07:15:53.937 回答