Как использовать WebJob для обработки сообщений центра Интернета вещей и сохранения их в базе данных SQL?

Я пытаюсь создать полное решение для представления данных с устройств IoT на веб-странице.

Данные и устройства никогда не будут исчисляться миллионами, поэтому использование потоковой аналитики, машинного обучения, больших данных и т. Д. Является дорогостоящим и ненужным.

Я просматривал документы, блоги, форумы в течение нескольких недель, и я застрял в части того, как обрабатывать сообщения, которые получает центр Интернета вещей, я хочу сохранить их в базе данных SQL, а затем создать веб-сайт, который будет их представлять. пользователям.

Что у меня есть на данный момент:

1. Часть устройства

На Raspberry Pi 3 установлено Windows IoT Core. Сообщения отправляются и принимаются как на концентраторе, так и на устройстве, успешно завершается (проверено с помощью обозревателя устройств и панели мониторинга концентратора Интернета вещей)

2. Часть обработки

Наиболее похожий подход подробно описан здесь, но я не хочу использовать NoSQL, я пытался использовать функцию Azure с внешней таблицей (экспериментально), но для этого нет документации, и все мои попытки завершились неудачно с ошибкой функции.

Теперь я пытаюсь подключить веб-задание для обработки сообщений IoT Hub, но не могу найти никаких подходящих образцов или документов. По сути, id хочет преобразовать консольное приложение в веб-задание, которое будет запускаться при поступлении сообщения в центр Интернета вещей.

3. Часть веб-страницы

Как только я получу сообщения в базе данных SQL, я создам собственный портал для управления и регистрации устройств, выдачи одноразовых команд устройствам и для данных запроса-ответа.

Телеметрия будет запрошена из базы данных и представлена ​​статически или почти в реальном времени (с помощью SignalR) по типу устройства, местоположению, правам пользователя и т. Д., Эта часть мне довольно ясна.

Пожалуйста, может ли кто-нибудь помочь мне с обработкой?


person Seeker    schedule 20.04.2017    source источник
comment
Если у вас есть консольное приложение, которое делает то, что вы хотите, вы можете просто развернуть его как веб-задание, никаких изменений не требуется. Но функции Azure подходят для вашего случая использования. Вам не нужно использовать привязку внешней таблицы, если у вас есть проблемы с ней, вы можете просто использовать Entity Framework или ADO.NET для сохранения данных в базу данных SQL вручную.   -  person Mikhail Shilkov    schedule 20.04.2017
comment
Да, вы можете создать функцию прослушивания концентратора событий и связать ее с конечной точкой, совместимой с концентратором событий, в Центре Интернета вещей. И сохраните его оттуда в БД.   -  person juunas    schedule 20.04.2017
comment
Вопросы, просящие нас порекомендовать или найти книгу, инструмент, библиотеку программного обеспечения, учебное пособие или другой внешний ресурс, не относятся к теме Stack Overflow, поскольку они, как правило, привлекают самоуверенные ответы и спам. Вместо этого опишите проблему и то, что было сделано для ее решения.   -  person astaykov    schedule 20.04.2017
comment
@ Михаил, хорошо, попробую еще раз с функцией, думаю, теперь я знаю, что ты имеешь в виду.   -  person Seeker    schedule 20.04.2017
comment
@astaykov Я просто описал проблему и объяснил, что я сделал до сих пор для ее решения. если вы знаете что-то о проблеме, вставьте код, объединяющий функцию запуска веб-задания с конечной точкой концентратора Интернета вещей, чтобы на сайте появилась тема, подходящая для StackOverflow.   -  person Seeker    schedule 20.04.2017
comment
Функция Azure с триггером концентратора событий заменит весь код в обновленном вопросе двумя строками, см. Пример триггера в C # здесь   -  person Mikhail Shilkov    schedule 20.04.2017
comment
Вы можете сослаться на часть кода функции Azure в этом случае. О том, как установить триггер события концентратора iot в функции Azure, можно узнать в это руководство.   -  person Rita Han    schedule 21.04.2017


Ответы (1)


Я нашел решение, используя Azure WebJobs, и эта статья объясняет как связать EvenHub (IoT Hub) с WebJob.

person Seeker    schedule 21.04.2017