Posts by wend

    Aus diesem Grund programmiere ich immernoch gerne in BASIC ! (ja, heute halt "X11-Basic" siehe:

    https://x11-basic.codeberg.page/

    Keine Semikolons In jeder Zeile nur genau ein Befehl.... Aber bei den Microcontrollern gibt es das wohl (noch) nicht....

    Aber nix gegen python. Es hat halt gegenüber BASIC heute das rennen gemacht/gewonnen.

    Obwohl: Dort mit den Einrückungen, das ist irgendwie fehleranfällig und ziemlicher Blödsinn...

    Es gibt einen Grund, warum es das nicht gibt. Nämlich der Leerlauf-Stromverbrauch vom Spannungswandler, der die Spannung vom Akku (3 bis 4V) auf die 5V konvertiert. Wenn man den die ganze Zeit anlässt, ohne dass ein verbaucher Strom zieht, dann ist die Powerbank nach wenigen Tagen bis Wochen leer. Deshalb gib es eine Schwelle für den Minimal-Strom, bei deren unterschreiten für einige Zeit die Powerbank ganz abschaltet.

    Wenn man das nicht möchte, muss man direkt an die Akku-Kontakte rangehen mit einem eigenen Spannungswandler. Das ist auch kein Problem, erfordert aber eine Modifikation der Powerbank. (Und man nuckelt die Bank dann natürlich schneller leer). Es gibt sogar recht sparsame DC-DC Konverter, aber einige 10 bis 100 Mikroampere benötigen die auch im Leerlauf.

    Dann hält der Akku also höchstens 2000 Stunden.

    Es gibt normalerweise verschiedene Partitionen, wie man die Sensoren aufteilen kann. Mindestens:

    1. Nach Geografischem Ort hirarchisch

    2. Nach logischer Funktion (ggf. auch hierarchisch)

    3. nach physikalischen Zusammenhängen (Topologie)

    4. weitere...

    Alle haben so ihre Vorteile und Nachteile. Besonders bei Panels/Dashboards/UserInterface hat sich für mich bewährt, immer alle 3 Sichtweisen parallel anzubieten. Der User kann ggf. dann zwischen den Sichtweisen wechseln, aber die Daten, die zugrundeliegen, sind immer dieselben. Ob man das nur bei den MQTT-Topic auch schon berücksichtigen muss.... Macht jedenfalls ne Menge Arbeit.

    Das funktioniert aber nicht so gut, weil dann bereits die Komprimierung verwendet wird. Also man bekommt dann Komprimierungsartefakte in die einzelbilder. Wenn man jdes Pixel exakt haben will, also jeweils den genauen Belichtungswert, dann muss man roh-Bilder verwenden. Und nur dort kann man dann auch das Rauschen durch Mittelung von vielen Bildern kleinbekommen. Deshalb sollte man auch nicht den Weg über jpeg gehen. Erst ganz zum Schluss kann dann aus dem Gesamtresultat ein jpeg gemacht werden.

    Versuch mal:

    Code
    raspistill --raw -vf -hf -w 120 -h 90 -ss 2000000 -o a1.jpg --timeout 1 --nopreview

    Für das Mitteln (addieren oder subtrahieren) von einzelnen Roh-Bildern gibt es ein tool, das hatte ich mal verwendet.

    Code
    rawpix -c "irgendwas" --bg bg1.bin -o pic1.bin b1.jpg --channel B

    Hab leider vergessen, wie das funktioniert. Ist schon zu lange her. mit channel wahlt man zudem noch einen von 4 Kanaelen aus. Es gibt einen Roten, einen Blauen und zwei Grüne oder so...

    Du kannst Dir vielleicht behelfen, wenn Du nur 1 Sek Belichtungszeit nimmst, dann aber 30 Aufnahmen machst und die dann hinterher zusammenaddierst. Dann steigt die Auslesezeit nur proportional zur Belichtungszeit und ist etwa 5 bis 7 mal so lang. Du musst dann die Rohdaten auslesen und nicht .jpeg. Mit convert (Imagemagic) kann man ganz am Schluss wieder ein .jpg draus machen.

    Ich habe seit kurzem die IKEA TRADFRI Shortcut buttons im Einsatz. Wenn man ein ZigBee Dongle oder das IKEA Gateway hat, dann lässt sich das auch zu MQTT umsetzen oder direkt vom raspberry Pi steuern. Die Taster können beschriftet werden und haben eine Wandhalterung mit Magnet. Benötigen eine CR2032 Batterie und sind recht preiswert. Im gleichen Design gibt es auch einen ON/OFF Wippschalter mit Dimmfunktion.

    Die Stützstrucktur im Inneren der Objekte wird normalerweise automatisch generiert. Du gibst nur den Füllgrad an. 15% Ist meist ausreichend. bei 0% wird das Objekt hohl (und fällt meist zusammen), bei 100% wird es voll (bis auf kleine Bläschen) und schwer. Das macht das Slicer-Programm. Z.B. Cura für linux. Es ist so eine Art Druckertreiber. Macht aus .SDL Dateien zusammen mit der Druckerkonfiguration und einigen User-Einstellungen eine Steuer-Datei (Anweisungen rauf, runter, rechts links, etc...), die der Drucker dann verarbeitet.

    Wie die SDL Dateien erzeugt werden, ist dabei eine separate Geschichte. Hierfür kannst Du dein lieblings 3D-CAD Programm verwenden, z.B. openscad oder freecad. Man kann eigentlich bei jedem 3DCAD Programm SDL Dateiformat exportieren. Ist wie .pdf.

    Mehr als 16 bis 20 FPS sollte unnötig sein, denn das sieht das Auge sowieso nicht mehr. Ruckelfrei wird es etwa ab 16 fps. Damit keine Daten verloren gehen, waere evtl ein broker dazwischen nützlich. Z.B. ein MQTT broker. Dann kann die Visualisierung die Datennahme nicht ausbremsen.

    Wie hoch ist denn die eingestellte Baudrate? Du benötigst mindestens 7kByte*10 Bit also 70000 Baud. Und dann ist noch die Frage, ob das Python Script schnell genug läuft. Wenn nicht, muesstest Du den Algorithmus in C schreiben. Das geht dann auf jeden Fall schnell genug.

    Habe auch mal versucht an so einem Rittal System rumzumachen. Am Ende hab ich es weggeschmissen und was eigenes gebaut. Das macht mehr Spass und man spart sich den Frust. Trafo und Kabel können wiederverwendet werden. Wobei der Trafo zu überprüfen waere, denn er hat eigentlich zu viel Leerlaufverbrauch. Ein einfaches Schaltnetzteil geht auch. Oder ein Batteriepack, oder heute vielleicht eine USB-Powerbank mit (paralleler) Laderschaltung. Dann kann man auch bei Stromausfall klingeln.

    Es scheint, dass der Zugriff in Blockgrößen von 4096 Bytes erfolgt. Dann ist bei 17592186044416 Bytes schluss. Jedenfalls für 32 Bit Betriebsysteme. (Grenze=4096*2^32) Das ist genau 16.384 TBytes. Man muss also die Blockgröße erhöhen/verdoppeln. Leider muss hierzu die Platte neu formatiert werden. Oder ein 64Bit Betriebsystem verwenden.

    Jetzt gibts die Shortcut Buttons auch hier (D). Hab schon welche besorgt und funktionieren.... Ene schwierigkeit bei der Anmeldung war, den Kopplungsbutton zu drücken, ohne auch gleichzeitig den Hauptbutton zu drücken. Dann naemlich hat die Anmeldung nicht (richtig) funktioniert. Aber wenn man es vorsichtig macht, dann geht es. In der IKEA-App den mislungenen Button wieder entfernden, button resetten und dann neu versuchen.