Posts by dieselente

    Code
    Dir ist klar, dass das 2 Paar Schuhe, also 2 verschiedene Module sind? Wenn du versuchst, du Parameter von PyMySQL bei mysql.connector anzuwenden, ist die Chance auf einen Fehler hoch, weil mysql.connector ziemlich sicher andere Parameter kennt.

    Ja. Darum habe ich gestern auch den ganzen Tag damit verbracht es umzuschreiben.


    Code
    Es steht wörtlich in der von dir verlinkten Doku, dass es Sekunden sind.

    Ist richtig, auf anderen Seiten stand aber wieder Millisekunden.


    Code
    Programmieren ist halt nicht raten.

    Zum Lernen muss ich aber probieren ;) Einfach machen und schauen was passiert, in der Hoffnung, dass etwas passiert.


    Code
    Bei PyMySQL musst du den `connect_timeout`setzen, nicht die `read_timeout`oder `write_timeout`. Du wolltest ja auch drauf reagieren, wenn die _Verbindung_ nicht zustande kommt - und nicht, wenn du verbunden ist, aber Daten nicht gelegen oder geschrieben werden.

    Doch, beides :) Du hast ja am Anfang schon festgestellt, dass die Verbindung in meinem Fall nicht geschlossen wird. Sie wird bei Programmstart einmal aufgebaut und bleibt bestehen. Wenn dann im laufenden Betrieb die Verbindung wegbricht bringt mir doch der Connection_timeout nicht viel, oder sehe ich das falsch? Der kommt doch nur am Anfang einmal zum Einsatz.

    in vielen Foren habe ich was über Connection_timeout, read_timeout und write_timeout gelesen. nur leider nirgends wie ich das unterbringe.

    Ich habe es aktuell bei der Connection zu stehen. Am Verständlichsten fand ich diese Seite:

    https://pymysql.readthedocs.io…/modules/connections.html


    Code
    connection = pymysql.connect(
        host='****',
        user='****',
        password='****',
        db='****',
        read_timeout=100,
        write_timeout=100
        )

    Ich bekomme so entweder Syntaxfehler oder es hat einfach keinen Effekt. Ich habe die unterschiedlichsten Schreibweisen probiert.

    Code
    read_timeout=100,
    read_timeout='100',
    read_timeout="100",
    read_timeout=`100`,

    Da ich auch nicht herausbekommen habe, ob der Wert in Sekunden oder Millisekunden definiert ist habe ich von 1 - 1000 alles ausprobiert.

    Die Bibliothek habe ich auch gewechselt von mysql.connector zu PyMySQL. Und auch mit Python3 habe ich es versucht. Ohne Erfolg.

    Quote

    Eingerückt wird mit 4 Leerzeichen. Immer. Außerdem hast du Einrückungen, wo keine nötig sind.

    Danke. In meinen alten Handbüchern habe ich das bisher mit Tab gelernt.


    Quote

    Sinnvolle Variablennamen verwenden, auch in der DB. `wert1`, `wert2` etc. sind völlige aussagelos.

    Ich habe es für das Forum "vereinfacht". Die Tabellen heißen nicht 1,2,3,4. Die Variablen und Spalten auch nicht Wer 1,2,3,4.


    Quote

    wert1, wert2, wert3 kannst du in einem auslesen, drei Queries sind zwei zu viel.

    Das habe ich mit meinem Anfängerwissen versucht, aber nicht hinbekommen. Daher versuche ich es erstmal auf diese Weise.


    Quote

    Warum definierst du wert 1, 2 und 3 am Ende der Schleife? Diese Werte werden nie benutzt, sondern vom nächsten DB-Query wieder überschrieben.

    damit die LED aus geht wen die Verbindung wegbricht. Dann ergibt mein Vorhaben wieder Sinn, dass das Skript dann einfach weiter läuft.


    Quote

    Kommentare sollen _zusätzlich_ Infos zum Quellcode liefern, nichtdas beschreiben, was so wie so offentsichtlich ist. Letzteres ist bei dir der Fall.

    Die Kommentare sollen auch mir selbst helfen. Für einen Programmierer ist der Quellcode vielleicht offensichtlich und mein Kommentar überflüssig. Für mich jedoch nicht.

    Quote

    Die Datenbankverbindung wird nie geschlossen. Kann ein Problem werden, muss aber nicht.

    Vielen Dank für den Hinweis. Darum kann ich mich danach dann noch kümmern :)



    Ich bin kein Programmierer ;). Ich bastle gerne und probiere rum. Für einen gelernten Programmiere ist das wahrscheinlich Säure in den Augen. Es gibt garantiert bessere Möglichkeiten. Die sich mir nur meist zu hoch :(



    Quote

    timeout auf 1 Sekunde setzen

    Genau. Aber wie? Den Satz habe ich in vielen Foren gelesen. Aber ich weiß nicht wie das im Code umgesetzt wird.;(

    Guten Morgen,

    Seit einigen Tagen bastle ich an einen Skript, welches mir aus einer MySQL Datenbank werte ausliest, entsprechend einen GPIO-Pin schaltet und Zustandsänderungen in die Datenbank schreibt.

    kurz zum Ablauf:

    In der Tabelle 1 sind drei werte. wenn diese drei werte gleich sind soll eine LED leichten. Immer wenn die LED an oder aus geht, soll das in Tabelle2 geschrieben werden.

    Zudem ist ein Schalter am Raspberry. Wenn dieser an ist, soll nichts passieren und die LED dauerhaft aus sein. Bei aktivem Schalter soll alle 10 Sekunden ein Eintrag in Tabelle2 geschrieben werden


    Nach ewigem Gefummel funktioniert das jetzt ganz zuverlässig.

    Jetzt suche ich nur noch nach einer Möglichkeit, dass bei einem Verbindungsabbruch nur eine Sekunde gewartet wird und das Skript dann einfach weiter abgearbeitet wird.

    Leider konnte ich bisher noch keine Lösung für mich finden. Oder ich bin zu dämlich das Gefundene richtig in meinen Code zu übertragen :conf: Vielleicht könnt ihr mit ja helfen :)


    :danke_ATDE:

    @hailogugo:

    Erstmal vielen Dank. Das ist eine super Anleitung.


    Ich habe aber eine Frage zu den IPTABLES. Du hast sehr schön beschrieben was man machen muss um das Internet von eth0 an wlan0 oder von wlan1 an wlan0 zu bekommen. ich möchte einen schritt weiter gehe. Mein Internet kommt von wlan1 und soll an wlan0 und eth0. kann ich dann einfach beide abschnitte aus deiner Anleitung untereinander in die IPTABLES schreiben?

    Und kann ich in die rpi-access-Point.conf unter "Interface=wlan0" einfach "Interface=eth0" einfügen damit die per LAN verbundenen Clients eine IP vom DHCP bekommen?

    In meinem Fall sollen sich die Clients per WLAN und LAN verbinden können, eine IP zugewiesen bekommen und untereinander kommunizieren können. Und für den fall, dass man ein bekanntes W-LAN vorbei spaziert (z.B.: Android-AP) sich mit diesem Verbinden und das Internet an die, wie gesagt per LAN und WLAN, verbunden Clients durchreichen.

    Einen wunderschönen guten Morgen euch allen,


    ich habe eine Idee, bei deren Umsetzung ich ganz viel Hilfe von euch benötige. Über Google habe ich schon nach ähnlichen Projekten gesucht und auch gefunden. Nur das nachmachen ist bisher immer gescheitert.


    Ich habe:

    - Einen Raspberry Pi 2 mit LAN onBoard

    - LAN Switch

    - 2 W-LAN Sticks

    - Als Betriebssystem das aktuelle Raspian


    Dieser Soll:

    - Ein W-LAN Zugriffspunk bereitstellen. Sichtbare SSID, WPA2 Verschlüsselung, keine Authentifizierung, DHCP und DNS zur Verfügung stellen

    - Ein LAN zur Verfügung stellen mit DHCP und DNS

    - W-LAN und LAN miteinander verbinden, sodass die Geräte untereinander kommunizieren können

    - W-LAN-Client. Mit dem zweitem W-LAN Stick sich automatisch mit bekannten W-LAN Netzen verbinden, wenn diese in Reichweite sind

    - Den Internetzugriff, der über das "fremde" W-LAN kommt, für die verbundenen Geräte zugänglich machen


    Optional:

    - Ein einfacher File-Server

    - DLNA Server


    Ich bin, was IT und Netzwerk angeht, nicht ganz blöd. Das Problem ist bei mir eher das Linux. Meine Kenntnisse gehen zwar leicht über die eines reinen Anwenders hinaus. Aber für dieses Vorhaben reicht es dann leider doch nicht.


    Wie gehe ich da am besten vor? Was muss ich wie und in welcher Reihenfolge machen?::)