Ganz allgemeine Frage(n)

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
smilingbandit
User
Beiträge: 7
Registriert: Dienstag 23. Oktober 2007, 08:11
Wohnort: Erlangen

Morgen zusammen,

ich dachte mir, ich poste als erstes mal ein paar allgemeine Fragen. Ich mache im Moment mein Praxissemester (ja, Informatikstudi ^^), und muss da folgendes Problem lösen:

Ein Meßgerät soll über die serielle Schnittstelle (oder über USB mit Serial-USB Adapter) angesteuert werden.

Am Ende soll die komplette Gerätebedienung entfallen und nur noch das GUI dazu benutzt werden, um die Befehle an das Gerät per RS232 zu schicken sowie die Ergebnisse auszulesen und abzuspeichern (das Gerät an sich wenn man es von Hand bedient "führt" einen sozusagen durch die ganzen Prüfabläufe). Das ganze soll als Applikation auf Laptops mit WinXP laufen. Ausserdem soll die Möglichkeit bestehen die gespeicherten Daten auf Wunsch irgendwann in eine Datenbank zu schreiben

Im Moment versuch ich noch den ganzen Ablauf zu verstehen (und diverse Befehle die das Gerät versteht). Allerdings habe ich die Wahl

- C# mit .NET
- JAVA
- Python

zu nehmen. Java maf ich ganz und gar nicht, vor allem Eclipse ist schrottig, zudem gibts keine wirklich gut unterstützte Bibliothek zum ansprechen der Seriellen Schnittstelle. C# find ich ganz gut, VS ist auch eine gute Entwicklungsumgebung. Von Python wurde mir von nem Freund erzählt, der die Sprache für recht gut befand. Ausserdem ist Python nicht so aufgebläht.

Mit "Dive into Python" bin ich inzwischen halb durch, pySerial und py2exe kenn ich zumindest und mit dem TK hab ich mich mal rudimentär auseinander gesetzt. Alles in allem siehts ganz gut aus. Würde aber gerne mal eure Meinung oder Ratschläge hören, ob das ganze gut realisierbar ist . Einarbeiten müsst ich mich eh in alle Sprachen tiefer für das Thema (naja Studium und Theorie und so ^^)

ciao

P.S.: Anwender haben keinen Plan von Software :)
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

smilingbandit hat geschrieben:Ein Meßgerät soll über die serielle Schnittstelle (oder über USB mit Serial-USB Adapter) angesteuert werden. Am Ende soll die komplette Gerätebedienung entfallen und nur noch das GUI dazu benutzt werden, um die Befehle an das Gerät per RS232 zu schicken sowie die Ergebnisse auszulesen und abzuspeichern
Hallo smilingbandit!

Willkommen im Python-Forum!

pySerial ist die richtige Wahl. Damit ist es ein Kinderspiel, Daten über die RS232 zu schicken oder Daten zu empfangen.

Ob Tkinter eine gute Wahl ist, darüber kann man streiten. Ich empfehle dir für zukunftssichere GUIs wxPython zu verwenden.
- http://www.python-forum.de/topic-6298.html
- http://www.python-forum.de/topic-7916.html

Python hat eine SQLite-Schittstelle eingebaut, mit der du deine Daten in eine unkomplizierte SQLite-Datenbank schreiben kannst. Beispiele dafür findest du hier im Board.

mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
smilingbandit
User
Beiträge: 7
Registriert: Dienstag 23. Oktober 2007, 08:11
Wohnort: Erlangen

Danke für die freundliche Begrüssung :) Dann werd ich mir mal wxPython ansehen. Die Datenbank ist allerdings eine (bereits bestehende) MySQL Datenbank (wo die Daten in der DB hin müssen wird dann über einen Barcodescanner erkannt). Aber gibt ja für Python auch da ein Modul.

Ich kann deinem Posting unterschwellig entnehmen dass es durchaus möglich und sinnvoll ist sowas in Python zu machen?

Ich werd erstmal klein anfangen (Nur Meßdaten auslesen, in DB schreiben) statt mich gleich an die komplette remote control zu setzen.
The Spirit
User
Beiträge: 276
Registriert: Freitag 8. Juni 2007, 08:50
Wohnort: 84xxx Bereich
Kontaktdaten:

ich steuere mit python zurzeit eine komplette messapperatur mit ca. 6 geräten und das ganze mittels pyserial.
kann ich nur empfehlen.
schöner übersichtlicher code und die gui ist auch leicht gemacht.
hab diese jedoch mit tk gemacht, da bei uns im hause die philosophie darin besteht, das zu nehmen was mit pyhton dabei ist, und das ist halt mal erst tk.
ist aber auch nicht so der akt.

wünsch dir auf alle fälle viel glück und spass mit dem proggen
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

smilingbandit hat geschrieben:Ich kann deinem Posting unterschwellig entnehmen dass es durchaus möglich und sinnvoll ist sowas in Python zu machen?
Hallo smilingbandit!

Was heißt hier "unterschwellig"? :D Ganz direkt: Das ist eine feine Aufgabe, deren Lösung mit Python so richtig Spaß macht.

mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
smilingbandit
User
Beiträge: 7
Registriert: Dienstag 23. Oktober 2007, 08:11
Wohnort: Erlangen

gerold hat geschrieben:
smilingbandit hat geschrieben:Ich kann deinem Posting unterschwellig entnehmen dass es durchaus möglich und sinnvoll ist sowas in Python zu machen?
Hallo smilingbandit!

Was heißt hier "unterschwellig"? :D Ganz direkt: Das ist eine feine Aufgabe, deren Lösung mit Python so richtig Spaß macht.

mfg
Gerold
:-)
ah sehr gut, dann muss ich nicht nen halben Tag auf den lahmen Firmenkrücken VS2005 installieren ;)

Das Deployment der Applikation ist auch kein Problem, nehme ich mal an?
Benutzeravatar
keppla
User
Beiträge: 483
Registriert: Montag 31. Oktober 2005, 00:12

Das Deployment der Applikation ist auch kein Problem, nehme ich mal an?
Eher kein Problem, siehe Setuptools
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

smilingbandit hat geschrieben:Das Deployment der Applikation ist auch kein Problem, nehme ich mal an?
Hallo smilingbandit!

Das schönste ist, wenn vor Ort jeder Python installiert bekommt. Dann kann man vor Ort Anpassungen vornehmen. Ist das nicht möglich, dann kannst du dir z.B. ein kleines Setup dafür basteln:
http://www.python-forum.de/topic-5726.html

Hinweis: cx_freeze funktioniert bei mir nicht mit Tkinter-Programmen. py2exe hat, glaube ich, mit Tkinter kein Problem. Ist aber komplizierter als cx_freeze zu handhaben.

mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
smilingbandit
User
Beiträge: 7
Registriert: Dienstag 23. Oktober 2007, 08:11
Wohnort: Erlangen

Hallo nochmal :)

Vielen Dank schonmal für die tolle und schnelle Hilfe. Dann kann ich heute mein Design in der Theorie fertig machen und morgen endlich mal was sinnvolles tun :)

edit: Werde Python 2.5 verwenden wegen pySerial und win32all .. und weil 3.0 noch in der Alpha ist ^^
Andy
User
Beiträge: 196
Registriert: Sonntag 1. Januar 2006, 20:12
Wohnort: aus dem hohen Norden....

gerold hat geschrieben:py2exe hat, glaube ich, mit Tkinter kein Problem. Ist aber komplizierter als cx_freeze zu handhaben.
Ich rein persönlich hatte nur in Bezug auf die Standalone-EXE-Datei Probleme mit Tkinter. Wollte einfach keine .exe werden!?! Da habe ich dann den [wiki=PyInstaller-Tutorial_für_Windows]PyInstaller für verwendet und diese Anleitung ins Wiki gestellt.[/wiki]
Nur falls jemand ähnliches widerfährt. :K
Gruß
Andy
Benutzeravatar
veers
User
Beiträge: 1219
Registriert: Mittwoch 28. Februar 2007, 20:01
Wohnort: Zürich (CH)
Kontaktdaten:

smilingbandit hat geschrieben:Java maf ich ganz und gar nicht, vor allem Eclipse ist schrottig, zudem gibts keine wirklich gut unterstützte Bibliothek zum ansprechen der Seriellen Schnittstelle. C# find ich ganz gut, VS ist auch eine gute Entwicklungsumgebung.
Darf ich fragen wie du zu dem Schluss gekommen bist? Hast du jemals mit VS an einem grossen Projekt gearbeitet?
[url=http://29a.ch/]My Website - 29a.ch[/url]
"If privacy is outlawed, only outlaws will have privacy." - Phil Zimmermann
Benutzeravatar
birkenfeld
Python-Forum Veteran
Beiträge: 1603
Registriert: Montag 20. März 2006, 15:29
Wohnort: Die aufstrebende Universitätsstadt bei München

smilingbandit hat geschrieben: edit: Werde Python 2.5 verwenden wegen pySerial und win32all .. und weil 3.0 noch in der Alpha ist ^^
Das ist eine sehr gute Idee. Alpha heißt hier wirklich: Finger weg!
Dann lieber noch Vim 7 als Windows 7.

http://pythonic.pocoo.org/
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

birkenfeld hat geschrieben:Das ist eine sehr gute Idee. Alpha heißt hier wirklich: Finger weg!
Und das 3.0 heißt: dein Code wird vermutlich nicht "einfach so" auf 3.0 laufen, du musst ihn also portieren. Aber bis 3.0 sich durchsetzen wird, geht noch einige Zeit ins Land, daher kannst du 2.x ruhig noch weiternutzen.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
smilingbandit
User
Beiträge: 7
Registriert: Dienstag 23. Oktober 2007, 08:11
Wohnort: Erlangen

So....mittlerweilen bin ich mal gespannt...jetzt wurd ich wieder zurückgepfiffen...langsam macht mich das total irre...

-Erst krieg ich ein Projekt (Client-Server, Datenbanken, Weboberfläche) in C#

-Dann ein Schwenk (weil Vorprojekt nicht fertig) auf Schnittstellenansteuerung .. in JAVA

-Dann heissts ich soll mir die Programmiersprache aussuchen die mir günstig erscheint (Python war da meine Wahl)

-Und nun wieder zurück und ich solls vermutlich doch in C# machen...

Ihr könnt euhc nicht vorstellen wie nervtötend und vor allem frustrierend es ist, sich innerhalb von 4 Wochen in 2 Projekte einzuarbeiten mit komplett verschiedenen Thematiken, und dann auch noch lauter unterschiedlichen Programmiersprachen...ARGH. *sigh* naja mal sehen, vielleicht heissts ja morgen ich solls in Assembler machen -.-" . Wenn die Leute für die man arbeitet nur EINMAL auf einen hören würden, wofür studier ich den dreck denn :P
CM
User
Beiträge: 2464
Registriert: Sonntag 29. August 2004, 19:47
Kontaktdaten:

Als Befehlsempfänger kannst Du schon dezent darauf hinweisen, daß das Projektmanagement erst einmal stehen soll. Erst wenn Du weißt, wie das Konzept aussieht, kannst Du auch produktiv arbeiten.

Toi, toi, toi,
Christian
smilingbandit
User
Beiträge: 7
Registriert: Dienstag 23. Oktober 2007, 08:11
Wohnort: Erlangen

Also ohne dass ich jetzt hier spammen möchte, aber ist grad irgendwie schon interessant ;)

