mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Probleme mit RS232 Übertragung über Bluetooth


Autor: Stefan S. (kami)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

ich habe folgendes Problem. Ich möchte von einem easymeter Stromzähler 
die Ausgabe über die Infrarotschnittstelle per Bluetooth übertragen.

Das Protokoll des Zählers wird richtig ausgelesen und steht zur 
Übertragung zur Verfügung. Wenn ich die Daten also direkt per USB-RS232 
Adapter übertragen kommen Sie richtig an.

Also nun zum Problem ich möchte die Daten mit einem Free2Move Bluetooth 
Modul übertragen. Das Modul bietet nur die Einstellungen Baudrate, 
Parity Bits (None,Even,ODD) und Stop Bits (1,2). Die Databits sind fest 
auf 8 Stück und können nicht umgestellt werden.

Der Zähler überträgt aber nur ein Protokol das so aufgebaut ist:

Baud = 9600
Data bits= 7
Parity bit =1 (even)
Stop bit = 1

der Rechner der empfangen soll ist ein PC und kann alles einstellen.

Also wie kriege ich das Protokoll des Zählers lesbar an den PC 
geschickt? Weil ich ja mit der Anzahl der Datenbits nicht gleich bin?

Zur Zeit kommt zwar was an aber das ist nur Müll.

Vielen Dank.

Gruß kami

Autor: Pascal H. (pase-h)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit einem Atmega.
Du könntest ja parallell zum Hardware RS232 noch einen Software RS232 
programmieren.
Ich würde das so machen:
1.Signal über die Software RS232 einlesen
2.Das Signal dann passend an dein Bluetoothmodul senden.


Das müsste eigentlich funktionieren, jedoch habe ich es noch nicht 
getestet.

Mfg
Pase

Autor: Stefan S. (kami)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das ist doof, ich möchte das eigentlich ohne Controller direkt machen. 
Geht das nicht irgendwie? oder gibt es irgendein Bluetooth Modul das 
auch andere Einstellungen kann?

Gruß kami

Autor: David .. (david1)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit einem andern Modul geht das, ich hab hier ein Bluetooth-Bee von 
Watterott.de liegen, aber das muss glaub bei jedem start gesagt bekommen 
das es auf sichtbar gehen soll, dazu bräucht man dann wieder nen atmel, 
aber das is schon wesentlich einfacher.

Aber ob man das auf 7 Datenbits einstellen kann, musste das Datenlatt 
anschauen.

Autor: Pascal H. (pase-h)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Stefan S. (kami)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

kann ich nicht irgendwie die 7 Databits so übermitteln, dass er die 
richtig auf dem PC ausgibt?

Hat vielleicht jemand noch andere Tipps zu Modulen mit den man das 
machen kann?

Habe das hier gefunden:

http://lynx-dev.com/index.php?page=shop.product_de...

vielleicht hat ja jemand noch ein paar Tipps.

Gruß kami

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
7e1 lässt sich problemlos als 8n1 übertragen.

Auf der Empfängerseite wird das Paritätsbit weggeworfen (mit 0x7F 
verANDen), auf der Senderseite muss es hingegen für jedes zu sendende 
Byte berechnet und in Bit 7 eingetragen werden.

Autor: Stefan S. (kami)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

das würde ich gerne genauer wissen. ICh habe jetzt mein Modul auf 8 
Databite, baud 9600, parity = none, stop bits = 1 eingestellt.

Was muss ich bei der Empfängerseite unter Coolterm (so heißt mein Tool) 
einstellen?

Wäre sehr dankbar für ein paar tipps .

Gruß kami

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was das Tool machen muss, habe ich beschrieben, das wirst Du notfalls 
selbst schreiben müssen.

Autor: Stefan S. (kami)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

okay aber dann sind wir ja wieder bei der ersten Lösung, mit einem 
zusätzlichen COntroller auf der Senderseite. Das will ich ja extra 
nicht. Sondern ich möchte gerne nur die RS232 Signale senden und dann 
auf der Empfängerseite auswerten. Geht das also nicht?

