Forum: Mikrocontroller und Digitale Elektronik Plug in für meine RS232 Verbindung


von Haider K. (Gast)


Lesenswert?

Hallo Allerseits,
ich habe ein Mikrokontrollersystem mit einer RS232 Schnittstelle.
Für meine Applikation speichere ich alle meiner Konfigurationdaten
meines Controllerssystem in verschiedene Files. Diese Files sind im
Flasch Speicher meines Systems. Diese Files dienen zur Konfiguration
des Betriebs meines Systems.

Ich möchte gerne folgendes machen:
Ich möchte gerne diese TXT Files meines Controllerssystemin einem
Editor auf meinem PC bearbeiten.
Wenn ich mein Mikrokontrollersystem mit einem PC über die serielle
Schnittstelle verbinde, dann muss ich ein Verzecihniss unter meinem
Arbeitsplatz zu sehen bekomme, wenn ich darauf klicke dann sehe ich
alle die Files von meinem Mikrokontrollersystems, die ich dann
bearbeiten kann und wieder zum Kontroller senden kann

Was muss ich machen damit ich so was realisiere.????
Muss ich ein bestimmtes Protokoll zur seriellen Kommunikation einsetzt
um so eine Eigenschaft zu realisieren? Ich programmiere mein System mit
Python.

Ich hoff ich habe mich deutlich ausgedrückt, wenn was unklar bitte
melden.

Ich bedanke mich im voraus.
Haider Karomi

von Peter D. (peda)


Lesenswert?

"ich habe ein Mikrokontrollersystem..."

Ich würd mal sagen, Mikrokontrollersysteme gibt es viele tausende.

Die meisten davon haben im Flash allerdings nur das Binary
gespeichert.

Die Quelltexte und Compiler stehen dann beim Entwickler auf der
PC-Festplatte.

Es gibt auch MCs mit einem Interpreter drinn, die auch Textfiles
interpretieren können.

Allerdings sind die dann um viele Größenordnungen langsamer und werden
daher nur für sehr simple Anwendungen benutzt.


"Wenn ich mein Mikrokontrollersystem mit einem PC über die serielle
Schnittstelle verbinde, dann muss ich ein Verzecihniss unter meinem
Arbeitsplatz zu sehen bekomme"

Das halte ich für sehr gewagt.
Ich kenne jedenfalls kein Massenspeichergerät, das per
UART-Device-Treiber eingebunden wird (nur über USB, Firewire usw.).
Liegt denn dem Mikrokontrollersystem eine Treiber-CD bei ?


Peter

P.S.:
Bei Fragen zu einer bestimmten Hardware sollte man mindestens den Typ
und Hersteller und am besten noch nen Link auf die Produktseite posten.

von Stefan (Gast)


Lesenswert?

Eine fertige Lösung ist mir nicht bekannt.

Du kannst dir auf dem PC ein Anwendungsprogramm schreiben, das die
gewünschte Funktion hat. Du hast dabei zwei Hauptaufgaben zu
bewältigen:

1/ Sicherer, d.h. fehlerkorrigierender, Transfer von Daten (Dateien)
vom/zum µC
2/ Userinterface (Listenauswahl etc.)

Eine dritte Aufgabe ist möglicherweise das Speichern von übertragenen
Daten im Flash-Speicher des µC.

von Karomi (Gast)


Lesenswert?

Hallo,
danke für die schnelle Antworten. Aber leider mit diesen Antworten bin
ich auch nicht schlauer geworden.

Mein System ist von der Firma Roundsolutions.
www.reoundsolutions.com/techdoc
Ich benutze GM862 GSM Modem. Die Programmierung läuft über Python.
Ich will ohne irgendwelche Software auf dem PC einfach ein Verzeichniss
in meinem Arbeitsplatz bekommen, sobald ich meine RS232 des Systems mit
dem PC verbinde. Ähnlich wie die USB Massenspeicher wenn man die am PC
anschliesst. Ich will aber kein Massenspeicher Stick realisieren
sondern nur meine Files von meinem Module auf PC übertragen. Diese
Files werden dann zum Betrieb meines Modems benutzt.

