Member 11859517 Ответов: 0

Как отправить сообщение форма малины пи3 устройства в Azure концентратор событий с помощью приложения Windows ?


Привет,
У меня есть устройство raspberry pi 3 под управлением windows 10 IoT core и Visual studio 2015 community,
Я хочу отправить данные с моего устройства в azure event hub, я провел пару дней в google, у меня есть какое-то консольное приложение, где я могу отправлять и получать данные в azure event hub, то же самое, что я пробовал с UWP, но оно не работает для меня,
await eventHubClient.SendAsync(new EventData(Encoding.UTF8.GetBytes(message)));

на этой линии продолжайте только ждать, не двигаясь вперед.

Я сослался наэто ссылка
https://docs.microsoft.com/en-us/azure/event-hubs/event-hubs-dotnet-standard-getstarted-send
и
http://stackoverflow.com/questions/36061131/uwp-app-for-recievering-messages-from-azure-iot-hub/38195572#38195572
Может ли кто-нибудь иметь образец, который поможет мне отправлять / получать данные в / из центра событий Azure?

спасибо
сушил

Что я уже пробовал:

private static EventHubClient eventHubClient;
        private const string EhConnectionString = "Endpoint=sb://-----.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=-------";

private const string EhEntityPath = "------";

private async Task MainAsync()
        {
            try
            {
                var connectionStringBuilder = new EventHubsConnectionStringBuilder(EhConnectionString)
                {
                    EntityPath = EhEntityPath
                };

                eventHubClient = EventHubClient.CreateFromConnectionString(connectionStringBuilder.ToString());
                await SendMessagesToEventHub();
                await eventHubClient.CloseAsync();
            }
            catch (Exception ex)
            {
                textBlock.Text = ex.Message;
            }
        }

private async Task SendMessagesToEventHub()
        {
            int avgSpeed = 10; // m/s
            Random rand = new Random();
            int seq = 0;
            while (true)
            {
                int currentSpeed = avgSpeed + rand.Next() * 4 - 2;
                var data = new
                {
                    guid = "guid_1",
                    organization = "Elpis_IT_2",
                    displayname = "Telemetry_2",
                    location = "Elpis_Lab_2",
                    measurename = "mn_2",
                    unitofmeasure = "n",
                    timecreated = DateTime.Now.ToString() + "__" + (++seq),
                    value = rand.Next()
                };
                var message = JsonConvert.SerializeObject(data); 
                try
                {
                    await eventHubClient.SendAsync(new EventData(Encoding.UTF8.GetBytes(message)));
                    textBlock1.Text = $"Sending message: {message}";
                    await Task.Delay(10);
                    //number--;
                }
                catch (Exception ex)
                {
                    textBlock2.Text = ex.Message;
                }
            }
        private void btnSend_Click(object sender, RoutedEventArgs e)
        {
            MainAsync();
        }

0 Ответов