Я не могу помочь, не зная некоторых подробностей о вашем окружении:
Вы работаете в докере?
Какое базовое изображение вы использовали?
Как вы запускаете контейнер - вы запускаете его вручную или позволяете EdgeAgent запускать его для вас?
Несколько вещей, которые вы можете попробовать:
1) Убедитесь, что вы используете код @ modules-preview. NPM позволяет легко ошибиться.
PS F:\temp> npm list | findstr "azure-iot"
+-- azure-iot-device-mqtt@1.4.0-modules-preview
| +-- azure-iot-common@1.5.0-modules-preview
| +-- azure-iot-device@1.4.0-modules-preview
| | +-- azure-iot-http-base@1.3.3-modules-preview
| +-- azure-iot-mqtt-base@1.3.3-modules-preview
2) Убедитесь, что строка подключения правильно сформирована. Он должен иметь значения moduleId = и gatewayHostName =. GatewayHostName должно ссылаться на ваш хост edgeHub.
3) Убедитесь, что файл сертификата, указанный в EdgeModuleCACertificateFile, существует и выглядит как действительный файл PEM (например, текстовый файл, обернутый в ----- BEGIN CERTIFICATE ----- / ----- END CERTIFICATE ---- с кучей строк закодированного текста между ними).