Azure物联网套件和物联网集线器及其用途有何区别?请告诉我.NET在物联网中如何工作的基础知识。 谢谢你的帮助!
答案 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);
}
}
}
希望这有帮助!
莫特