Beiträge von beedaddy

    Für ein kleines Projekt möchte ich gerne einen Raspberry Pi Pico W im Battieriebetrieb (also Strom über VSYS) betreiben. Der Pico gibt während des Betriebes immer wieder mal Infos über stdio/USB aus. Diese würde ich mir gerne hin und wieder mal ansehen. Nun bin ich mir aber nicht ganz sicher: Kann ich denn während des Betriebes bei Bedarf ein Laptop an die USB-Schnittstelle anschließen und diese Daten mittels minicom o. ä. anschauen, oder ist das ein Problem, weil ja über USB dann womöglich auch wieder 5V kommen. Beißt sich das mit dem Batteriebetrieb, oder geht das?

    Nach laaanger Zeit bin ich mal dazu gekommen, mich ausführlicher mit dem Fehler zu beschäftigen. Und die Lösung ist genau wie von Gnom vorgeschlagen. Sobald das Relais schält, deaktiviere ich den fraglichen GPIO mittels gpio_set_irq_enabled_with_callback, warte 100ms, und aktiviere ihn dann wieder. Keine Ahnung, ob das auch eleganter geht. Aber nun funkioniert es zuverlässig.

    In dem Fall am besten in der Software ausfiltern. Wenn ein Signal (ein oder aus) erkannt wurde, einfach so programmieren, dass er ca. 100 Millisekunden nicht auf weitere Signale reagiert. Am einfachsten mit einem delay (C) oder sleep (Python) direkt nach den Befehlen, die das Relais ein- bzw- ausschalten.

    Ja, das bietet sich ja auch an, um das "Prellen" der Tasten zu verhindern, oder? Ich dachte, das hätte ich am Anfang der Callback-Funktion erledigt:

    Ich habe mir zu Lernzwecken (KiCAD, FreeCAD, 3D-Druck, Pico und Python/C++) ein halbwegs nützliches Projekt überlegt: Einen Gärbox-Manager. Also ein Gerät, das mir den Innenraum einer Styroporbox mittels einer Heizmatte auf konstanter Temperatur hält. Ich verweise mal auf mein Repository, wo auch Fotos zu sehen sind: Gitea-Link.

    Über ein Relais (auf eigener Platine und nur über drei Leitungen (5V, Masse, Steuerung) mit der Lochrasterplatine verbunden) wird also einfach der Strom für die Heizmatte an- oder abgeklemmt. (Ich weiß, Netzspannung ist gefährlich!)

    Alles hat soweit geklappt. Die "Trockenübung" funktioniert prächtig. Trockenübung bedeutet, ich habe das Stromkabel für die Heizmatte nicht eingesteckt, sondern simuliere die Heizung nur mittels Finger am Temperatursensor usw. Sobald ich aber das Netzkabel einstecke, funktioniert das Gerät nicht mehr zuverlässig: Beim Schalten des Relais scheint manchmal auch der "An/Aus"-Drucktaster mehrmals gedrückt zu werden, was das Relais wiederum an- und ausschält. Auch habe ich (hin und wieder) beobachtet, dass das LCD-Display plötzlich spinnt und Mist anzeigt.

    (Fun Fact: Die Probleme sind mir erst bei der C++-Implementierung aufgefallen, nicht aber bei der Python-Variante. Das müsste ich aber nochmal gegentesten – es kann auch Zufall gewesen sein.)

    Meine Theorie: Das Netzkabel scheint durch Störstrahlung den Rest der Elektronik zu beeinflussen. Kann das sein? Und wenn ja, wie kann ich das beheben? Vielleicht durch einen Ferritring? Über Hinweise/Erklärungen/Lösungen würde ich mich freuen.

    Ich versuche – unter Arch Linux ARM – ein kleines Qt5-Programm (C++) mit Quick Controls 2 auf meinem Raspberry Pi 3 laufen zu lassen, indem es nicht X11 zur Darstellung verwendet, sondern eglfs. Allerdings bekomme ich immer die Fehlermeldung "Could not find DRM device". Ich gehe davon aus, dass Qt mit dem eglfs platform plugin bereits gebaut wurde, da die Datei /usr/lib/qt/plugins/platforms/libqeglfs.so vorhanden ist. Ich starte das Programm mit:

    Code
    LD_PRELOAD="/opt/vc/lib/libGLESv2.so /opt/vc/lib/libEGL.so" myQtProgram -platform eglfs

    Vielleicht habe ich etwas übersehen oder falsch gemacht?


    Auf einem "normalen" Notebook (x86_64) kann ich das Programm compilieren und starten, es scheint also etwas Raspberry-spezifisches zu sein.

    Hallo,

    ich plane eine kleine Python-Anwendung, die mir abhängig von einer Temperaturober- und Untergrenze eine (Funk-)Steckdose ein- und ausschaltet. Auslesen der Temperatur (DS18S20) und Senden der Funksignale sollten keine größeren Schwierigkeiten machen. Allerdings möchte ich mich noch über ein Smartphone in die Anwendung "einklinken" und die Temperatur anzeigen lassen sowie die Ober- und Untergrenzen ändern (später vielleicht noch mehr).

    Nun bin ich mir nicht sicher wie ich dieses Webinterface für das Smartphone umsetzen kann. Ich bin beim Recherchieren auf Websockets gestoßen, da hier eine bidirektionale Kommunikation möglich ist (die aktuelle Temperatur soll quasi live angezeigt werden). Ich kenne mich in dem Bereich noch nicht aus und bin dann ferner auf Tornado als mögliches Web-Framework für diesen Zweck gestoßen. Es gibt auch noch andere Frameworks wie "Autobahn", aber die genauen Unterschiede sind mir nicht klar.

    Vielleicht kennt sich jemand in dem Bereich besser aus und kann mir sagen ob ich hiermit auf dem richtigen Weg bin oder nach anderen Lösungen suchen muss. Vielleicht gibt es auch ähnliche Projekte und Codebeispiele, die mir weiterhelfen könnten?

    Vielen Dank!