Как получить дату и время на моем устройстве из центра IoT Azure? - PullRequest
1 голос
/ 11 декабря 2019

Мне нужно обновить дату и время на некоторых устройствах, которые подключены к Azure через Azure IoT Hub, есть ли способ получить дату и время из IoT Hub? Как управлять часовыми поясами? Какой часовой пояс будет предоставлять Azure IoT Hub? Другие альтернативы? Спасибо заранее.

1 Ответ

4 голосов
/ 11 декабря 2019

Не известно, что такая поверхность API присутствует в Azure IoT Hub, однако вы можете указать следующие параметры:

  • Использовать NTP для пула общедоступных серверов времени (pool.ntp.org). Я бы использовал хост из NIST или другой объект, финансируемый лучше, чем ntp-org - https://tf.nist.gov/tf-cgi/servers.cgi
  • Напишите функцию Azure, которая возвращает строку даты / времени на основе параметра запроса Location, который вы отправляете изустройство (GET или POST). Например, http://somethingSomething.azurewebsites.net/api/now?location=NewYork
  • Используйте готовый общедоступный API REST, например: http://worldtimeapi.org/
  • «Злоупотребление» конечной точкой IoT-концентратора через HTTPS, которая возвращает дату / время даже для400 Bad Request, например:

    $ curl https://poorlyfundedskynet.azure-devices.net -i
    
    HTTP/1.1 400 Bad Request
    Content-Length: 157
    ..snip other headers..
    Date: Wed, 11 Dec 2019 16:16:51 GMT
    

    Примечание: только HTTP S . Перевернутый: вы говорите с тем же хостом для всего. Недостаток: точная временная метка не гарантируется, но, опять же, как и любая другая служба. Примите небольшой риск! :)

Редактировать:
Ссылка на эту соответствующую проблему GitHub (в составе клиентского SDK Azure IoT Hub для C).

...