/// <summary> /// Construct a device list for unique device handling /// </summary> private static void ConstructDeviceList() { _deviceClientList = new DeviceClientList(); _deviceClientList.IoTHubMessageReceived += (sender, message) => { Console.Write("IoT Hub Downlink"); foreach (var messageByte in message.Bytes) { Console.Write($" {(int)messageByte}"); } var mqttResult = _mqttClient.Publish( $"{ConfigurationManager.AppSettings["Username"]}/devices/{message.DeviceId}/down", message.Bytes, MqttMsgBase.QOS_LEVEL_EXACTLY_ONCE, false); Console.Write($" - Id {mqttResult}"); Console.WriteLine(); }; }
/// <summary> /// Construct a device list for unique device handling /// </summary> private void ConstructDeviceList(string silentRemoval) { _deviceClientList = new DeviceClientList(_iotHubName, _removeDevicesAfterMinutes); _deviceClientList.DeviceRemoved += (sender, message) => { var silent = silentRemoval.ToUpper() == "TRUE"; if (!silent) { WriteLine(message); } }; _deviceClientList.IoTHubMessageReceived += (sender, message) => { Write($"{DateTime.Now:HH:mm:ss} IoT Hub Downlink"); var payload = Convert.ToBase64String(message.Bytes); var jsonMessage = "{\"payload_raw\":\"" + payload + "\", \"port\": 1}"; Write($"; Uploaded: {jsonMessage}"); var encoding = Encoding.UTF8; var bytes = encoding.GetBytes(jsonMessage); var mqttResult = _mqttClient.Publish( $"{_applicationId}/devices/{message.DeviceId}/down", bytes, MqttMsgBase.QOS_LEVEL_EXACTLY_ONCE, false); WriteLine($" - Id {mqttResult}"); }; }