Beispiel #1
0
        private async Task ConnectAllDevices(CancellationToken stopToken)
        {
            foreach (var d in deviceRepository.AllDevices())
            {
                logger.LogInformation($"Connecting device {d.IothubDeviceId}");

                try
                {
                    var handler     = CreateIoTEdgeMessageHandler(d.IotEdgeController);
                    var mqttHandler = CreateMqttMessageHandler(d.MqttController);
                    var client      = CompositeDeviceClient.CreateInModule(Configuration,
                                                                           d,
                                                                           handler,
                                                                           mqttHandler,
                                                                           clock,
                                                                           loggerFactory);

                    await client.Connect(stopToken);

                    logger.LogInformation($"mqttSubscription: {d.LocalDeviceMqttSubscriptions.DeviceToCloudTopics[0]}");

                    connectedClients.Add(client);
                }
                catch (Exception ex)
                {
                    logger.LogError($"Error creating composite device ({d.IothubDeviceId}, {d.LocalDeviceId}) with error: {ex}");
                }
            }

            await Task.CompletedTask;
        }
Beispiel #2
0
 public IotEdgeDeviceClient(CompositeDeviceClient client,
                            Messaging.MessageHandler messageHandler,
                            ILogger <IotEdgeDeviceClient> logger)
 {
     this.logger          = logger;
     this.compositeClient = client;
     this.messageHandler  = messageHandler;
 }