Esempio n. 1
0
        static void Main(string[] args)
        {
            bool useFieldGateway = false;

            EventHubIngest eventHubIngest = new EventHubIngest();
            FieldGatewayIngest fieldGatewayIngest = new FieldGatewayIngest();

            Random random = new Random(DateTime.Now.Millisecond);

            List<Task> ingests = new List<Task>();
            for (int x = 0; x < 100; x++ )
            {
                for (int i = 0; i < 10; i++)
                {
                    Telemetry telemetry = new Telemetry();
                    telemetry.DeviceId = "Device-50";
                    telemetry.Temperature = 27.5;
                    telemetry.Humidity = 68.3;
                    telemetry.Pollution = random.NextDouble() * 100;

                    if (useFieldGateway)
                        ingests.Add(fieldGatewayIngest.TelemetryIngest(telemetry));
                    else
                        ingests.Add(eventHubIngest.TelemetryIngest(telemetry));
                }
                Thread.Sleep(500);
            }
            Task.WaitAll(ingests.ToArray<Task>());
        }
Esempio n. 2
0
        public Task TelemetryIngest(Telemetry telemetry)
        {
            string fieldGatewayUrl = "http://<<add the ip of your field gateway here>>/sendtelemetry";

            StringContent stringContent = new StringContent(JsonConvert.SerializeObject(telemetry));
            HttpClient httpClient = new HttpClient();

            return httpClient.PostAsync(fieldGatewayUrl, stringContent);
        }
Esempio n. 3
0
        public Task TelemetryIngest(Telemetry telemetry)
        {
            string serviceBusNamespace = "iotmc-ns";
            string eventHubName = "IoTMC";
            string eventHubSASKeyName = "Device01";
            string eventHubSASKey = "<< Add your SAS here >>";

            string eventHubConnectionString = ServiceBusConnectionStringBuilder.CreateUsingSharedAccessKey(
                ServiceBusEnvironment.CreateServiceUri("sb", serviceBusNamespace, string.Empty),
                eventHubSASKeyName,
                eventHubSASKey);

            EventHubClient eventHubClient = EventHubClient.CreateFromConnectionString(eventHubConnectionString, eventHubName);

            return Task.Run(async () =>
            {
                EventData eventData = new EventData(Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(telemetry)));
                eventData.PartitionKey = telemetry.DeviceId.ToString();
                await eventHubClient.SendAsync(eventData);
            });
        }