N
notizblock
Gast
Hallo,
ich muss zur zeit folgende Aufgabe bewältigen: Ein System nimmt Messdaten auf und ermittelt daraus einen Füllstand (0-100%). Diese Daten sollen nun via WLAN an einen anderen PC geschickt werden. über diesen PC wird der Füllstand in analoger Form ausgegeben (0-5V).
ich habe jetzt ein paar fragen zur bertragung.
Bei der Analyse-maschine verwende ich java unter linux und auf der Empfangseinheit mit der Hardware verwende ich c unter windows.
Folgende Lösung habe ich bereits implementiert, leider ist diese nicht so gut geeignet.
ich speichere den Füllstand als short ab. und sende danach jeweils das Highbyte und das Lowbyte.
auf der Empfangseinheit empfange ich mit folgendem Stück code;
val enthält nun den korrekten Wert der ausgegeben werden kann.
Das Problem dabei ist folgendes. Von zeit zu zeit treten empfangsfehler aus und ich würde gerne diese übertragung absichern. oder gleich auf ein einfacheres Übertragungsmodell umsteigen (das wär mir am liebsten). Leider habe ich keinen Ansatz, wie ich das Effizienter lösen kann (1x empfangen). Meine idee wäre ByteBuffer unter java. dann daraus ein byte array machen und das ganze array senden.
aber da ich ein c-beginner bin, habe ich keine plan, wie ich auf der gegenseite wieder vernünftige Werte bekomme!
Könnt ihr mir bitte helfen?
Habt ihr bessere Ideen?
Danke!
mfg
flo
ich muss zur zeit folgende Aufgabe bewältigen: Ein System nimmt Messdaten auf und ermittelt daraus einen Füllstand (0-100%). Diese Daten sollen nun via WLAN an einen anderen PC geschickt werden. über diesen PC wird der Füllstand in analoger Form ausgegeben (0-5V).
ich habe jetzt ein paar fragen zur bertragung.
Bei der Analyse-maschine verwende ich java unter linux und auf der Empfangseinheit mit der Hardware verwende ich c unter windows.
Folgende Lösung habe ich bereits implementiert, leider ist diese nicht so gut geeignet.
ich speichere den Füllstand als short ab. und sende danach jeweils das Highbyte und das Lowbyte.
auf der Empfangseinheit empfange ich mit folgendem Stück code;
Code:
unsigned short int buf = 0;
unsigned short int val = 0;
recv(connSock,&buf,sizeof(unsigned short int),0):
val=buf;
recv(connSock,&buf,sizeof(unsigned short int),0):
val = val + 256*buf;
val enthält nun den korrekten Wert der ausgegeben werden kann.
Das Problem dabei ist folgendes. Von zeit zu zeit treten empfangsfehler aus und ich würde gerne diese übertragung absichern. oder gleich auf ein einfacheres Übertragungsmodell umsteigen (das wär mir am liebsten). Leider habe ich keinen Ansatz, wie ich das Effizienter lösen kann (1x empfangen). Meine idee wäre ByteBuffer unter java. dann daraus ein byte array machen und das ganze array senden.
aber da ich ein c-beginner bin, habe ich keine plan, wie ich auf der gegenseite wieder vernünftige Werte bekomme!
Könnt ihr mir bitte helfen?
Habt ihr bessere Ideen?
Danke!
mfg
flo