Пример #1
0
        private static void DownloadConfigFileAndSyncLocal(string blobSasUri)
        {
            try
            {
                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(blobSasUri);
                request.Method = "GET";
                XmlDocument document = new XmlDocument();
                using (HttpWebResponse resp = (HttpWebResponse)request.GetResponse())
                {
                    using (Stream s = resp.GetResponseStream())
                    {
                        using (StreamReader reader = new StreamReader(s, Encoding.UTF8))
                        {
                            document.LoadXml(reader.ReadToEnd());
                        }
                    }
                }

                document.Save(configFleName_Temp);
            }
            catch
            {
                Console.WriteLine("there no config file on the Cloud.");
            }

            if (File.Exists(configFleName_Temp))
            {
                OPCConfigurationManager config_temp = new OPCConfigurationManager(configFleName_Temp);
                OPCConfigurationManager config      = new OPCConfigurationManager(configFleName);

                oPCDAServerUrl = config_temp.GetConfigurationValue("OPCDAServerUrl");
                config.SetConfigurationValue("OPCDAServerUrl", oPCDAServerUrl);

                streamInterval = config_temp.GetConfigurationValue("StreamInterval");
                config.SetConfigurationValue("StreamInterval", streamInterval);

                connectionTimeout = config_temp.GetConfigurationValue("ConnectionTimeout");
                config.SetConfigurationValue("ConnectionTimeout", connectionTimeout);

                tags = ParseTags(config_temp.GetConfigurationValue("Tags"));
                config.SetConfigurationValue("Tags", config_temp.GetConfigurationValue("Tags"));

                string temp_deviceConnectionString = config_temp.GetConfigurationValue("IOTHubConnectionString");
                if (temp_deviceConnectionString != deviceConnectionString && temp_deviceConnectionString != string.Empty)
                {
                    config.SetConfigurationValue("IOTHubConnectionString", deviceConnectionString);
                    Console.WriteLine("Please restart your APP for device connection string changed.\n");
                    Console.ReadLine();
                }
            }
            else
            {
                ReadConfigFile();
            }
        }
Пример #2
0
 private static void ReadConfigFile()
 {
     // Parse tags based on delimiter
     if (File.Exists(configFleName))
     {
         OPCConfigurationManager config = new OPCConfigurationManager(configFleName);
         deviceConnectionString = config.GetConfigurationValue("IOTHubConnectionString");
         oPCDAServerUrl         = config.GetConfigurationValue("OPCDAServerUrl");
         streamInterval         = config.GetConfigurationValue("StreamInterval");
         connectionTimeout      = config.GetConfigurationValue("ConnectionTimeout");
         tags = ParseTags(config.GetConfigurationValue("Tags"));
     }
 }
Пример #3
0
        private static void Main(string[] args)
        {
            // Read the latest config file available on the local server

            // Fixed by Bo - first time start this app there will no config file... with out connection with iot hub
            //ReadConfigFile();

            if (File.Exists(configFleName))
            {
                OPCConfigurationManager config = new OPCConfigurationManager(configFleName);
                deviceConnectionString = config.GetConfigurationValue("IOTHubConnectionString");


                // When file is not present or device connection string is empty then ask user to enter this value
                if (deviceConnectionString.Trim() == string.Empty)
                {
                    Console.WriteLine("Please in put Device Primary Connection String");
                    deviceConnectionString = Console.ReadLine();
                }

                s_deviceClient = DeviceClient.CreateFromConnectionString(deviceConnectionString, Microsoft.Azure.Devices.Client.TransportType.Mqtt_WebSocket_Only);

                if (s_deviceClient == null)
                {
                    Console.WriteLine("Connect to IoT Device Failed Please Try Again!");
                    Console.ReadLine();
                    return;
                }
                else
                {
                    Console.WriteLine("Device Connected!");

                    config.SetConfigurationValue("IOTHubConnectionString", deviceConnectionString);

                    //HostName=bdbiothub.azure-devices.cn;DeviceId=testbo123;SharedAccessKey=Sy8zfhPZ8/91B0aQrVzC9A2WETPK7oL87InkgZVB9b8=

                    DeviceInitialize(s_deviceClient).GetAwaiter().GetResult();
                }

                Console.OutputEncoding = Encoding.UTF8;
                Console.WriteLine("Sending OPCDA server data to iothub. Ctrl-C to exit.\n");
            }
            else
            {
                Console.OutputEncoding = Encoding.UTF8;
                Console.WriteLine("Please make sure local config file Exist.\n");
            }

            Console.ReadLine();
        }