Wie das Konzept aussieht weiss ich ja (bei beiden Projekten). Ich hab sie gemacht, und sie wurden für gut befunden *g* (bin ja erst im Praxissemester und mache nächstes Semester meine Diplomarbeit).

Zugegebener Maßen ist meine praktische Programmiererfahrung durch das Studium sehr...leider sehr stark zurück gegangen. Aber ich versteh immer noch gut Code (ausser den von PROLOG ^^) und lern schnell die Sprachen. Demzufolge hab ich mich halt in die Sprachen eingearbeitet. Nur wenns dauernd wechselt ists halt ... schlecht. Zudem sollte ich ja herausfinden welche Sprache wie für was geeignet ist (im Kontext der Projekte). Man kommt sich vor, als würd man mit nem Politiker reden ^^ Aber ist ja nicht seine Schuld, der hat im Moment so viel um die Ohren. Ist ja ein netter Kerl eigentlich :)

Ich hab nur keinen Bock mehr dauernd Konzepte zu tippen, ich will was ARBEITEN und nicht 2 Wochen langeweilen weil ich das Konzept schon nach 2 Tagen habe (ist ja auch net viel).
Benutzeravatar
HWK
User
Beiträge: 1295
Registriert: Mittwoch 7. Juni 2006, 20:44

gerold hat geschrieben:Hinweis: cx_freeze funktioniert bei mir nicht mit Tkinter-Programmen.
Geht, ist aber etwas komplizierter. Man muss bestimmte Tkinter-Dateien in das Setup miteinbinden (python24\DLLs\tk84.dll und tcl84.dll sowie python24\tcl\tk8.4\*.* und python24\tcl\tcl8.4\*.*) und die tcl/tk-Umgebung im Python-Script anpassen, z.B. so

Code: Alles auswählen

if os.path.isdir('libtcltk84'):
    os.environ['TCL_LIBRARY'] = 'libtcltk84\\tcl8.4'
    os.environ['TK_LIBRARY'] =  'libtcltk84\\tk8.4'
wenn die Tkinter-Dateien in die Ordner 'libtcltk84\\tcl8.4' bzw. 'libtcltk84\\tk8.4' kopiert wurden. Die Tkinter-Demos sollte man natürlich nicht einbinden, um Platz zu sparen.
MfG
HWK
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

HWK hat geschrieben:
gerold hat geschrieben:Hinweis: cx_freeze funktioniert bei mir nicht mit Tkinter-Programmen.
Geht, ist aber etwas komplizierter.
Hallo HWK!

Das ist ja super! :D

Wäre super, wenn du das noch einmal (kurz dokumentiert) in das Forum "Links und Tutorials" schreiben könntest. Dort findet man diese Information (vielleicht) besser. Erst recht, wenn der Topic eine gute Überschrift bekommt.

Ich verlinke dann von http://www.python-forum.de/topic-5726.html aus darauf.

lg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Benutzeravatar
HWK
User
Beiträge: 1295
Registriert: Mittwoch 7. Juni 2006, 20:44

@Gerold: Mache ich!
Edit: Oder doch nicht! Verlinke einfach hierhin: http://sebsauvage.net/python/snyppets/#tkinter_cxfreeze. Ich glaube, das erklärt alles.
MfG
HWK
mulder
User
Beiträge: 49
Registriert: Montag 15. Oktober 2007, 10:36
Wohnort: nürnberg

mal ne allgemeine frage:

gibt es eine moeglichkeit die geladenen module zu listen?

ich bewege mich naemlich in einer jython umgebung und weiss nicht was ich alles importieren muss oder was schon da ist!

mulder
" schlimmer als stress ist, keinen zu haben"
Antworten