Я использую 32-битный микроконтроллер (программный код, написанный на C) с очень ограниченным пространством флэш-памяти, которое обменивается данными с сотовым модулем. У меня настроена учетная запись Azure с концентратором IoT, и я хотел бы отправить некоторые сообщения с устройства в облако на мой концентратор IoT. Я проверил и подтвердил связь HTTP и HTTPS с другими серверами. Тем не менее, я не могу найти нигде, где указаны HTTP-заголовки, необходимые для отправки сообщения с устройства в облако. Может ли кто-нибудь предоставить описание необходимого формата сообщения HTTP (строка начала HTTP, требуемые заголовки HTTP и значения заголовка HTTP)?
Я нашел Azure SDK для C, но даже при всех включенных параметрах оптимизации он занимает слишком много места для моего микроконтроллера. Я попытался следовать коду в SDK, чтобы понять, как создается HTTP-сообщение, но мне кажется, что мне не хватает некоторых частей. У меня есть только два или три сообщения с устройства в облако, которые я отправляю, поэтому я предполагаю, что, если я знаю, что такое заголовки, для генерации сообщений с устройства в облако не потребуется много кода.
Модуль сотовой связи, который у меня есть, обрабатывает сертификаты X.509 для взаимной аутентификации TLS. Предположим, что работает. В связи с этим вопросом меня интересует только форматирование HTTP-сообщения, необходимого для сообщения устройства в облако IoT.
EDIT :
После предложения из комментария меня в конечном итоге привели на эту страницу:
https://docs.microsoft.com/en-us/rest/api/iothub/device/senddeviceevent
Используя предложенный HTTP POST (с заменой специфики моего устройства), теперь я получаю ошибку 401 (IotHubUnauthorizedAccess). Мне показалось, что я понял, как должна работать аутентификация, но, похоже, я ошибся.
Мое IoT-устройство имеет симметричный ключ. Я думал, что должен был включать заголовок, отформатированный как:
Authorization:SharedAccessKey=<my_primary_key>
но это не работает. Мое HTTP-тело просто:
{"deviceID":<my_IoT_Device_ID>}
Где я должен включить информацию о симметричном ключе и в каком формате?