Example #1
0
        static void Main(string[] args)
        {
            Task.Run(async () =>
            {
                try
                {
                    IotSender iot = new IotSender(new Config(@"..\..\..\IotLib\IotLib\devices.json"));
                    string tags = @"..\..\..\SetupDevices\setupdevices.json";
                    RegistryManager rm = RegistryManager.CreateFromConnectionString(ConfigurationManager.AppSettings["ServiceConnection"]);

                    var obj = JObject.Parse(File.ReadAllText(tags));
                    JArray devices = (JArray)obj["devicesTags"];
                    foreach (var item in devices)
                    {
                        var devName = c.GetDeviceInfoForObjectId(item["objectid"].ToString()).IotDeviceName;
                        var devTwin = await rm.GetTwinAsync(devName);
                        var devPatchTags = new
                        {
                            tags = new
                            {
                                address = item["address"].ToString(),
                                city = item["city"].ToString(),
                                country = item["country"].ToString(),
                                notes = item["notes"].ToString()
                            }
                        };
                        await rm.UpdateTwinAsync(devName, JsonConvert.SerializeObject(devPatchTags), devTwin.ETag);

                    }
                }
                catch (Exception ex)
                {
                    throw new ApplicationException("Invalid configuration!", ex);
                }
            }).Wait();
            Console.WriteLine("Twins updated (enter - end)");
            Console.ReadLine();
        }
Example #2
0
        static void Main(string[] args)
        {
            Task.Run(async() =>
            {
                Stopwatch sw;
                IotSender iot = new IotSender(new Config(@"..\..\..\IotLib\IotLib\devices.json"));
                await iot.SendAlertAsync("AAAA", "open");
                await iot.SendAlertAsync("AAAB", "open");
                await iot.SendAlertAsync("AAAC", "open");
                Console.WriteLine("Cache");

                sw = Stopwatch.StartNew();
                for (int i = 0; i < 10; i++)
                {
                    await iot.SendAlertAsync("AAAA", "open");
                    await iot.SendAlertAsync("AAAB", "open");
                    await iot.SendAlertAsync("AAAC", "open");
                }
                sw.Stop();
                Console.WriteLine($"Cache: {sw.ElapsedMilliseconds}");
            }).Wait();
            Console.WriteLine("(enter - end)");
            Console.ReadLine();
        }
Example #3
0
        static void Main(string[] args)
        {
            Task.Run(async() =>
            {
                var client01 = DeviceClient.CreateFromConnectionString(ConfigurationManager.AppSettings["Dev01Connection"], Microsoft.Azure.Devices.Client.TransportType.Amqp_Tcp_Only);
                var client02 = DeviceClient.CreateFromConnectionString(ConfigurationManager.AppSettings["Dev02Connection"], Microsoft.Azure.Devices.Client.TransportType.Amqp_Tcp_Only);
                Random rnd   = new Random();
                for (int i = 0; i < 100; i++)
                {
                    var data = new
                    {
                        msgtype    = "med",
                        devicetype = "t1",
                        devicename = "dev1", //For easy processing on stream analytics
                        val1       = rnd.Next(100),
                        val2       = rnd.NextDouble()
                    };
                    var str = JsonConvert.SerializeObject(data);
                    var msg = new Message(UTF8Encoding.UTF8.GetBytes(str));
                    msg.Properties.Add("devicename", "dev1"); //For routing on IoT Hub level
                    await client01.SendEventAsync(msg);
                }
                List <Message> msglst;
                msglst = new List <Message>();
                for (int i = 0; i < 100; i++)
                {
                    var data = new
                    {
                        msgtype    = "med",
                        devicetype = "t1",
                        devicename = "dev2", //For easy processing on stream analytics
                        val1       = rnd.Next(100),
                        val2       = rnd.NextDouble()
                    };
                    var str = JsonConvert.SerializeObject(data);
                    var msg = new Message(UTF8Encoding.UTF8.GetBytes(str));
                    msg.Properties.Add("devicename", "dev2"); //For routing on IoT Hub level
                    msglst.Add(msg);
                }
                await client01.SendEventBatchAsync(msglst);

                msglst = new List <Message>();
                for (int i = 0; i < 100; i++)
                {
                    var data = new
                    {
                        msgtype    = "med",
                        devicetype = "t1",
                        devicename = "dev2", //For easy processing on stream analytics
                        val1       = rnd.Next(100),
                        val2       = rnd.NextDouble()
                    };
                    var str = JsonConvert.SerializeObject(data);
                    var msg = new Message(UTF8Encoding.UTF8.GetBytes(str));
                    msg.Properties.Add("devicename", "dev2"); //For routing on IoT Hub level
                    msglst.Add(msg);
                }
                await client02.SendEventBatchAsync(msglst);

                //Using
                IotSender iot = new IotSender(new Config(@"C:\TS\ASCEND2017\Medapp\medapp\IotLib\IotLib\devices.json"));

                await iot.SendEventBatchAsync("AAAC", msglst);

                await iot.SendEventAsync("AAAA",
                                         JsonConvert.SerializeObject(new
                {
                    msgtype    = "med",
                    devicetype = "t1",
                    devicename = "dev2",         //For easy processing on stream analytics
                    val1       = rnd.Next(100),
                    val2       = rnd.NextDouble()
                }
                                                                     ));

                //Images
                var dynArr = new byte[10000]; dynArr[0] = dynArr[dynArr.Length - 1] = 255;
                await iot.UploadToBlobAsync("AAAA", "first1", new MemoryStream(dynArr));
                await iot.UploadToBlobAsync("AAAA", "first1", new MemoryStream(dynArr));
                await iot.UploadToBlobAsync("AAAB", "first2", new MemoryStream(dynArr));
                await iot.UploadToBlobAsync("AAAB", "first3", new MemoryStream(dynArr));
            }).Wait();
            Console.WriteLine("(enter)");
            Console.ReadLine();
        }