mikrocontroller.net

Forum: Markt Suche Software oder Programmierer


Autor: Andreas B. (andi-hamburg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin aus Hamburg,

ich bin auf der Suche nach einer Software für meine LED Laufschrift.
Ich möchte meine Anzeige mit Texten aus einem Windows Programm per 
Parameterübergabe (%1 %2 %3) versorgen.

Meine Laufschrift arbeitet mit der Software "NewSign 03127 / 03128)"

Das Protokoll davon habe ich hier als PDF vorliegen. Hat zufällig einer 
von euch solch eine Software, oder ist in der Lage diese zu 
Programmieren?

Es hat sich bereits einer versucht, leider scheint es dort einen Fehler 
mit der "Checksumme" zu geben. Leider kann derjenige aus Zeitgründen 
dieses Fehler nicht beseitigen.

Deshalb meine Frage hier. Bin auch bereit denjenigen dafür zu entlohnen!

Danke

Gruß Andi

Autor: hmm (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sowas hier, über die serielle Schnittstelle?

 3C 49 44 30 30 3E 3C 42 45 3E 30 35 3C 45 3E 3C   <ID00><BE>05<E><
 49 44 30 30 3E 3C 4C 31 3E 3C 50 41 3E 3C 46 41   ID00><L1><PA><FA
 3E 3C 4D 41 3E 3C 57 43 3E 3C 46 4B 3E 3C 47 47   ><MA><WC><FK><GG
 31 3E 3C 47 47 32 3E 3C 47 47 33 3E 3C 47 47 34   1><GG2><GG3><GG4
 3E 37 41 3C 45 3E 3C 49 44 30 30 3E 3C 47 47 31   >7A<E><ID00><GG1
*
*
*
 00 55 55 55 55 55 55 55 55 55 55 55 55 55 55 00   .UUUUUUUUUUUUUU.
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
 00 33 36 3C 45 3E 3C 49 44 30 30 3E 3C 42 46 3E   .36<E><ID00><BF>
 30 36 3C 45 3E                                    06<E>

Das hinter dem <BF> scheint ja wohl die Prüfsumme zu sein.
Steht in Protokollbeschreibung die Berechnungsvorschrift?

Ansonsten kein Problem.

Was darfs denn kosten?

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stell doch einfach mal das PDF Online, eventuell noch den Quelltext des 
ersten versuches. Es sollte schneller gehen ihn zu ändern als komplett 
bei 0 unzufangen.

Autor: Andreas B. (andi-hamburg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Peter wrote:
> Stell doch einfach mal das PDF Online, eventuell noch den Quelltext des
> ersten versuches. Es sollte schneller gehen ihn zu ändern als komplett
> bei 0 unzufangen.

Denn Quelltext gibt es leider nicht mehr, habe nur noch die Datei. . . 
;-(

Es handelt sich um:

AM004 -03127 LED Display

PDF folgt.

Danke Euch, das Ihr versucht mir zu helfen.

Gruß Andi

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Versuche bitte noch einmal das PDF anzuhängen.

Autor: Andreas B. (andi-hamburg)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Gruß Andi

Autor: was-willst-du (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Denn Quelltext gibt es leider nicht mehr, habe nur noch die Datei. . .
>;-(


Verstehe wer will.

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das sieht ja recht einfach aus,
schreib mal was das Programm alles machen soll. Denn das Display hat ja 
viele möglichkeiten (Echtzeituhr, Verzögerte anzeige, usw).

Autor: Andreas B. (andi-hamburg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich möchte gerne als "Nebenwunsch", das im "stand by" die Uhrzeit und 
datum angezeigt wird.

Hauptwunsch: Es soll ein Text, der als Parameter von einem Windows 
Programm (FMS32pro) gesendet wird, auf der Laufschrift angezeigt werden.

FMS32pro kann Aktionen ausführen, das soll passieren und der Text (%1 %2 
%3) soll an die Laufschrift gesendet werden.

Wenn´s geht ca. 30 sec, danach wieder in Standby. Das aber erstmal nicht 
so wichtig.

Gruß Andi

Autor: Andreas B. (andi-hamburg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
was-willst-du wrote:
>>Denn Quelltext gibt es leider nicht mehr, habe nur noch die Datei. . .
>>;-(
>
>
> Verstehe wer will.

Ich hab das Programm nicht geschrieben, und der User hat den Text leider 
gelöscht. . . .

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Irgendwie versteht ich noch nicht ganz.

Was ist das Programm "FMS32pro"?

Du Brauchst also ein Programm was 3Parameter aufnimmt (oder ist die 
anzahl immer anders?) und jeder Parameter enthält Text. Soll der Text 
dann auf verschiende Zeilen (Laut pdf kann das ding mehre Zeilen 
ansteuern) oder einfach zusamen gehangen werden?

Woher weiss das Programm welche ID das Display hat, muss das nicht auch 
per Parameter übergeben werden?

Autor: Andreas B. (andi-hamburg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Peter wrote:
> Irgendwie versteht ich noch nicht ganz.
>
> Was ist das Programm "FMS32pro"?
>
> Du Brauchst also ein Programm was 3Parameter aufnimmt (oder ist die
> anzahl immer anders?) und jeder Parameter enthält Text. Soll der Text
> dann auf verschiende Zeilen (Laut pdf kann das ding mehre Zeilen
> ansteuern) oder einfach zusamen gehangen werden?
>
> Woher weiss das Programm welche ID das Display hat, muss das nicht auch
> per Parameter übergeben werden?

FMS32pro ist ein Pocsag Programm, damit werden Meldungen von Digitalen 
Meldeempfängern (z.B Feuerwehr, Rettungsdienst usw.)empfangen und 
ausgewertet.

Es sind bis zu 4 Parameter:

%1 --> RIC (immer 7 Stellig, Numerisch) [Adresse]
%2 --> Funktion [0,1,2,3]
%3 --> Textmeldung [bis zu 80 Zeichen]
%4 --> Textzuweisung (Name)

Die Parameter sollen nur auf einer Zeile laufen.
Es soll immer an die ID 01 und "Page" A gesendet werden.

Hier eine Beispielmeldung:

[%1] 0611111 [%2]0 [%3]A 17:35 FEUER Musterstrasse 1; bei Hernn Muster 
[%4] Feuerwehr Musterhausen

Wichtig sind mir nur die Parameter %3 und %4, wobei ich die gerne so 
angezeigt hätte:

%4 %3

Hoffe es ist verständlich.

Gruß Andi

Autor: Peter (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
hier mal ein kleines Testprogramm - ist aber wirklich erstmal bloss ein 
Test.

Es senden ein Text an das Display. Es wird Com1 verwendet.

Autor: Andreas B. (andi-hamburg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Peter wrote:
> Hallo,
> hier mal ein kleines Testprogramm - ist aber wirklich erstmal bloss ein
> Test.
>
> Es senden ein Text an das Display. Es wird Com1 verwendet.

Hi Peter,

ich habe es grad getestet. Leider erscheint bei mir kein Text auf dem 
Display.


http://www.bildercache.de/anzeige.html?dateiname=2...

Dann schließt sich das Fenster und das war es.

Gruß Andi

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schade, wäre ja auch zu einfach gewesen.

Hängt das gerät wirklich an Com1?

Kannst du das alte Programm mal hochladen, dann kann ich mir mal 
anschauen was er verschickt.

Autor: Andreas B. (andi-hamburg)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hi Peter,

ja er hängt an COM1. Wenn ich das Prog starte verschwindet auch für ne 
kurze Zeit der (bisher) angezeigte Text kurz, erscheint dann aber 
wieder.

Das Programm welches Angehängt ist, muß man so starten:

C:system32.exe [COM] [TEXT] (COM1 oder 2 möglich)

Gruß Andi

Autor: Andreas B. (andi-hamburg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe grad einmal ein RS232 Abhörpogramm installiert.

Diese Daten sendet der PC an die Anzeige, wenn ich das dazugehörige 
Laufschrift Programm starte und folgenden Text sende "test"

<ID01><L1><PA><FE><MA><WC><FE>test62<E>

Leider habe ich keine Möglichkeit abzuhören, was das Display antwortet.

Gruß Andi

P.S: Merkwürdigerweise kann ich auch an ID00 senden, und das Display 
zeigt den Text an. Ich kann das Display selber aber nicht auf ID00 
programmieren.

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
die ID00 ist die Broadcastadresse, das ist erstmal normal das das 
Display darauf reagiert.

Scheinbar ist der Fehler wie ich die Checksumme anhänge, ich dachte sie 
muss auch mit <CS??> angehangen werden, aber scheinbar muss sie nur 
einfach so hinten dran.

In der Doku steht leider nicht drin wie das Display antwortet, da steht 
bloss was von AKT/NAKT aber nicht welche zeichen es sind.

Ich mache heute Abend mal eine neue Version mit der andere Checksumme.

Autor: Andreas B. (andi-hamburg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hier noch zwei Texte:

[Probe]

<ID01><L1><PA><FE><MA><WC><FE>Probe3E<E>

[<25Sec>  <Display Time>   <Display Date>]

<ID01><L1><PA><FE><MA><WZ><FE>  <KT>   <KD>5D<E>

Gruß Andi

@Peter: Schon jetzt einmal vielen Dank für deine Bemühungen!

P.S: Wenn ich aus der Software an ID00 sende, bekomme ich keine 
Fehlermeldung (Display error)

P.P.S:

Wenn ich sende sieht es so aus:

<ID01><L1><PA><FE><MA><WC><FE>Probe3E<E> [len=40]

<20090316135628.421 RX>

Funktioniert auch!

ACK

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>In der Doku steht leider nicht drin wie das Display antwortet, da steht
>bloss was von AKT/NAKT aber nicht welche zeichen es sind.

Eventuell ASCII: ACK = 0x06, NACK = 0x15h

Autor: Peter (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
so hier mal ein 2.Versuch.

jetzt mal bitte als Parameter test,Probe oder anderen Text angeben.

Das Programm bitte über die eine Befehlzeile starten, dann bleiben die 
Ausgaben am ende erhalten.

Autor: Andreas B. (andi-hamburg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Peter,

bitte melde mich bei mir per e-Mail!

Es ist genau das was ich gesucht habe, und es FUNKTIONIERT!!! ;-)

Danke, Danke, Danke!!!

Gruß Andi

Autor: Stefan Huber (hoomerle)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Peter,

hallo, ich bin gerade an der Verwirklichung eines selbigen Projektes mit 
LED Laufschrift und Pocsag Melder oder alternativ mit FMS32 pro.
Könntest Du mir evtl. das Programm auch zukommen lassen, bzw. mir
Details zu der Verwirklichung nennen.
mfg

Autor: Peter (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ich stellt es einfach mal hier rein.

Dazu noch eine ini datei mit dem namen rs232display.ini und dem inhalt

[Konfig]
ID=1
Port=COM1
Text=<L1><PA><FE><MA><WC><FE>%1 %2 %4 %3

anlegen, wenn man jetzt die exe startet wird der Text aus der ini datei 
auf dem Display ausgegeben. Die Parameter %1 usw werden durch die 
Kommandozeilenparameter der exe ersetzt

Autor: Stefan Huber (hoomerle)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
danke

Autor: Andreas B. (andi-hamburg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Darf ich noch einmal auf Dich zurück kommen?

Ist es möglich das nach einer Zeit=X zusätzlich folgender Befehl an die 
Anzeige gesendet wird?

<ID01><L1><PA><FE><MA><WC><FE>  <KT>   <KD>44<E>

Super wäre es,wenn man die Zeit in Minuten in der INI einstellen könnte, 
reicht aber auch völlig aus, wenn eine feste Zeit eingegeben wird = 20 
min.

Da das Fenster ja bestimmt die ganze Zeit geöffnet bleiben muss, wäre es 
super, wenn es immer "minimiert" starten würde.

Würde mich über eine Rückmeldung freuen.

Gruß Andi

Autor: Riiko (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi, habe das Programm auch mal an meiner LED-Laufschrift ausprobiert...
Leider ohne Erfolg.

Gut, folgendes Problem bei mir:
Ich möchte SMS aus einem Handy auslesen und an die LED auf Page-O 
ausgeben.
Ich lasse mein Programm folgendes an den RS232 senden:
<ID00><L1><PO><FE><MA><WA><FE><GA>{die SMS}??<E>

Bei den '??' steht immer die "Checksumme" der Nachricht...
Ich selbst scheitere daran, das ich die Checksumme nicht errechnen kann.

Wie bekomme ich die herraus? Mir ist bekannt, das diese irgendwie über 
XOR errechnet wird.

Kann mir jemand dabei helfen und sagen, wie ich die errechnen lassen 
kann?

Vielen Dank schnon mal!
Gruß,
Riiko

Autor: micha (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast Du das oben verlinkte PDF gelesen? Dort sollte es eigentlich drin 
stehen. Beim überfliegen schein es tatsächlich nur ein einfaches XOR 
über die Nachricht zu sein, das heist Du fänst beim ersten 
Byte(Buchstaben) an und rechnest das "XOR" mit dem zweiten. Diesen dann 
per XOR mit den zweiten Byte/Buchtaben, dann mit dem dritten usw.

Wie "XOR" in der von Dir benutzten Programmiersprache funktioniert must 
Du wissen.

Autor: Riiko (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ok, das PDF welches ich hatte war nicht so schön detailiert wie dieses 
hier!
Hab das irgendwie übersehen, sorry.
Ich nutze Delphi7 (ja, ich weiss, wird von guten Programmierern 
gemieden. Hab abder darauf gelernt ^^; ). XOR-Berechnungen sind da 
relativ einfach.

Riesen lieben Dank für die Hilfe, nun kann ich endlich den letzten 
Schritt fertigstellen! Danke!

Autor: micha (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dann etwa so:

Function SimpleCheckSum (const MyMessage : String) : byte;
Var res : byte;
    i   : integer;
Begin
  res := MyMessage[1];
  for i:=2 to length(MyMessage) do
     res := res XOR MyMessage[i];
  SimpleCheckSum := res;
End;

;-) Pascal ist schon wieder etwas her (? stimmt das "do"), aber immer 
noch eine der für mich schönsten Sprachen...

Autor: Riiko (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hey super riesen Dank!!!
Die Checksumme wird endlich richtig errechnet!
Musste wegen Delphi-Meckerei (inkompatible Typen 'Byte' und 'Char') 
deinen Quellcode etwas abändern, aber er funktioniert tadelos:

Function SimpleCheckSum (const MyMessage : String) : byte;
Var res : byte;
    i   : integer;
Begin
  res := ord(MyMessage[1]);
  for i:=2 to length(MyMessage) do
     res := res XOR ord(MyMessage[i]);
  result := res;
End;

Jetzt stehe ich schon mit dem Fuß auf der Ziellinie und schepper prommt 
in die nächste Glaswand, die mir den Weg ins Ziel versaut...
Zwar ist der Output am Serial-Port der selbe, jedoch nimmt das 
LED-Display keinen Befehl mehr an, wenn ich mit meinem Programm versucht 
habe etwas zu senden.

Aber egal, was ich sende... Es sieht mit dem Original-Programm genauso 
aus wie in meinem... Hoffe das wird nun richtig dargestellt:
Port geöffnet durch Vorgang "NewSign 03127 or 03128.exe" (PID: 3436)

 3C 49 44 30 30 3E 3C 42 45 3E 30 35 3C 45 3E 3C   <ID00><BE>05<E><
 49 44 30 30 3E 3C 4C 31 3E 3C 50 4F 3E 3C 46 45   ID00><L1><PO><FE
 3E 3C 4D 41 3E 3C 57 41 3E 3C 46 45 3E 48 69 20   ><MA><WA><FE>Hi
 48 6F 21 21 21 20 45 69 6E 20 54 65 73 74 20 54   Ho!!! Ein Test T
 65 78 74 21 33 37 3C 45 3E 3C 49 44 30 30 3E 3C   ext!37<E><ID00><
 42 46 3E 30 36 3C 45 3E                           BF>06<E>

Port geschlossen

Port geöffnet durch Vorgang "SMS2LED.exe" (PID: 4300)

 3C 49 44 30 30 3E 3C 42 45 3E 30 35 3C 45 3E 3C   <ID00><BE>05<E><
 49 44 30 30 3E 3C 4C 31 3E 3C 50 4F 3E 3C 46 45   ID00><L1><PO><FE
 3E 3C 4D 41 3E 3C 57 41 3E 3C 46 45 3E 48 69 20   ><MA><WA><FE>Hi
 48 6F 21 21 21 20 45 69 6E 20 54 65 73 74 20 54   Ho!!! Ein Test T
 65 78 74 21 33 37 3C 45 3E 3C 49 44 30 30 3E 3C   ext!37<E><ID00><
 42 46 3E 30 36 3C 45 3E                           BF>06<E>

Port geschlossen

Also wie gesagt. Der Output scheit identisch zu sein.
Nur macht die LED bei der Original Software was und bei meinem Programm 
streikt es... mist.

Autor: Peter E. (elsi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Riiko,

Was man nicht sieht ist das Timing zwischen den Zeichen bzw. den 
Telegrammen. Probier doch mal:

<ID00><BE>05<E>
350ms delay
ID00><L1><PO><FE><MA><WA><FE>HiHo!!! Ein Test Text!37<E>
350ms delay
<ID00><BF>06<E>

Gruß

Elsi

Autor: Eric Pekowski (riiko)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hey Super, auf die Idee bin ich gar nicht gekommen!
Ich war irgendwie so auf diese Checksumme und die Ansteuerung der 
Seriellschnittstelle fixiert, das ich über Faktor Zeit überhaupt nicht 
nach gedacht hatte ^^;
... irgendwie auch logisch, dass das LED-Panel nicht mehr reagieren 
kann, wenn ich den mit einem Klick derart mit Steuerbefehlen 
torpediere...

Ok, vielen heissen Dank!!! Ich werde in der nächsten Woche das mal 
ausprobieren.
Wenn mein Projekt endlich mal Erfolgreich ist, werde ich es hier auch 
mal online stellen (für alle, die auch derart verrückte Ideen wie ich 
haben).

Gruß,
Riiko ^^;

Autor: Eric Pekowski (riiko)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja wunderbar!
Es klappt endlich, super vielen Dank!!!
Nicht nur das Timing hatte ich etwas verbaselt, auch die Art der 
Übertragung.
Das Original Programm hat jedes Zeichen einzeln gesendet.
Bsp: Test
Port geöffnet
>T
>e
>s
>t
Port geschlossen

Mein Programm hatte immer den ganzen "Block" auf einmal senden wollen.
Bsp: Test
Port geöffnet
>Test
Port geschlossen

Ist mir erst aufgefallen, als ich den COM-Port-Scanner auf Listenansicht 
umgestellt hatte, um das Timing abzulesen.
Wie auch immer, nun weis ich endlich wie die LED-Anzeige gefüttert 
werden mag und kann endlich mein Prg weiterschreiben!

Nochmals vielen lieben Dank an alle für eure Hilfe!
Ohne Euch hätte ich das Projekt mit Sicherheit verworfen!

Gruß,
Riiko

Autor: Peter E. (elsi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Freut mich dass ich helfen konnte, keep on hacking... ;-)

Autor: Holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Peter und Co!
Ich nutze deine rs232display.exe nun auch für meine Laufschrift, 
funktioniert echt super!
Ein Problem hab ich jedoch: Ich schaffe es nicht, Umlaute zu übergeben. 
In dem verlinkten PDF ist ja eine Tabelle der European characters 
aufgeführt. Wenn ich jedoch den entsprechenden Code in deine ini 
einfüge, wird dieser als Klartext übertragen.

Beispiel:

[Konfig]
ID=1
Port=COM1
Text=<L1><PA><FE><MA><WC><FE>Hier steht eine <U5C>berschrift.


Meine Laufschrift zeigt dann kein Ü sondern eben <U5C>. Woran kann das 
liegen? Hab schon alle möglichen Codes und Schreibweisen ausprobiert. 
Wenn ich den Code mit der NewSign-Software übertrage klappt es. :-(

Wäre klasse wenn du einen Rat hättest!

LG, Holger

Autor: Peter E. (elsi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Holger,

leite doch mal die Ausgabe der NewSign-Software über ein Nullmodem an 
einen anderen (oder den gleichen) PC mit Terminal Software und schau Dir 
das Ergebnis an. Meine Vermutung ist dass die NewSign Software die 
Zeichenfolge <U5C> in ein einziges anderes Zeichen umsetzt.

Mein Bastelkeller ist leider im Moment etwas zu kalt sonst würde ich das 
mal eben prüfen...

Viel Glück

Peter

Autor: Andreas B. (andi-hamburg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin,
ich hab noch einmal eine frage an Euch. Kennt einer den Befehl,damit die 
Uhrzeit nicht ständig alle 20sek verschwindet,sondern so lange angezeigt 
wird,bis das Display eine neue Meldung bekommt?

Danke

Gruß Andi

Autor: Holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank Peter, das war die richtige Spur!
Habe den Befehl per "Advanced Serial Port Monitor" abgehört und du 
hattest recht: Die Umlaute werden durch einzelne Sonderzeichen ersetzt 
(z. B. ä=£). Nun kann ich die Zeichen entsprechend an deine 
rs232display.exe übergeben. Top! :-)
D A N K E !

Autor: Andreas B. (andi-hamburg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Leute,

da Ihr mir schon einmal so super geholfen habt, habe ich hier noch 
einmal eine frage. ;-)

Ich benötige ein kleines Programm, welches 2 Eingabefelder (1x7 Zahlen, 
1x Text max. 240 Zeichen) hat, und 4 Auswahlfelder ( 1x4, 1x3, 1x2, 
1x3).
Und einen "Enter" Knopf.

Nach dem drücken des "Enter" Knopfes soll ein Befehl an einen Com-Port 
gesendet werden, welcher sich aus den unterschiedlichen Möglichkeiten 
zusammensetzt.

In welcher Sprache es programmiert wird, ist mir erstmal egal.
Es soll am ende ein Datenpaket an einen COM-Port gesendet werden.

Ich sende im Moment die Befehle immer per TeraTerm an den COM-Port. Da 
der Befehl fast immer gleich ist, wollte ich es dennoch vereinfachen.

Folgende Felder sollen vorhanden sein:

1) [RIC] --> 7 stelliges frei Eingebbares Zahlenfeld
2) [Funktion] --> 4 Auswahlfelder (0,1,2,3)
3) [BAUD] --> 3 Auswahlfelder (512,1200,2400)
4) [Invert] --> 2 Auswahlfelder (Y,N)
5) [Typ] --> 3 Auswahlfelder (A,N,T)
6) [TEXT] --> Freier Text bis zu 240 Zeichen

Der Befehl der an den COM-Port gesendet wird, soll sich wie folgt 
zusammensetzen:

P,[RIC],[Funktion],[Baud],[Invert],[Typ],[Text]

Beispiel:

p,1234567,0,1200,n,a,Dies ist ein test Text

Verstehst Ihr was ich meine?

Danke

Gruß Andi

P.S: Ich kann gerne eine Übersicht senden, wie die Kommunikation 
zwischen PC und Gerät aussieht.

Autor: Sven Hinnüber (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
HAllo! Benötige Hilfe, ich würde gerne von einem Digitalen Empfänger 
Eingehende Meldungen, über RS 232, auf ein Laufschriftdisplay bringen!?? 
Leider bin ich nicht der Programmierkönig, das deißt fast keine Ahnung!
Also was muß ich in die betreffenden Zeilen eingebn damit eine Ausgabe 
funktioniert. Im Anhang ein Bild von der Progsoft des Herstellers!

Autor: Michael S. (technicans)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und warum machste diesen Uralt-Thread dann auf?
Bisschen wenig Informationen die du da angibst.
Wende dich doch an den Hersteller und frage den doch mal
was er dir anbieten kann. Evtl. kann er dir sogar ein paar
Programmierinformationen geben.
Wenn der sich allerdings verweigert dürfte es auch für einen
Programmierer nicht leicht werden da eine Lösung zu finden.
Vorteilhaft wäre wenn du angemeldet wärst, dann könnte man
weitere Details per PN austauschen, insbesonder was dir die
Lösung Wert wäre. Denn für Umsonst haben hier die wenigsten
Zeit.

Autor: derdaani (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi zusammen,

vielen Dank für den tollen Thread, hat mich schon enorm weiter gebracht. 
Ich strauchle leider an der Berechnung der checksum. Riiko hat weiter 
oben schon einen Lösungsvorschlag für Delphi angegeben:
Function SimpleCheckSum (const MyMessage : String) : byte;
Var res : byte;
    i   : integer;
Begin
  res := ord(MyMessage[1]);
  for i:=2 to length(MyMessage) do
     res := res XOR ord(MyMessage[i]);
  result := res;
End;

Ich programmiere in Processing (basiert auf der Java-Syntax). Leider 
bekomme ich es nicht hin, eine korrekte checksum zu berechnen. 
Vielleicht fällt Euch der Fehler auf!?
String myCommand = "<ID01><L1><PA><FE><MA><WC><FE>Probe"; // checksum müsste laut Beispiel 3E sein
byte res = byte(myCommand.charAt(0));
for(int i=1; i<myCommand.length(); i++){
  res = byte(res ^ myCommand.charAt(i));
}
String checksum = hex(res);
myCommand += res +"<E>";

Bin für jede Anregung dankbar!

Autor: derdaani (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo nochmal,

in einem Spezial-Forum für Processing konnte mir der entscheidende Tipp 
gegeben werden. Dieser ist unabhängig von der verwendeten 
Programmiersprache, daher poste ich meinen persönlichen Stolperstrick 
hier nochmals:

Die checksum betrifft lt. Datenblatt AUSSCHLIESSLICH das Datenpaket, 
also nicht ID etc.

Der Vollständigkeit halber hier mein funktionierendes Codebeispiel:
String fullCommand ="<ID01>";
String data = "<L1><PA><FE><MA><WC><FE>Test dont test!";
byte res = 0;
for(int i=0; i<data.length(); i++){
  res ^= byte(data.charAt(i));
}
String checksum = hex(res);
fullCommand += data + checksum + "<E>";

Autor: Ellen S (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hello! I have tried to get Swedish characters to work with the 
LED-panel. I thought it might be usefull for you too:

http://www.sundh.com/blog/2012/04/arduino-library-...

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, Yahoo oder Facebook? Keine Anmeldung erforderlich!
Mit Google-Account einloggen | Mit Facebook-Account einloggen
Noch kein Account? Hier anmelden.