Beiträge von sls

    Dann zeig' doch bitte deinen vollständigen Code, anders können wir dir nicht helfen!

    Es gibt viele Möglichkeiten einen String zu prüfen.

    Bspw.

    Python
    value = "12321a"
    
    try: 
        int(value)
    
    except ValueError:
        print("Keine reinen Zahlenwerte. ", value)

    Kannst du mal den ganzen Code posten? `str` ist ein von Python-reserviertes Wort und sollte nicht zur Deklaration einer Variablen verwendet werden. Eine Variable sollte durch ihre Bezeichnung so gut wie möglich beschreiben, wofür sie gedacht ist. (z.B. begruessungs_satz = "Hallo Welt", alter = 38 uvm.)

    Was genau deine Absicht mit dem Wahrheitswert ist, verstehe ich auch nicht.

    Das timeout=None hat soweit funktioniert, dass beim Auslösen des Melders 4x die Textausgabe erfolgte. Beim 2. mal wieder 4. Das sollte sich auf 1x beschränken. Habt ihr da noch einen Tip?

    Da ich immer noch nicht weiß, wie die Daten an deinem USB-Port angezeigt werden, kann ich nur raten. Ich gehe davon aus, du meinst dass bei einem einzigen Alarm vier Mal die Ausgabe "Feuer" erscheint? Das könnte man als erste Übung mit einem Counter einfach abfangen. Gibt sicher noch elegantere Lösungen.

    Ich persönlich würde den GPIO.cleanup() übrigens vom ersten try/except-Block lösen, da ein Programm nicht durch Fehler sondern auch regulär zu beenden sein sollte. Man könnte auch über ein finally nachdenken, der GPIO.cleanup() könnte aber auch fehlschlagen.

    Man versteht wie man ließt. Das ist bei Menschen leider nicht immer so klar wie mit 0 und 1. Da stell ich mir die Frage, ob es nicht gewollt ist, dass Anfänger hier fragen rein stellen. Klar kann man sich alle Bibliotheken und Bücher vorher durchlesen und alles lernen... Nur hat man dann keine Fragen mehr.

    Ich denke @linusg's Antwort ist hart, aber herzlich. Ich glaube durch diese Schule sind alle Python-Anfänger gegangen. Python ist eine Sprache deren Syntax sich stark an PEP orientiert (quasi eine Art Lehre zum guten Programmierstil in Python) und die Programmierer dazu ermutigen, stellenweise auch zwingen soll, ordentlich zu Programmieren.

    Es gibt in der Welt zu viel beschi''enen Code, und gerade Anfänger neigen hart dazu irgendwas zusammen zu frickeln und dann Foren zu fluten mit übelsten Codes die nur sehr schwer zu lesen sind. Häufig werden Dinge gar nicht benötigt, vertauscht, verwechselt oder Code wiederholt. Wenn man sich von Beginn an angewöhnt sauber zu Programmieren, fällt das zum großen Teil einfach weg.

    Hier nochmal ein paar Dinge in die du dich einlesen solltest, damit auch dir selbst das Programmieren schneller und zugänglicher wird:

    PEP8

    Python3 Kurs

    Hi,

    wie sind die Ausgaben von:

    modinfo nf_tables

    lsmod | grep nf_tables

    sudo nft list ruleset

    sudo systemctl status nftables

    Wie hast du nftables installiert?

    Wo liegt deine nftables.config? Hast du die Standard-Konfig verwendet?

    Läuft parallel iptables? Wenn ja, deaktivieren.

    Mfg, sls

    Man muss schon offen dafür sein, ist kein Unterhaltungsstreifen. Es gibt auch zwei Verfilmungen. Die erste stammt, glaub ich, von 1952 und ist SW.

    Ich mag' alte Schmankerl, so ist das nicht. Auch wenn die gefühlt 30 Minuten Affenschlägerei im Film 2001 an der Wasserstelle an meinen Nerven zehrte :D

    Ich weiß, dass ich mit Pi auch Games programmieren kann, habe ich aber noch nie gemacht. Könnt ihr mir gute Seiten/FAQs oder auch Workshops empfehlen?

    Hi,

    ein Freund von mir studierte Game Design bis zum vierten Semester, hat dann aber aus Interesse auf reine Informatik gewechselt. Die Inhalte waren bei ihm aber sehr stark Mathematik-lastig (oh wunder), und zwar in einer Breitseite wie er es nicht vermutet hätte. Sei dir dem nur im Klaren.

    Falls du noch keinerlei Programmierkenntnisse hast, würde ich mit einer Sprache wie Java oder C++ beginnen (ersteres hast du an gefühlt jeder Universität) - Letzteres wird für den späteren Beruf und dein Studium mit Sicherheit von hoher Bedeutung sein. Evtl. hilft dir dieser Einstieg.

    Ich hab da schon wieder Fragezeichen über dem Kopf, wenn es um die optionalen Pakte geht.

    Man kommt da wirklich vom Hundertsten ins Tausenste.

    In einer VM? Möchtest du zu Testzwecken kompilieren, oder was ist der Sinn dieser Übung?

    Die Abhängikeiten (Pakete) musst du logischerweise alle installieren, die werden ja nicht zum Spaß mitinstalliert.

    Willkommen in der Welt der IT, aus einem "mal eben schnell" wird ein riesen Akt. Meine Empfehlung für Nginx war nicht aus einer Laune heraus ;)

    Ich denke, dein USB-Port wird durch folgendes Konstrukt "geblockt": timeout=1

    Hast du mal versucht `timeout=None` zu setzen?

    Die readline()-Funktion wartet auf einen Newline-Charakter "\n" am USB-Port, da dein timeout auf 1 gesetzt ist, blockiert diesen also.

    Vielleicht schaust du dir auch nochmal in einem ersten Schritt an, wie der Aufbau der Daten ist die am USB-Port empfangen werden.

    Es ist aber höchst gefährlich, Clients schreibenden Zugriff auf einen Backup-Server zu geben. Im Falle einer Kompromittierung sind ggf auch Backups anderer Clients damit gefährdet. Deswegen ist ein pull-Backup (Backup-Server "holt" Backup vom Client ab) immer vorzuziehen.

    Wenn der Client-Rechner kompromitiert wurde, hast du i.d.R. aber noch ganz andere Probleme. Ich würde also sagen, dass das davon abhängig ist, wie dein Netzwerk aufgebaut ist und wer was darf. Also nicht zwangsläufig "sicherer". Oder wie siehst du das?

    Ja, danke.

    Kann mir jemand sagen, warum ich diese Dateien im Ordner /etc/modprobe.d/ habe?

    blacklist/rtl8192cu.conf und blacklist/rt18xxxu.conf

    Wie sind die Ausgaben von:

    readlink /sys/class/net/wlan0/device/driver

    readlink /sys/class/net/wlan1/device/driver

    ifconfig -a

    lsmod

    Ich gehe davon aus, dass du onboard-wlan als auch ein Wlan über den USB-Stick realisieren möchtest. Gut möglich, dass der Supplicant den Treiber geblacklisted hat.

    Hi, ich gehe jetzt nur auf drei wesentliche Fragen ein, der Rest ergibt sich durch die Antworten.

    - den Sync vom Pi aus starten oder von der Win7 Workstation (Vor- und Nachteile der beiden Möglichkeiten)

    Eine Synchronisation (wie bspw. differentielle oder inkrementelle Backups) geht immer von der Workstation aus, die die Daten "gebackupt" haben will. Ein Server baut niemals selbst eine Verbindung auf. Was, wenn dein Rechner nicht erreichbar ist, weil er aus ist? Woher soll das dein Server wissen.

    Zitat

    - was passiert, wenn Pi oder Win7 Rechner während des Synchronisierens heruntergefahren werden. (Dateiverlust oder Korrupte Dateien?)

    Die Dateien die während des Synchronisationsvorganges verändert oder erstellt wurden, werden nicht gesichert. Dateiverlust hast du logischerweise immer dann, wenn kein aktuelles Backup vorhanden ist.

    Zitat

    - ist der Sachverhalt mit Bordmitteln zu lösen? (Win Synchronisierungscenter? Pi cronjob oder ähnl.?)

    Dafür musst du entsprechende Tools deines Windows-Rechners aufsuchen. Das einzige für Windows das ich kenne und eig. ganz ok finde ist freefilesync: https://www.freefilesync.org/

    Ich hatte nun die Hoffnung, dass mir jemand sagen kann, wie man diesen Login mit fail2ban absichert.

    (Ich konnte dazu bisher noch keine Logdatei finden, die man für fail2ban braucht, vermute ich zumindest)

    Verstehe, dass du nicht zusätzlich einen Webserver betreibst, auch wenn Nginx im Vergleich zu Apache deutlich schmalbrüstiger und dadurch ressourcenschonender für den Pi wäre.

    Wenn du Custom-Filter in Fail2Ban anlegen musst du folgendes beachten:

    Im Verzeichnis /etc/fail2ban/filter.d/ werden alle custom-filter-Dateien abgelegt. Die einzige Schwierigkeit hier ist im Grunde genommen eine regex für deinen Webserver zu erstellen. Du musst dir das so vorstellen, dass jeder Login-Versuch protokolliert wird. Fail2Ban sucht mittels regulären Ausdruck in diesen Log-Dateien dann nach Meldungen (z.B. "Warning", "ERROR" uvm) und zählt dann diese Meldungen. z.B. wird ein Fehlgeschlagender SSH-Login mit Uhrzeit, Quell-IP-Adresse und Fehlertyp protokolliert, fail2ban wertet diese Werte aus und erkennt dann z.B. "Host-XY hat innerhalb von 5 Minuten 10 x einen Fehl-login verursacht und wird nun gebannt".

    Falls du dir eine Regex zu traust, kannst du solch einen Custom-Filter bauen. Falls du Hilfe brauchst, poste doch einfach mal eine Log-Zeile wenn du dich an deinem Motion-Stream-Server falsch angemeldet hast.

    Wenn dir o.g. Prozedere deutlich zu komplex ist, solltest du nochmal über Nginx nachdenken. Diese zwei Optionen hast du im Endeffekt mit Fail2Ban, eine weitere fällt mir nicht wirklich ein.

    Mfg, sls

    Code
    cat /etc/network/interfaces
    # interfaces(5) file used by ifup(8) and ifdown(8)
    
    # Please note that this file is written to be used with dhcpcd
    # For static IP, consult /etc/dhcpcd.conf and 'man dhcpcd.conf'
    
    # Include files from /etc/network/interfaces.d:
    source-directory /etc/network/interfaces.d

    Dass die ständig alles ändern müssen.

    ls -l /etc/network/interfaces.d

    cat /etc/dhcpcd.conf