Ich kann natürlich so was mit dem mitgelieferten Compiler und Tools
tun, aber diese Tools kein ich beim Endkunde nicht immer für mein
Produkt verkaufen. Die Tools dienen zur Programmierung und ich will was
für mein Endprodukt realisieren, so dass der Kunde mein System einfach
am PC anschliesst und die TXT File an Hand einer Benutzeranleitung
ausfühllt.

Wenn jemand eine Idee hat, dann freue ich mich sie zu bekommen.
Wenn ich im net rechersciere, nach was soll ich suchen um Information
über meine Vorstellung zu bekommen?

Vielen Dank
Haider Karomi

von Korrekter Link (Gast)


Lesenswert?


von Karl heinz B. (kbucheg)


Lesenswert?

> Ich will ohne irgendwelche Software auf dem PC einfach ein
> Verzeichniss in meinem Arbeitsplatz bekommen,

Direkt wird das nicht gehen.
Dann was du normalerweise nicht siehst: Wenn du 2 PCs miteinander
verbindest, und die Verzeichnisse vom einem PC auf dem anderen
auftauchen, dann liegen da einige Softwareschichten dazwischen,
die sich um den Datentransport auf Netzwerkebene kümmern, die
den Datenaustausch der Verzeichnisse regeln, usw.

Was du machen kannst:
Auf deinem Mikrocontroller System wirst du ja ein
Programm laufen haben. In dieses Programm musst du einen
weiteren Menüpunkt mit aufnehmen. Über diesen Menüpunkt nimmt
dann dein Programm Kontakt mit einem am PC laufenden Programm
auf und stellt zunächst mal die Verbindung her. Wies
dann weiter geht, musst du selbst entscheiden:
* Möglichkeit
   Dein Mikrocontrollersystem benutzt den PC lediglich als
   Ausgabegerät zur Anzeige der Daten bzw. als Eingabegerät
   um Benutzereingaben zu erhalten.
   D.h. auch dass du im µC sowas wie einen Editor haben musst,
   der seine Ein- Ausgabe über die RS232 abwickelt und ganz
   für sich alleine Files öffnen, Editieren und wieder abspeichern
   kann.

   Vorteil: Auf dem PC muss ausser einem Terminalprogramm nichts
   existieren.
   Nachteil: Du kannst auf nichts, und ich meine nichts, fertiges
   zurückgreifen und erfindest das Rad bei 0. Dafür hast du
   allerdings die volle Kontrolle über das System

* Möglichkeit

  Du schreibst die auf dem µC sowas wie einen Server, der bestimmte
  Befehle kennt. zb: 'Gib mir eine Liste aller Files', 'Gib mir
  den Inhalt der Datei xyz', 'Schreibe den folgenden Text in
  Datei xyz'.

  Auf dem PC entwickels du dann ein Programm, dass über die von
  dir definierten Befehle auf den µC zugreift, Dateien anfordert,
  verändert und wieder abspeichert.

  Vorteil: Du hast wiederum alles in der Hand. Kannst auf dem
  PC zum Teil auf fertige Komponenten zurückgreifen und sparst
  dadurch etwas Zeit

  Nachteil: Ohne dieses Spezialprogramm ist es nicht möglich auf
  die Konfiguration einzugreifen.

* Möglichkeit:

  So wie der vorhergehende Punkt, allerdings beschränkst du dich
  nur darauf, alle Konfigurationsdateien vom µC auf den PC zu
  kopieren bzw. vom PC auf den µC zu transferieren.

* Möglichkeit:

  Denk dir was aus. Der Möglichkeiten gibt es noch viele.
  Theoretisch wäre es auch möglich die ganzen Netzwerkschichten
  von Windows soweit nachzubilden, dass dein µC tatsächlich im
  Netzwerk aufaucht, bzw. in einem UNIX System einen NTFS Layer
  zu bauen, so dass das µC Filesystem extern gemountet werden kann.
  Wie gesagt: Theoretisch. Praktisch hat diese Vorgehensweise
  extrem geringe bis gar keine Erfolgsaussichten.

von Stefan (Gast)


Lesenswert?

Geht nicht. Irgendetwas muss auf dem PC lauern und die gewünschte
Verzeichnisanzeige machen, wenn serielle Daten vom µC reinkommen.

Auch bei USB funktioniert das nur so. Dort lauern halt die USB Treiber
auf dem PC auf angeschlossene Geräte...

Das Irgendetwas musst du dir selbst schreiben, wenn unter den
Programmen von Roundsolutions nichts passendes dabei ist.

von Stefan (Gast)


Lesenswert?

Nachtrag:

Ist vielleicht verwegen, aber vielleicht kannst du einen sowieso auf
dem PC laufenden Service mitnutzen. Es gibt teilweise Tools und
Technologien (ActiveSync, Laplink...) zur Synchronisation von Handys,
PDAs, anderen PCs etc.

Wenn du auf deinem µC-System solch ein Protokoll oder Teile daraus
clientseitig implementierst...

von Karomi (Gast)


Lesenswert?

Hallo,
ich danke euch für die nutzvolle Tips.
Ich denke dass ich ohne ein Treiber auf dem PC nicht auskomme.
ich muss vorher auf dem PC Treiber instalieren, die meine Kommunikation
zum Mikrokontrollersystem herstellt und gleichzeitig das Erzeugen vom
Verzeichniss auf meinem Arbeitsplatz ermöglicht.

Gibt es Bücher oder Internetlinks für so eine Treiberimplementierung?
Kann mir jemand da weiterhilfen?

Vielen Dank nochmal
Haider Karomi

von inoffizieller WM-Rahul (Gast)


Lesenswert?

Für Treiber unter Windows gibt es vom Hersteller das DDK (Driver
Developement Kit) gegen Bares.
Unter Linux geht das wohl billiger...

von Karomi (Gast)


Lesenswert?

Hallo,
danke nochmal.
ich habe nach dem DDK gesucht aber leider keins für windows xp
gefunden.
Kann man präziser sein und vieleich mir sagen wenn ich Treiber für
meinen Fall brauche, was ich eigentlich ganz genau dafür brauche???
Stchwort DDK ist sehr umfangreich, kann jemand mir weitere Tips
geben.?

Danke
Gruss
Haider Karomi

von Stefan (Gast)


Lesenswert?

Treiberprogrammierung.... hmm da machst du die sprichwörtliche Dose
Würmer auf.

Für eine Implementierung über Treibern spricht, dass du es so
einrichten könntest, dass du die COM-Ports nicht für andere Anwendungen
blockierst. Der Treiber lässt sich dauerhaft transparent einbinden und
kann seinerseits die eigentliche Anwendung anstossen. Der User bekäme
von all dem nix mit.

Dazu könnte es Beispielsourcen auf dem Gebiet "RS232 monitor sniffer
logger" geben. Wie du bereits gemerkt hast, sollst du für bestimmte
Developer Tools wie das DDK bei Micro$oft bezahlen und du programmierst
tief in den Windows Innereien herum.

Andererseits ist eine Standalone RS232-Anwendung wesentlich einfacher
zu programmieren. Und wenn du eh dein µC physikalisch an einem COM Port
angeschlossen hast, wieso dann nicht auch eine exklusive Anwendung für
diesen COM-Port angeben, die zur Not per Autostart läuft oder die der
User starten soll? Für Python gibt es z.B. ein Open Source Librarypaket
für u.a. die serielle Schnittstelle...
http://sourceforge.net/projects/pyvisa

Nette (allerdings C und C++ lastige) Artikel zum Programmieren der
seriellen Schnittstelle unter Windows gibt es übrigens auf Codeproject

http://www.codeproject.com/info/search.asp?cats=2&cats=3&cats=4&cats=5&cats=6&searchkw=serial&Submit1=Search&author=&sd=15+Nov+1999&ed=28+Aug+2006

von Hans (Gast)


Lesenswert?

auf sysinternals.com gibts auch nen port-sniffer/logger mit source.. was
ich weis kann der auch rs232 und nicht nur lpt..

73

von Haider K. (Gast)


Lesenswert?

Hallo Leute,
ich danke euch. Eure Tips werden mir bestimmt weiterhelfen. ich muss
sie aber jetzt analysieren. Für weitere Tips bin ich auch froh.

Danke
Haider Karomi

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.