Gruß kami

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Natürlich geht das, Du musst halt die Empfängerseite selber schreiben 
bzw. entsprechend anpassen.

Wenn das Programm fest vorgegeben und unveränderlich ist, dann kannst Du 
mit com0com dessen Schnittstellenzugriffe auf eine virtuelle umleiten, 
die Du dann wiederum mit einem selbst zu schreibenden Programm füttern 
musst, das mit der Schnittstelle kommuniziert, an der Deine 
BT-Verbindung angeschlossen ist.

Dieses zu schreibende Programm muss halt im Sendebetrieb das Parity-Bit 
selbst berechnen und es im Empfangsbetrieb wegwerfen. Fertig.

Autor: Stefan S. (kami)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

also auf der Empfängerseite kann ich machen was cih will. Da würde mich 
halt irgendein tool wie Hyperterminal oder so interessieren, mit dem ich 
erstmal recht einfach sehen kann ob die Übertragung richtig ankommt. 
Kannst du mir da vielleicht irgendwas simples empfehlen? ALso das BT 
Modul habe ich auf 8n1 eingestellt und eine Kommunikation ist da.

Gruß kami

Autor: Stefan S. (kami)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi rufus,

hast du vielleicht bitte noch ein bißchen mehr hilfe für mich. Wäre echt 
klasse kommme überhaupt nicht weiter. Vielen Dank.

Gruß kami

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was exakt ist denn jetzt Dein Problem? Wenn Du die Daten, die Du 
empfängst, Dir anzeigen lassen willst, nimm halt ein Programm wie das 
"Terminalprogramm" hterm von Tobi 
http://www.der-hammer.info/terminal/, das ist vielleicht etwas besser 
geeignet als ein "echtes" Terminalprogramm wie HyperTerminal.

Musst Du denn auch Daten senden, oder genügt es, welche zu empfangen?

Autor: Stefan S. (kami)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

also es genügt Daten zu empfangen. Ich empfange ja auch was und kann die 
Settings also die Konfiguration anpassen. Was mir halt, fehlt oder was 
besser nicht klappt ist die richtige Ausgabe der Daten. Da baut er immer 
noch Mist.

Vielleicht kannst Du mir ja sagen, wie ich in meinem Sonderfall hterm 
einstellen muss?

Gruß kami

Autor: StinkyWinky (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die mittels Terminal empfangenen Daten musst Du halt nachbearbeiten, 
indem Du das Parity-Bit entfernst, wie Rufus weiter oben schon gesagt 
hat.

Autor: Stefan S. (kami)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Okay,

nur meine Frage ist halt wie mache ich das?

Gruß kami

Autor: Stefan S. (kami)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

so ich bin nun etwas weiter. Wenn ich das ganze mit mit hterm als 
Übertragung mit 7 Databits und Parity even oder none und Stopbits=1 
anschaue dann sieht der Output so aus wie er aussehen soll:

/ESY5Q3DA1004 V3.02

1-0:0.0.0*255(0273011003463)
1-0:1.8.0*255(00001320.5410118*kWh)
1-0:21.7.255*255(000009.04*W)
1-0:41.7.255*255(000209.88*W)
1-0:61.7.255*255(000111.52*W)
1-0:1.7.255*255(000330.44*W)
1-0:96.5.5*255(82)
0-0:96.1.255*255(1ESY1011003463)
!

und wenn ich das selbe mit einem anderen Tool als Hterm mache dann sieht 
der immer so aus:

??SY5?3DA?00??V3.0??
?
?-0:0.0.0??55(0??30??003?63??
?-0:?.?.0??55(0000?3?0.3??90?????詍
?-0:??.?.?55??55(00000?.?9?ש?
?-0:??.?.?55??55(000???.03?ש?
?-0:6?.?.?55??55(000??3.55?ש?
?-0:?.?.?55??55(000333.???ש?
?-0:96.5.5??55(????
0-0:96.?.?55??55(??SY?0??003?63??
!?


Woran kann das liegen?

Wäre dankbar für hilfe.


Gruß kami

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.