Я разработал электронное устройство, которое подключается к сервису AWS IoT Core по протоколу MQTT. Теперь я могу подключаться, публиковать и подписываться на темы.
Устройство имеет несколько входов (то есть кнопок) и выходов (то есть реле).
Теперь я хочу разработать мобильное или веб-приложение, позволяющее авторизованному пользователю читать состояние входных данных и читать / записывать выходные данные. Более одного пользователя может быть авторизовано для управления одним устройством.
Что мне непонятно, но я не знаю о базовых технологиях, так это то, как управлять пользователями, то есть мобильным / веб-приложением.
Одна из стратегий заключается в создании новой вещи для каждого пользователя с собственным сертификатом. Веб / мобильное приложение использует протокол MQTT в качестве электронного устройства. Темы можно использовать в качестве канала чата: пользователь запрашивает состояние ввода, а устройство отвечает обновленным статусом.
Другая стратегия может заключаться в создании HTTP API (возможно, с AWS Gateway API), который используют веб / мобильные приложения. API запрограммирован для публикации и подписки тем. У пользователя должен быть доступ к IAM.
Я знаю, что могу использовать Device Shadow, но я не думаю, что это хорошее решение в моем случае использования. Статус входных данных может часто меняться (возможно, 1000 раз в день), но пользователь хочет получить статус через мобильное / веб-приложение только иногда (один раз в день или реже). Кажется бесполезным посылать так много сообщений, чтобы держать тень обновленной.