Ich versuche, eine einfache App für meine Raspberry Pi, die eine Nachricht an die IOThub senden und dann versuchen, eine Antwort zu erhalten, aber nichts passiert ist.IOT Hub nicht empfangen oder Nachrichten senden
Ich habe die Connectionstring von der Gerätesteuerung kopiert. Ofcource Ich versteckte es für diese Frage.
Ich sehe es ausdrucken, dass die Nachricht erfolgreich zum iothub gesendet wurde, aber wenn ich den iothub überprüfe, sehe ich 0 empfangene Nachrichten.
Iam mit der freien Tier der Iothub ist dies eine Einschränkung?
public sealed partial class MainPage : Page
{
private const string DeviceConnectionString = "Hidden";
private readonly DeviceClient _deviceClient;
public MainPage()
{
this.InitializeComponent();
_deviceClient = DeviceClient.CreateFromConnectionString(DeviceConnectionString, TransportType.Amqp); //Already tried using different transport types but no succes.
}
public async Task SendEvent()
{
Debug.WriteLine("\t{0}> Sending message", DateTime.Now.ToLocalTime());
var commandMessage = new Message(Encoding.ASCII.GetBytes("Cloud to device message."));
await _deviceClient.SendEventAsync(commandMessage);
Debug.WriteLine("Succesfully sended message to IotHub");
}
public async Task ReceiveCommands()
{
Debug.WriteLine("\nDevice waiting for commands from IoTHub...\n");
while (true)
{
var receivedMessage = await _deviceClient.ReceiveAsync();
if (receivedMessage != null)
{
var messageData = Encoding.ASCII.GetString(receivedMessage.GetBytes());
Debug.WriteLine("\t{0}> Received message: {1}", DateTime.Now.ToLocalTime(), messageData);
var propCount = 0;
foreach (var prop in receivedMessage.Properties)
{
Debug.WriteLine("\t\tProperty[{0}> Key={1} : Value={2}", propCount++, prop.Key, prop.Value);
}
await _deviceClient.CompleteAsync(receivedMessage);
Debug.WriteLine("Finishing recieving message");
}
await Task.Delay(TimeSpan.FromSeconds(1));
}
}
private async void Button_Click(object sender, Windows.UI.Xaml.RoutedEventArgs e)
{
Debug.WriteLine("Sending event");
await SendEvent();
await ReceiveCommands();
Debug.WriteLine("Received commands");
}
}
Können Sie die D2C-Nachricht sehen, die Sie im [Geräte-Explorer] gesendet haben (https://github.com/Azure/azure-iot-sdk-csharp/tree/master/tools/DeviceExplorer#run-the-sample- Anwendung)? –
Ja iam bekomme dies: Empfangen von Ereignissen ... 2017-04-10 20:08:53> Gerät: [RaspberryPI], Daten: [Wolke zu Gerät Nachricht.] – Barsonax
Nun, was meinst du "Ich überprüfe die Iothub Ich sehe 0 empfangene Nachrichten. "? Sie meinen, Sie verwenden 'ReceiveCommands()', um diese D2C-Nachrichten zu empfangen? –