Beiträge von noisefloor

    Hallo,

    Zitat

    Von cgi rate ich ab da das extrem unsicher ist.


    +1

    Zitat

    Da du aber auf dem Server ein Konsolen Script ausführen willst musst du zwangsläufig PHP verwenden, da PHP nur serverseitig ausgeführt wird wovon der Client nichts mitkriegt/sieht.


    Na ja, das geht auch mit vielen anderen Sprachen. Auf dem Server muss halt jemand lauschen, der auf die "Anfrage" der Webseite reagiert und dann z.B. das Shellskript ausführt. Der "jemand" kann auch in Python, Ruby, JavaScript, ... programmiert sein :)

    Gruß, noisefloor

    Hallo,

    das kann so nicht funktionieren.

    Grund: dein Formular sendet einen POST-Request an den Server - und lauscht auf dem Server keiner, der auf den POST-Request reagiert.

    CGI ist auch sowas von angestaubt, altbacken und - zumindest im Falle von Python - überholt, dass ich das an deiner Stelle direkt vergessen würde. Standard für Python ist WSGI, darauf solltest du auch deine Anwendung setzen. Dafür gibt es Frameworks wie Bottle oder Flask, mit der du auch kleine Anwendungen mit wenigen Zeilen Code umsetzen kann. Hier ist IMHO Bottle "einfacher", geht aber ohne Probleme auch mit Flask:

    Grundsätzliches vorgehen:
    - Bottle installieren
    - Python-Skript schreiben, in dem zwei Routen definiert sind:
    * eine, die das Formular ausliefert
    * eine, die POST-Requests lauscht. Kommt ein POST-Request, führst du den Befehl für das neue Bild aus und lieferst es aus.

    Das sollte so mit ~20 Zeilen Code plus ein paar Zeilen für die Templates umsetzbar sein.

    Gruß, noisefloor

    Hallo,

    was Andreas damit sagen will: Python ist eine Programmiersprache mit starker Typisierung und darum kann man Strings halt nicht direkt mit Zahlen verketten. Es gibt auch Sprachen, die sind schwach typisiert (wie z.B. JavaScript) und da funktioniert das in der Tat.

    Was besser ist, ist ein vortreffliches Thema für sinnlose Metadiskussionen ohne Ergebnis. Aber wir haben ja Winter und die Abende sind lang... ;)

    Gruß, noisefloor

    Hallo,

    ohne eine paar Python-Grundlagen zu kennen wirst du es so wie so schwer haben - weil mehr als Codebeispiele abschreiben, die man nicht wirklich versteht, ist dann nicht drin.
    Außerdem ist es _sehr_ sinnvoll, ein paar grundlegende Python-Sachen wie Funktionsaufrufe, Instanzieren von Klassen und Grundverständnis von Klassen Attributen und Methoden zu haben.

    Heißt: Python lernen. Empfohlene Ressourcen: das offizielle Python Tutorial oder "Learn Python the hard way". Letzteres ist - entgegen des Namens - tatsächlich anfängertauglich.
    Beide sind in englisch, aber das brauchst du sowie so spätestens dann, wenn du externe Module wie pyserial benutzt, da die in 99,9% der Fälle in englisch dokumentiert sind.

    Gruß, noisefloor

    Hallo,

    eigentlich ist die Fehlermeldung ja eindeutig: der Befehlsaufruf erwarten eine Objekt vom Typ `String, die lieferst aber `Bytes`. In der geposteten Fehlermeldung fehlt die Angabe der Zeilennummer, aber im kompletten Stacktrace, den du bei dir auf dem Rechner erhältst, sollte die drin stehen. Da musst du dann mal ansetzen.

    Gruß, noisefloor

    Hallo,

    Zitat

    "sudo idle3 -r python_program.py" .... ?


    Wie oft soll ich denn noch sagen: "IDLE brauchst du nicht"?

    Hast du eigentlich schon jemals ein Python-Programm ohne IDLE ausgeführt?

    Zitat

    bitte um einen Hinweis. als schlichter Mensch den Unix nich mit der Muttermilch bekam stehe ich immer vor der Frage ....und läuft das am Raspi?


    Suchbegriff für Google: linux screen

    screen läuft auf so gut wie jedem Linux.

    Zitat

    Sorry ... der ganze Thread ist doch Quatsch von mir - oder? Ich schreibe mit python_program.py in eine Datei und die schaue ich mir ab und zu mit VNC an... fertig?


    WAS du machst weiß nur du - wir nicht. Oben behauptest du, dass den Prog eine Ausgabe auf den Bildschirm, macht, auch auf Nachfrage. Das mit der Datei ist neu.
    Aber auch um den Inhalt einer Datei anzuschauen, brauchst nicht unbedingt VNC. Wenn's nur irgendeine Form von Text ist, geht das auch via SSH.

    Gruß, noisefloor

    Hallo,

    man wächst halt mit seinen Aufgaben ;)

    IMHO wirst du da wahrscheinlich nichts fertiges im Netz zu finden, weil die Problemstellung ja nicht so "gängig" ist.

    Also, wie gesagt:

    * Progammiersprache wählen
    * Gesamtproblem in Teilprobleme zerlegen
    * Schritt-für-Schritt implementieren

    Bei Problemen etc. halt immer in Support-Foren den Code posten und das Problem detailliert beschreiben.

    Gruß, noisefloor

    Hallo,

    Python 2.7 ist keine alte Python-Version, sondern die aktuelle aus dem Python 2 Zweig. Außerdem willst du das ganz sicher nicht deinstallieren, weil dann ziemlich sicher Raspbian extrem unrund läuft.

    Was genau bei dir nicht passt kann zumindest ich anhand der Fehlermeldungen nicht sagen, aber eins ist klar: irgendwas hast du bei irgendeiner Paketinstallation "zerfummelt".

    Was zu tun ist, steht ja schon da... Bevor du den Befehl ausführst, solltest du aber vielleicht erstmal simulieren, was gemacht würde:

    apt-get -sf install

    Mit der Option `s`wird nur simuliert und nicht tatsächlich ausgeführt.

    Abgesehen davon ist es empfehlenswert, Python-Module über pip zu installieren und nicht über die Paketquellen. Denn dann bekommst du a) eine aktuelle Version und b) Updates.

    Gruß, noisefloor

    Hallo,

    na, dann musst du es nur noch programmieren ;)

    Da das ja schon mehr als ein kleiner Projekt ist solltest du die vorher mal Gedanken machen, in welche Teile du das Projekt aufteilst, die du dann Schritt für Schritt implementierst.

    Die Ausgangsfrage ist ja beantwortet: die automatische An- und Ausschalten geht via Cronjob oder systemd Timer Unit.

    Gruß, noisefloor

    Hallo,

    Zitat

    das waere dann wenigstens ein richtiges Netzwerk - aber wenn man das macht, kann man auch gleich Ethernet benutzen.


    Ok, thx. Die Frage war auch rein interessenhalber - es gibt ja in der Tat auch keine Grund, eine zwei PCs via USB kommunizieren zu lassen, da es diverse andere, einfacherer Mögichkeiten gibt.

    Denn Ansatz mit dem Arduino finde ich interessant, muss ich bei Gelegenheit mal ausprobieren.

    Gruß, noisefloor

    Hallo,

    Zitat

    das heisst wenn ich JRSSIE ohne GUI starte spare ich mich Ressourcen! ??


    Ja, sicher. Es läuft kein X-Server und die ganze GUI (Fenstermanager etc), d.h. es laufen weniger Prozesse, die Linux und die CPU verwalten und abarbeiten müssen.

    Zitat

    Zahlt sich das aus oder ist es nur gering ?


    Lässt sich pauschal nicht beantworten. Wenn du z.B. einen Prozess hast, der viel Rechenzeit braucht, sollte man das merken. Musst du halt ausprobieren.

    Grundsätzlich gilt auch immer: Software, die du nicht brauchst, muss auch nicht auf der Festplatte (bzw. beim Pi auf der SD Karte) sein -> also deinstallieren. Und wenn der Pi als "nur" Server dient braucht man normalerweise keine GUI.

    Gruß, noisefloor