Введение
Последние несколько дней я играю со своим MXChip и написал несколько статей об этом, вы сможете найти их здесь. В этой статье мы отправим некоторые данные в наш центр Интернета вещей Azure и подключим функцию Azure к нашему центру Интернета вещей с помощью атрибута триггера концентратора событий IoTHubTrigger. Если вы готовы, давайте сделаем это.
Вы всегда можете прочитать эту статью в моем блоге здесь.
Задний план
Как я уже сказал, эта статья является частью моей серии статей об Интернете вещей, поэтому, если вы читали мои предыдущие статьи по этой теме, вам будет легче понять концепцию. Прежде чем приступить к работе с этой статьей, убедитесь, что вы уже создали центр Интернета вещей Azure и что он запущен. Вы всегда можете отправлять сообщения в этот Центр Интернета вещей, подключив фактическое устройство, скажем MXChip, или используя имитирующее устройство.
Демо IoTHubTrigger
Создание приложения-функции Azure
Я собираюсь создать приложение-функцию Azure в Visual Studio. Если вы не уверены, как мы можем создать и опубликовать функцию Azure, прочтите этот раздел моей предыдущей статьи. Давайте сейчас создадим новое решение.
После того, как вы нажмете ОК, для вас будет сгенерирована новая функция Azure с некоторыми начальными кодами. Давайте отредактируем функцию, как показано ниже.
using Microsoft.Azure.EventHubs; using Microsoft.Azure.WebJobs; using Microsoft.Extensions.Logging; using System.Text; using IoTHubTrigger = Microsoft.Azure.WebJobs.EventHubTriggerAttribute;
namespace IoTHubTrigger_Azure_Function_and_Azure_IoT_Hub { public static class IoTHubFunc { [FunctionName("IoTHubData")] public static void Run( [IoTHubTrigger("messages/events", Connection = "IoTHubTriggerConnection", ConsumerGroup ="FuncGroup")]EventData message, ILogger log) { log.LogInformation($"C# IoT Hub trigger function processed a message: {Encoding.UTF8.GetString(message.Body.Array)}"); } } }
Здесь IoTHubTriggerConnection - это строка подключения, которую мы предоставляем в файле local.settings.json. Группа потребителей вступит в игру, если у вас есть много приложений, которым необходимо получать данные из вашего IoT Hub. Ниже приведено определение класса EventHubTriggerAttribute.
public sealed class EventHubTriggerAttribute : Attribute { public EventHubTriggerAttribute(string eventHubName);
public string EventHubName { get; } public string ConsumerGroup { get; set; } public string Connection { get; set; } }
Отправка данных в Azure IoT Hub
Как я упоминал ранее, есть два способа отправить данные в Azure IoT Hub.
- Используя устройство, например, MXChip
- Имитация устройства
После отправки данных вы можете увидеть количество полученных сообщений в Центре Интернета вещей Azure в разделе обзора.
Запустите функцию Azure
Итак, Центр Интернета вещей начал получать сообщения от устройства, и теперь мы можем использовать нашу функцию Azure для извлечения данных из Центра Интернета вещей с помощью триггера центра Интернета вещей. Запустите приложение-функцию, приложение моделирования устройства и просмотрите результат.
Как видно из выходных данных, наше приложение-функция Azure мгновенно получает данные из центра Интернета вещей Azure. Теперь вы можете выполнять любые действия с этими данными. Я оставлю это тебе.
Вывод
Ух ты!. Теперь мы узнали,
- Использование триггера Azure IoT Hub в функции Azure
- Создание приложения-функции Azure
- Просмотр данных из Azure IoT Hub в приложении-функции Azure
Вы всегда можете подготовить мои статьи об IoT здесь.
Вы всегда можете подписаться на меня в Medium и Twitter.
Твоя очередь. Что вы думаете?
Большое спасибо за чтение. Пропустил ли я что-нибудь, что, по вашему мнению, необходимо в этой статье? Не могли бы вы найти этот пост полезным? Пожалуйста, не забудьте поделиться со мной своим мнением.
С наилучшими пожеланиями
Сибиш Вену