Hi.
Ich plane, in Python einzusteigen, aber zunächst muss geklärt werden, ob Python für mich das Richtige ist:
Ich möchte ein "universelles Werkzeug", welches ich von "Shellscripts", über kleine Hilfsprogramme bis hin zu Webentwicklung und einfachen GUI's verwenden kann.
Also "Eins für alles".
Ich möchte eine elektronische Anlage (Die über mehrfaches RS232 angesteuert wird, es sind mehrere Komponenten die jeweils separat angesteuert werden müssen) ans Internet bringen. Dazu sind vielfälige Maßnahmen erforderlich:
Die Daten müssen über RS232 eingelesen und verarbeitet werden, danach müssen sie auf einer Webseite interaktiv/live angezeigt werden.
Ich hätte gerne ein einheitliches System, statt mittels PHP + CGI Perl + Shellscripts zu arbeiten.
Im Zuge der Python Einführung möchte ich übrigens gleichzeitig auf Debian Linux umsteigen.
Gibt es für Python ein gutes, deutschsprachiges Einsteigerbuch / Tutorial, um zunächst die Grundlagen zu erlernen?
Einstieg in Python
@Blacktiger: Übersicht über die Sprache gibt das Tutorial aus der Dokumentation. Wenn es auch Webentwicklung werden soll, dann solltest Du vorerst bei Python 2.x bleiben. Die Finger lassen sollte man vom umfassenden Handbuch von Galileo – das vermittelt kein idiomatisches Python.
Für RS232 könntest Du dann einen Blick auf PySerial werfen. Bei Webentwicklung steht die Wahl eines Rahmenwerks an. Und auch die Entscheidung ob ein kleines wie Bottle oder Flask ausreicht, oder etwas umfangreicheres wie Django benötigt wird. Bei einer "live"-Anzeige solltest Du auch einplanen JavaScript als zusätzliche Programmiersprache für den Client zu benutzen, beziehungsweise benutzen zu müssen.
Für RS232 könntest Du dann einen Blick auf PySerial werfen. Bei Webentwicklung steht die Wahl eines Rahmenwerks an. Und auch die Entscheidung ob ein kleines wie Bottle oder Flask ausreicht, oder etwas umfangreicheres wie Django benötigt wird. Bei einer "live"-Anzeige solltest Du auch einplanen JavaScript als zusätzliche Programmiersprache für den Client zu benutzen, beziehungsweise benutzen zu müssen.
-
- User
- Beiträge: 4
- Registriert: Mittwoch 11. Mai 2011, 13:49
Warum sollte man bei Python 2.x bleiben und nicht auf die neueste Version gehen wenn man Webentwicklung machen möchte?
Es handelt sich bei meinem System um eine SPS, eine Solaranlage und eine Heizungsanlage.
Es gibt zwar vom Hersteller eine Webapplication. Dafür gibt es ein Servermodul was an den DSL Router angeschlossen wird.
Die Daten werden anschließend über die Webseite des Herstellers abgerufen.
In den Nutzungsbedinungen erklärt man sich mit zeitlich unbefristetem Loging und Auswertung sowie kommerzieller Nutzung (Marktforschung, Analyse durch EVU etc) der Daten bereit.
Anhand der Daten lässt sich beispielsweise auf die eigene Lebensweise Rückschlüsse ziehen (z.B. wann ich aufstehe+dusche usw)
Das kommt mir nicht ins Haus.
Die Daten stehen aber auch an RS232 Schnittstellen mit einem dokomentierten Klartext-Protokoll zur Verfügung. Ich habe einen PC basierten Router und wollte die Auswertung der Daten selbst realisieren.
Es handelt sich bei meinem System um eine SPS, eine Solaranlage und eine Heizungsanlage.
Es gibt zwar vom Hersteller eine Webapplication. Dafür gibt es ein Servermodul was an den DSL Router angeschlossen wird.
Die Daten werden anschließend über die Webseite des Herstellers abgerufen.
In den Nutzungsbedinungen erklärt man sich mit zeitlich unbefristetem Loging und Auswertung sowie kommerzieller Nutzung (Marktforschung, Analyse durch EVU etc) der Daten bereit.
Anhand der Daten lässt sich beispielsweise auf die eigene Lebensweise Rückschlüsse ziehen (z.B. wann ich aufstehe+dusche usw)
Das kommt mir nicht ins Haus.
Die Daten stehen aber auch an RS232 Schnittstellen mit einem dokomentierten Klartext-Protokoll zur Verfügung. Ich habe einen PC basierten Router und wollte die Auswertung der Daten selbst realisieren.
In dem Bereich gibt es noch einige Module bzw. Frameworks, welche (noch) nicht unter 3.x laufen.Blacktiger hat geschrieben:Warum sollte man bei Python 2.x bleiben und nicht auf die neueste Version gehen wenn man Webentwicklung machen möchte?
Das Leben ist wie ein Tennisball.
-
- User
- Beiträge: 276
- Registriert: Freitag 8. Juni 2007, 08:50
- Wohnort: 84xxx Bereich
- Kontaktdaten:
kann auch nur pyserial empfehlen.
hab damit schon so einiges über rs232 angesteuert und ausgelesen.
das klappt ziemlich easy und ohne großen stress.
brauchst halt die befehlssätze, wie du was lesen und schreiben kannst.
aber das sollte ja nicht das problem sein.
hab damit schon so einiges über rs232 angesteuert und ausgelesen.
das klappt ziemlich easy und ohne großen stress.
brauchst halt die befehlssätze, wie du was lesen und schreiben kannst.
aber das sollte ja nicht das problem sein.
-
- User
- Beiträge: 4
- Registriert: Mittwoch 11. Mai 2011, 13:49
Danke für den Tip mit dem Pyserial. Nette Sache.
Als Webframework wollte ich den Django nehmen weil der am Bekanntesten ist und ich damit alle Möglichkeiten habe für eventuell später folgende Projekte. Läuft der mit 3.x oder ist das noch so ein Framework, was die alte Version braucht?
Als Webframework wollte ich den Django nehmen weil der am Bekanntesten ist und ich damit alle Möglichkeiten habe für eventuell später folgende Projekte. Läuft der mit 3.x oder ist das noch so ein Framework, was die alte Version braucht?
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Afaik noch mit 2.x. Ich kenne auch keines, das bereits stabil mit 3.x läuft, da die neue WSGI Spezifiaktion ja erst seit zwei, drei Monaten fertig ist.Blacktiger hat geschrieben:Läuft der mit 3.x oder ist das noch so ein Framework, was die alte Version braucht?
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
assert encoding_kapiert
-
- User
- Beiträge: 4
- Registriert: Mittwoch 11. Mai 2011, 13:49
mhh ok dann mache ich die 2er Version drauf.
Dauert eh bis ich die Grundlagen habe, bis dahin läuft es dann bestimmt mit 3.x
Kann der Django eigentlich auch Diagramme erstellen oder gibts dafür dann entsprechende "Addons"?
Was mich auch mal interessieren würde: Gibts irgendwo eine vollständige Liste aller Frameworks mit kurzer Beschreibung und Vor+Nachteilen?
Wie funktioniert das eigentlich mit dem Framework?
Mache ich mir da ein Template für das Design, und rufe dann entsprechende Funktionen auf, die ich mit Daten füttere? Das Django macht dann die Ausgabe? Also Beispielsweise Funktion "Textausgabe" Funktion "Zeichne Diagramm" Funktion "Lese Datensatz" oder sowas?
Wäre es dann möglich, ein Python Script zu machen, welches über einen Cronjob die Daten via pyserial abholt und in eine mysql DB einträgt, das Famework erzeugt dann aus diesen Daten ein Diagramm?
Eine Funktion anstoßen, wie z.B. "Hole die neuesten Daten jetzt" anstoßen ginge auch oder?
Dauert eh bis ich die Grundlagen habe, bis dahin läuft es dann bestimmt mit 3.x
Kann der Django eigentlich auch Diagramme erstellen oder gibts dafür dann entsprechende "Addons"?
Was mich auch mal interessieren würde: Gibts irgendwo eine vollständige Liste aller Frameworks mit kurzer Beschreibung und Vor+Nachteilen?
Wie funktioniert das eigentlich mit dem Framework?
Mache ich mir da ein Template für das Design, und rufe dann entsprechende Funktionen auf, die ich mit Daten füttere? Das Django macht dann die Ausgabe? Also Beispielsweise Funktion "Textausgabe" Funktion "Zeichne Diagramm" Funktion "Lese Datensatz" oder sowas?
Wäre es dann möglich, ein Python Script zu machen, welches über einen Cronjob die Daten via pyserial abholt und in eine mysql DB einträgt, das Famework erzeugt dann aus diesen Daten ein Diagramm?
Eine Funktion anstoßen, wie z.B. "Hole die neuesten Daten jetzt" anstoßen ginge auch oder?
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Das ist die richtige EinstellungBlacktiger hat geschrieben:mhh ok dann mache ich die 2er Version drauf.
Dauert eh bis ich die Grundlagen habe, bis dahin läuft es dann bestimmt mit 3.x
Dafür gibt es Libs; ob es da spezielle Plugins für Django gibt, weiß ich nicht. PyPlot, SciPy oder auch ReportLab fielen mir da ein.Blacktiger hat geschrieben: Kann der Django eigentlich auch Diagramme erstellen oder gibts dafür dann entsprechende "Addons"?
Schau mal ins wiki: wiki.python-forum.de Da gibts eine Seite über Frameworks.Blacktiger hat geschrieben: Was mich auch mal interessieren würde: Gibts irgendwo eine vollständige Liste aller Frameworks mit kurzer Beschreibung und Vor+Nachteilen?
So in der Art. Schau Dir doch mal das Quickstart-Tutorial von Flask an. Auch wenn Du den Code nicht verstehst, siehst Du ein wenig, wie gängige Prinzipien funktionieren. Du kannst auch bei Django etwas ähnliches finden.Blacktiger hat geschrieben: Wie funktioniert das eigentlich mit dem Framework?
Mache ich mir da ein Template für das Design, und rufe dann entsprechende Funktionen auf, die ich mit Daten füttere? Das Django macht dann die Ausgabe? Also Beispielsweise Funktion "Textausgabe" Funktion "Zeichne Diagramm" Funktion "Lese Datensatz" oder sowas?
Prinzipiell schon. Man kann natürlich zwei Scripte schreiben. Eines holt Daten und trägt diese ein, das andere ist das eigentliche Web-Script und stellt diese per Framework dar. Eine Schwierigkeit wäre dabei, wie das zweite Script auf Änderungen reagiert... aber das sind Fragen, die Du Dir im Moment noch nicht zu stellen brauchst. Bis Du dahin kommst, wird viel viel Zeit vergehenBlacktiger hat geschrieben: Wäre es dann möglich, ein Python Script zu machen, welches über einen Cronjob die Daten via pyserial abholt und in eine mysql DB einträgt, das Famework erzeugt dann aus diesen Daten ein Diagramm?
[/quote]Blacktiger hat geschrieben: Eine Funktion anstoßen, wie z.B. "Hole die neuesten Daten jetzt" anstoßen ginge auch oder?
Die Frage dabei ist, wer anstößt Wenn es der User ist (via http-Request) ist das alles kein Problem. Schwieriger wirds, wenn das Webscript "erkennen" soll, dass es neue Daten gibt. (Pull vs. Poll).
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
assert encoding_kapiert
- noisefloor
- User
- Beiträge: 3856
- Registriert: Mittwoch 17. Oktober 2007, 21:40
- Wohnort: WW
- Kontaktdaten:
Hallo,
Gruß, noisefloor
Ich selber habe nach ein wenig testen und Doku lesen die Diagramme aus ReportLab genommen. Wobei ReportLab als PDF-Generator so wie so im Einsatz war. Alternativ ginge auch Google Charts - die API ist IMHO ziemlich simpel und die Lernkurver flach.Kann der Django eigentlich auch Diagramme erstellen oder gibts dafür dann entsprechende "Addons"?
Gruß, noisefloor
- mkesper
- User
- Beiträge: 919
- Registriert: Montag 20. November 2006, 15:48
- Wohnort: formerly known as mkallas
- Kontaktdaten:
Ähm, der OP will, dass seine Daten privat bleiben. Da ist es keine gute Idee, die an Google zu liefern.noisefloor hat geschrieben:Alternativ ginge auch Google Charts - die API ist IMHO ziemlich simpel und die Lernkurver flach.
-
- User
- Beiträge: 276
- Registriert: Freitag 8. Juni 2007, 08:50
- Wohnort: 84xxx Bereich
- Kontaktdaten:
oder wenn du viel machen willst mit plotten und berechnen kann ich dir auch noch R in verbindung mit rpy empfehlen
- noisefloor
- User
- Beiträge: 3856
- Registriert: Mittwoch 17. Oktober 2007, 21:40
- Wohnort: WW
- Kontaktdaten:
Hallo,
Gruß, noisefloor
Na ja, das wäre ein hervorrangender Startpunkt für eine Metadiskussion ohne sinnvolles Ende. Lassen wir lieber.mkesper hat geschrieben:Ähm, der OP will, dass seine Daten privat bleiben. Da ist es keine gute Idee, die an Google zu liefern.
Gruß, noisefloor