Posts by noisefloor

    richtig, der Webserver wird vermutlich ein anderer Rasperry Pi werden.

    Habt ihr eine Vorgabe, wie die Raspis kommunizieren sollen? Das IMHO einfachste ist, wenn auf dem Roboter-Raspi eine simple HTTP-basierte API läuft, an die der Webseiten-Raspi einen HTTP-Request schickt, der eine Aktion triggert. Mag kompliziert klingen, lässt sich aber mit wenig Code umsetzen.

    Gruß, noisefloor

    RTFM: das Problem hat man bei Python und einer Python-Webapplikation nicht. Der WSGI Applikationsserver kann mit Nutzerrechten laufen und damit auch Befehl via `subprocess` mit Benutzerrechten ausführen. Ohne, dass man das Rechtesystem verbiegen muss.

    Wobei die Frage von Bertthias bei der möglichen Umsetzung auch sehr relevant sind. Wenn es zwei Rechner sind müssen die ja auch kommunizieren. Wobei man das auch das Rechteproblem eher nicht hat.

    Gruß, noisefloor

    Hallo,

    grundsätzlich geht das sicherlich. Die Frage ist hier eher, ob Mustererkennung reicht, d.h. ob Astlöcher als z.B. Kreis oder oval erkannt werden können oder ob man hier in irgendeiner Form ein KI-Modell mit Trainungsdaten anlernen muss.

    Meine _Vermutung_ ist, dass das im gegeben Fall eventuell noch vom Holztyp, dessen Trocknungsgrad und der Größe des Astlochs abhängt.

    Hast du mal ein Beispielbilder? Ist das ein Hobbyprojekt oder ein kommerzielles / industrielles Projekt?

    Gruß, noisefloor

    Hallo,

    interessantes Projekt. Viel Erfolg! Wenn du konkrete Fragen zur Implementierung hast kannst du dich ja hier gerne melden. Dann aber bitte verraten, welche Hardware verwendet wird, den relevanten Code zeigen und genau beschreiben, was nicht funktioniert.

    Gruß, noisefloor

    Kann man einfach dieses {message.topic!r} einfach irgendwie übergeben?

    Ja, kannst du. Aber: dir fehlen scheinbar Python-Grundlagen und damit Verständnis von dem, was da passiert und du eigentlich tust.

    `{message.topic!r}`: die geschweiften Klammer brauchst du an der Stelle, wie von __blackjack__ gezeigt, wegen des f-Strings, also der String Formatierung. `!r` bedeutet, dass innerhalb des f-String die __repr__-Methode aufgerufen wird, um den String darzustellen `message` ist das Objekt, `topic` das Attribut, dass den Namen des Nachrichtenkanals enthält. `payload` ist das Attribut, welches die Daten enthält. Hast du schon mal das Python-Tutorial durchgearbeitet: deutsche Übersetzung oder alternative englisches Original?

    Bzgl. Datenbankdesign: du solltest dir _vorher_ darüber im klaren sein, was du wie wann wo abfragen möchtest. Klar kann man alles irgendwie in ein Feld in der DB packen - macht aber das Leben später ziemlich sicher unnötig kompliziert. Und beim Aufbau einer relationalen Datenbank (wie PotgreSQL es ist) muss man anders Denken als z.B. bei einer Excel-Tabelle oder einer Tabelle in einem Textdokument. Ich würde hier zwei Tabellen machen: eine mit den Topics und eine mit Daten. Die Datentabelle hat vier Felder: Primärschlüssel (einfach von der DB automatisch setzen lassen), Topic (als Fremdschlüssel 1:N Beziehung zur Topic-Tabelle), ein Feld für den Wert und ein Feld für den Zeitstempel, der zum Wert gehört.

    Gruß, noisefloor

    noisefloor und jetzt ?

    Warten bis sich mehr meldet? Selber suchen? Eine ca. 1 minütige Suche bringt einen Schwung Treffer bei u.a. bei Händlern für Raspi Komponenten sowie Amazon zu Tag, wo Sticks beworben werden, die unter Linux und dem Raspi funktionieren und 20m Reichweite habe.

    Ob das Werbegelaber ist und real - keine Ahnung, ich nutze kein BT in Kombination mit dem Raspi.

    Gruß, noisefloor

    Solange die Raspi Foundation nicht die Preispolitik von Apple für RAM übernimmt... ;)

    Im Ernst: solange es noch einfache / preiswerte Raspis wie dem Pi Zero oder Pi Zero 2 gibt, die man für seine Projekte nehmen kann, finde ich es nicht weiter schlimm, wenn es neue "Premium" Modelle gibt. Und was man IMHO nicht vergessen darf: so mehr sich ein Raspi-Modell einem "richtigen" PC annähert, desto teurer wird es halt. Es ist ja nicht so, dass die Raspi Foundation die Geheimformel hätte, Hardware mit vergleichbarer Leistung zum PC Modell $FOO zum halben Preis anzubieten.

    Aber wie das halt bekanntlich so ist: früher war immer alles besser...

    Gruß, noisefloor

    Quote

    Dort steht u.A. auch man sollte btrfs nicht im Rootfilesystem nutzen und andere Hinweise was man bei der Nutzung von btrfs beachten und nicht tun sollte.

    Das schöne (und schlechte ;) ) bei Linux ist ja, dass man sehr viele Freiheiten hat, auch beim Root-Dateisystem. Debian, Ubuntu und alles,was davon abstammt, nutzen halt ext4 als Default. Fedora und OpenSuse nutzen, RedHat (und was davon abstammt) XFS. Wie viel Politik dahinter ist (Suse hat zumindest in den Anfangszeiten die Entwicklung maßgeblich mitgetragen / finanziert) und wie viel rationale / technische / ... Gründe hat - keine Ahnung. Jedenfalls scheint btrfs bei anderen Distro als Root Dateisystem einwandfrei zu funktionieren.

    _Meine_ Meinung ist, dass man zumindest als Desktopnutzer den Default des Root-Dateisystems nicht anpacken braucht - sofern man nicht gezielt was ausprobieren will oder ideologische Gründe hat.

    Speziell beim Raspi und dem immer noch Default, dass das Root-Dateisystem auf einer SD-Karte liegt, wäre sowas wie F2FS eigentlich noch besser geeignet. Warum die Macher von Raspberry Pi OS das nicht als Default nutzen - keine Ahnung. Hat vielleicht / wahrscheinlich Gründe.

    Gruß, noisefloor

    Das ist total wirr, weil da gaaaanz viele Sachen durcheinander geworfen werden. Wohl wegen einfach mangelndem Verständnis von alle, was geplant ist...

    Also:

    Quote

    Wenn mein Verständnis nicht trübt kann ich das ja auch simpler weise mit einem einfachen PHP-Script in der Datenbank ablegen.

    Du kannst mit _jeder_ Programmiersprache_, die eine Anbindung an die Datenbank deiner Wahl hat, in die DB Schreiben. Bzw., allgemeiner, du kannst jeder zu Verfügung stehende API nutzen.

    HTML Mini Server auf Pico ja geht!

    Es gibt keinen "HTML Server" - du meinst vermutlich einen Webserver.

    ich bekomme es nicht geschissen das ein kleines PHP-Script die Sachen übergibt.

    Wo und wie läuft das Skript? Auf welchem Rechner läuft die DB? Zeig' mal das Skript.

    Dem steht soweit nichts im Wege Programm Code Geschrieben dann ausprobiert und funzt :)

    In welcher Programmiersprache das das ominöse, möglicherweise nicht mir der gültigen Gesetzeslage in ... von welchem Land redest du überhaupt? ... denn geschrieben?

    Gruß, noisefloor

    Seit ich diese Meldung bekomme, gibs kaum noch Updäte...

    Das eine hat mit dem anderen nichts zu tun. Die Paketverwaltung zeigt dir, welche Pakete gefahrlos entfernt werden können. Ob du das machst (sollte man eigentlich immer) oder nicht hat nichts damit zu tun, wann wie wo Paketupdates kommen.

    `sudo apt autoremove` kann man sowieso alle paar Wochen mal machen. Bzw. es geht auch `sudo apt autopurge`, denn werden von den entfernten Paketen auch - falls vorhanden - Konfigurationsdateien entfernt.

    Gruß, noisefloor

    Hallo,

    Quote
    Code
    Jan 05 15:06:55 HOME systemd[1]: Timed out waiting for device dev-disk-by\x2duuid-13a27ffd\x2d1c55\x2d43bf\x2db1d6\x2d0226ad380fc0.device - /dev/disk/by-uuid/13a27ffd-1c55->
    Jan 05 15:06:55 HOME systemd[1]: Dependency failed for media-backup_HOME.mount - /media/backup_HOME.
    Jan 05 15:06:55 HOME systemd[1]: media-backup_HOME.mount: Job media-backup_HOME.mount/start failed with result 'dependency'.

    Das besagt, dass systemd gerne mounten würde, es aber es nicht geht, weil eine Abhängigkeit nicht gegeben ist. Letzteres kann viel sein, aber lässt sich hier IMHO stark eingrenzen:

    * wenn die anderen Laufwerke eingehängt sind ist das System grundsätzlich soweit, dass es mounten kann
    * da es sich um ein "normales" Laufwerk handelt, spielt das Netzwerk keine Rolle

    Ich _vermute_ auch, dass da zu wenig Spannung vorhanden ist, so dass das Laufwerk einfach nicht "da" ist.

    Was du mal versuchen kannst ist, eine Mount-Unit zu erstellen und die spät zu starten. Dazu

    * Die Zeile für sdb1 in der fstab auskommentieren
    * eine Mount-Unit mit folgendem Inhalt anlegen:

    * Die Unit unter /etc/systemd/system/home_backup_einbinden.mount speichern.
    * Die Unit aktivieren: sudo systemctl enable home_backup_einbinden.mount
    * Prüfen, ob alles i.O ist: sudo systemctl is-enabled home_backup_einbinden.mount
    * Neu starten
    * Hoffen, dass alles klappt.

    Gruß, noisefloor

    Hallo,

    Offenbar verhält sich xampp und apache2 wirklich nicht gleich.

    Bei gleicher Konfiguration und gleichen PHP- (Major-) Versionen sollte das eigentlich alles gleich sein. Welche PHP Version hat dein XAMPP und welche dein Debian?

    Im error file steht nur:

    [Sat Jan 04 00:00:19.168630 2025] [mpm_prefork:notice] [pid 1035:tid 1035] AH00163: Apache/2.4.62 (Debian) configured -- resuming normal operations
    [Sat Jan 04 00:00:19.168709 2025] [core:notice] [pid 1035:tid 1035] AH00094: Command line: '/usr/sbin/apache2'

    Das ist keine Fehlermeldung, das besagt nur, dass der Apache 2 Webserver (wieder) läuft.

    Da du ja scheinbar der Autor des Programms bist:

    Das PHP Script gibt Daten an ein Python script als Interface (auch ok unter Windows), das das eigntliche Programm steuert.

    Der Umweg über PHP ist nicht nötig. Man kann mit Python sehr gut Webapplikation erstellen. Positiver Seiteneffekt: eine Zwischenschicht und eine mögliche Fehlerquelle eliminiert.

    Gruß, noisefloor