Как подключиться к IoT Edge System Module с помощью IoT Device SDK - PullRequest
0 голосов
/ 31 мая 2019

Мне известно, что мы можем использовать IoT Device SDK для связи с модулями в моем устройстве IoT Edge через строку подключения модуля.Я могу подключаться к несистемным краевым модулям, но не к системным модулям.Я хотел бы знать, действительно ли это запрещено, и если кто-нибудь знает какую-либо ссылку на него?

Я имею в виду официальный пример в github.

Вот пример c # для модуля .

ModuleClient moduleClient = ModuleClient.CreateFromConnectionString(s_moduleConnectionString, s_transportType);

var sample = new TwinSample(moduleClient);
sample.RunSampleAsync().GetAwaiter().GetResult(); // this call the code below

//My breakpoint in RunSampleAsync()
//it hangs at the line below
Twin twin = await _moduleClient.GetTwinAsync().ConfigureAwait(false);

Я ожидаю, что он будет вести себя одинаково для системного и несистемного модулей.Несистемный модуль работает нормально.

1 Ответ

1 голос
/ 03 июня 2019

Вы можете написать код, который развернут как модуль на устройстве с IoT Edge. Ваш модуль может запросить свой собственный близнец и свойства. Системные модули, которые составляют пограничное время выполнения ($edgeAgent и $edgeHub), могут сделать то же самое для себя. Вам не следует пытаться подключиться к IoT Hub с использованием идентификатора одного из системных модулей, поскольку он может конфликтовать с системными модулями.

На портале Azure можно увидеть двойника любого модуля, включая близнецов системных модулей. Вы также можете использовать service SDK с политикой общего доступа для получения этой информации. (Пример RegistryManager здесь демонстрирует подключение к IoT Hub для получения двойной информации. Он показывает только устройства, а не модули, но концепции похожи.)

Edge Hub (он же $edgeHub) имеет локальный кэш, в котором он временно хранит полученные сообщения до тех пор, пока не сможет доставить их в другие модули или в облако. Публичный интерфейс к этому кешу отсутствует - он полностью внутренний, и формат хранимых там данных может быть изменен в любое время, поэтому вам не следует пытаться получить к нему доступ.

...