Python: Verkehssimulation

Gast #2949522
Lesenswert?

Hallo Allerseits,

nach einigen Anläufen mit Java und QT als graphische Oberfläche bin ich 
jetzt by Python ( bzw. dem Package Pygame ) angelangt.
Für die Kommunikation mit einem Mikrocontroller oder die Visualisierung 
von Messdaten scheint mir Python sehr geeignet.
Im Anhang mal ein kleines Pythonprogramm mit der Library "Pygame" umd 
die Einfachheit der Programmierung zu zeigen. Als Beispiel habe ich 
allerdings keine MC-Communication sondern die Simulation unserer 
Straßenverhältnisse.

Viel Spass damit,
chris
Angehängte Dateien:
Persönliche Seite #2954078
Lesenswert?

Tkinter in Python bietet da aber auch interessante Möglichkeiten mit 
Canvas.
WxPython schaue ich mir momentan in die Richtung noch an.

Hab da mal ein paar Python 2.X-Samples angehangen mit denen ich 
experimentierte.
Angehängte Dateien:
Gast #2977921
Lesenswert?

Hallo Dennis,

Tkinter sieht auch interessant aus. Ist es bei der Grundinstallation von 
Python gleich dabei?
In Deinen Programmbeispielen erscheint es mir aber etwas komplizierter 
als "pygame".

Ich habe in "pygame" ein einfaches graphisches Terminal programmiert.
( http://hobby-roboter.de/forum/viewtopic.php?f=4&t=139 )

Damit kann ein Mikrocontroller über die serielle Schnittstelle auf dem 
PC zeichnen. Es gibt ein Beispiel Programm für einen Arduino, mit dem 
die Werte des AD-Wandlers als Graph dargestellt werden.

Die implementierten Kommandos sind folgende:
cls              : clear screen
plot x y         : plot a point at x,y. Example: plot 100 200
color <color>    : set the color for the next drawing. Example: color 
red
pos x y          : set the position for the next drawing. Example: pos 
100 150
line x y         : plot a line from the last position to x,y. Example: 
line 200 300
print <string>   : print a string at the current position. Example: 
print hello world

Gruß,
chris
#2979332
Lesenswert?

Ok, wenn der Client das machen soll, muss man ein bisschen tricksen, 
aber ich behaupte, das geht trotzdem... der Client gibt der Anwendung 
Zugriff auf lokale Dateien, und man macht per JavaScript XMLHTTPRequests 
auf /dev/ttyS0. Ich gebe aber zu, dass das ziemlich esoterisch ist ;)
#2983440
Lesenswert?

Sven B. schrieb:
> Ok, wenn der Client das machen soll, muss man ein bisschen tricksen,
> aber ich behaupte, das geht trotzdem... der Client gibt der Anwendung
> Zugriff auf lokale Dateien, und man macht per JavaScript XMLHTTPRequests
> auf /dev/ttyS0. Ich gebe aber zu, dass das ziemlich esoterisch ist ;)

Öh. Du willst den Webbrowser dazu bringen mittels eines XMLHTTPRequests 
auf eine lokale Device-Datei zugreift? Ohne einen lokalen Server 
aufzumachen?

[x] das will ich sehen.

Grüße,
        Simon
#2983458
Lesenswert?

Simon Budig schrieb:
> Sven B. schrieb:
>> Ok, wenn der Client das machen soll, muss man ein bisschen tricksen,
>> aber ich behaupte, das geht trotzdem... der Client gibt der Anwendung
>> Zugriff auf lokale Dateien, und man macht per JavaScript XMLHTTPRequests
>> auf /dev/ttyS0. Ich gebe aber zu, dass das ziemlich esoterisch ist ;)
>
> Öh. Du willst den Webbrowser dazu bringen mittels eines XMLHTTPRequests
> auf eine lokale Device-Datei zugreift? Ohne einen lokalen Server
> aufzumachen?
>
> [x] das will ich sehen.
>
> Grüße,
>         Simon

Na gut, ich habe übersehen, dass schreiben nicht hinhaut -- lesen geht 
aber (mit entsprechenden "Sicherheits"einstellungen vom Browser) ;)
Persönliche Seite #2983548
Lesenswert?

Sven B. schrieb:
> Na gut, ich habe übersehen, dass schreiben nicht hinhaut -- lesen geht
> aber (mit entsprechenden "Sicherheits"einstellungen vom Browser) ;)

Mit einem TCP zu Serial Deamon würde es aber Problemlos und ohne 
Verrenkungen klappen. Für Windows gibt es ja schon com0tcp der uC muss 
dann nur halt HTTP über die Serielle sprechen was aber auch nicht weiter 
wild ist.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren