2016-03-20 11 views
0

Ich habe gelesen, die RFC 7252 für eine Weile, und ich bin wahrscheinlich blind, aber ich kann nicht finden, wie kann ich eine einfache Zahl senden (Integer oder Float), wenn Sie eine GET-Anforderung für eine Ressource (zum Beispiel des Sensor/Licht zu beantworten, wo schreiben Sie es in dem PaketWie senden Sie eine Nummer, wenn Sie eine Anfrage mit Coap beantworten

ich denke, es ist in der Nutzlast ist, so habe ich versucht, dieses Paket zu senden. die Option Inhalt -format text/plain, charset = UTF-8, Länge 1 dann schreibe I 255 (0xFF) in dem Paket dann I 0x34 in dem Paket (Payload-Teil) schreiben.

Aber natürlich ist es nicht funktioniert, zuerst I Denke nicht ich sollte diese Option verwenden (wahrscheinlich eine andere, aber ich kann nicht die gute finden, um entweder Integer oder Float-Nummer zu senden), bin ich nicht sicher, obwohl, wenn ich in der richtigen Weise bin und nicht mehr sicher von dem, was ich tbh tue deshalb frage ich.

Vielen Dank für Hilfe,

Adieu

EDIT: Hier sind weitere Informationen: Ich verwende microcoap auf Arduino, ein Ethernet-Kabel zwischen Computer/Arduino Mega 2560. wireshark info

+0

Könnten Sie einen Code veröffentlichen, der zeigt, wie Sie dies einrichten und welche Art von Sprache und Pakete Sie verwenden? – Preston

+0

Ich habe weitere Informationen hinzugefügt, mit Screenshots, benötigen Sie weitere Informationen? (Sollte ich hinzufügen, Arduino-Code oder ist es in Ordnung? Obwohl ich fühle mich wie wireshark ist genug, aber wie Sie wünschen, Herr) – Peter

Antwort

0
mit

Nachdem Sie Ihren Wireshark-Trace überprüft und die Antwort in Copper gesehen haben, sehe ich das Problem. Wenn Sie sagen, dass die Content-formattext/plain ist, sagen Sie, dass Sie ASCII-Daten über senden. Sie sagen, dass Sie in Ihrem Post [0xFF 0x34] senden, aber in der Spur, die Sie tatsächlich senden, ist [0xFF 0x33]. Kupfer zeigt Ihnen genau, was Sie senden: 0xFF löst hier nicht als ASCII auf und 0x33 ist das ASCII für 3, das in der Wireshark-Kurve und in Ihrem Kupferausgabefenster angezeigt wird. Wenn Sie 2 Rohbytes von Daten senden möchten, die nicht als Text interpretiert werden sollen, geben Sie Content-format als application/octet-stream an.

+0

danke für Hilfe! – Peter