Пример #1
0
        /// <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();
            };
        }
Пример #2
0
        /// <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}");
            };
        }