Forum: Haus & Smart Home EnOcean EDK350/TCM320 (USB) - Telegramm empfangen/versenden


von Milo (Gast)


Lesenswert?

Hallo,
ich habe das EDK 350 vor mir liegen und versuche die empfangenen 
Telegramme/Daten des Funktranceivermoduls USB300 bzw. TCM320 aus dem 
EDK350 über den installierten virtuellen COM-Port auszulesen bzw. 
Telegramme entsprechend zu senden. Beim empfangen der Telegramme kann 
ich jedoch keinen entsprechendes Profil finden, dass der empfangenen 
Daten entspricht. Irgendetwas mache ich wohl noch falsch. Ich bin noch 
neu auf diesem Gebiet. Laut der ESP3-Dokumentation von EnOcean müsste 
ich nach der UART das Profil bestimmen können. Jedoch bekomme ich weder 
die überall dokumentierten Eingangsbits "A5 5A" geliefert. Ich habe 
dieses Tests mit einem einfach Schalter PTM210 durchgeführt. Das was ich 
in DolphinView und das was ich auslese sind komplett unterschiedliche 
Daten/Telegramme. Ich weiß beim besten Willen zur Zeit nicht wo ich 
einen Denkfehler habe bzw. wo ich etwas vergessen habe. Habe dies durch 
ein einfaches Programm in c# realisiert. Ein Codeausschnitt nachfolgend:
[code]void comPort_DataReceived(object sender, 
SerialDataReceivedEventArgs e) {
           int bytes = comPort.BytesToRead;
           //create a byte array to hold the awaiting data
           byte[] comBuffer = new byte[bytes];
           //read the data and store it
           comPort.Read(comBuffer, 0, bytes);
           //display the data to the user
           DisplayData(MessageType.Incoming, ByteToHex(comBuffer) + 
"\n");
        }

        private string ByteToHex(byte[] comByte)
        {
            //create a new StringBuilder object
            StringBuilder builder = new StringBuilder(comByte.Length * 
3);
            //loop through each byte in the array
            foreach (byte data in comByte)
                //convert the byte to a string and add to the 
stringbuilder
                builder.Append(Convert.ToString(data, 16).PadLeft(2, 
'0').PadRight(3, ' '));
            //return the converted value
            return builder.ToString().ToUpper();
        }[\code]

Vielleicht hat jemand von Euch eine Idee.
Im Voraus danke für Eure Mühen!

Gruß,
Milo

von Milo (Gast)


Lesenswert?

Die Telegramme bzw. Daten sehen beispielsweise wie folgt aus:

24
FB B8 F3
25
1E C5 F4

Gruß

von Alex (Gast)


Lesenswert?

Es kann sein, dass die Daten nicht alle auf einmal gelesen werden... Du 
musst also auf das Startbyte warten und dann bis zum Ende des Pakets 
lesen.  Die Länge kann ANhand der weiteren Informationen in dem Paket 
bestimmt werden...

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.