Zufallsgenerator

  • Hallo, vielleicht kann mir ja jemand helfen. Ich möchte meine Funksteckdosensteuerung (Ansteuerung der Steckdosen funktioniert bereits) erweitern um einen Zufallsgenerator. Bis jetzt nutze ich als Zufallsgenerator eine Zeitschaltuhr, in der eine random-Funktion integriert ist. Dafür muß ich allerdings die Zeitschaltuhr in die Funksteckdose stecken und dann das Endgerät in die Zeitschaltuhr. Das ist doch sehr umständlich. Da gibt es doch bestimmt eine Möglichkeit, eine solche Zufallsfunktion zu programmieren. Dafür reichen aber meine Beginnerkenntnisse (noch) nicht aus. Vielleicht gibt es auch bereits ein fertiges Zufallsprogramm, das ich hier verwenden könnte. Na, vielleicht kann mir ja hier jemand helfen. Meine Erwartungen an dieses Forum sind hoch...

  • < man random > [<man 4 random>, <man 7 random>]

    /dev/random

    /dev/urandom

    Beim Pi gibt es auch noch einen Hardware Random Number Generator (rng bzw rngd)


    Servus !

    RTFM = Read The Factory Manual, oder so

  • Das ist ja sehr interessant, was Ihr beiden da schreibt. Ihr habt da aber wahrscheinlich überlesen, dass ich Beginner bin. Um es noch treffender zu schreiben: sehr Beginner... ;(

    Ich bräuchte da ein paar mehr Infos, wie ich das in die Steuerung meiner existierenden Funksteckdosen einbinden kann. Mit dem, was Ihr geschrieben habt, kann ich einfach (noch) nichts anfangen.

  • Hallo,


    na ja, dazu müsstest du dann doch mal dein Programm zeigen. Du hast bis jetzt noch nicht mal die Programmiersprache verraten noch hast du gesagt, wozu der Zufallswert gut sein soll.


    Gruß, noisefloor

  • Schreib bitte welches Raspberry Modell du verwendest mit dem konkreten Netzteil und Betriebssystem. Hast du eine Desktopoberfläche oder nur eine Shell? Du musst das Ganze programmieren. Dafür bietet sich Python an, weil der Interpreter vorinstalliert ist und hier im Forum viele Experten unterwegs sind. Zum Beispiel mit Thonny programmierst du dann deine Zufallsfunktion in Python, ähnlich meines Beispiels. Um die Pins anzusteuern bietet sich "gpiozero" an. Das ist auch vorinstalliert. Du kannst auf der offiziellen raspberry Seite die Python Tutorials durchgehen, damit du einen schnellen Überblick bekommst. Auf deutsch sind kaum welche verfügbar, daher muss die Seite auf Englisch benutzt werden.

  • Also ich steuere die Funksteckdosen mit raspberry-remote nach der Anleitung "https://jankarres.de/2015/04/raspberry-pi-funksteckdosen-einrichten" und habe mir dazu crontab eingerichtet, womit ich die Zeiten festlege, zu denen die Steckdose ein- und ausgeschaltet wird. In einigen Zeitspannen soll aber gleichzeitig ein Zufallsgenerator die Steckdose ein- und ausschalten (wie eben bei einigen Zeitschaltuhren, die dafür einen random-Schalter haben). Dafür brauche ich den Zufallsgenerator, der das Schaltsignal zufällig erzeugt, d.h. z.B. nach 3 Minuten für 20 Minuten ein und dann nach 17 Minuten für 1 Minute ein usw., also zufällig.

  • Hallo,


    na ja, das ist eigentlich ein Widerspruch in sich: Cron benutzt man, um etwas regelmäßig auszuführen, Zufall ist da nicht vorgesehen.


    Was gehen würde: anstatt Cron eine systemd Timer Unit verwenden. Das ist der flexiblere Weg, um etwas periodisch auszuführen. systemd Timer Units kennen die direktiven `RandomizedDelaySec=`und `FixedRandomDelay=`, mit der sich der Zeitpunkt, zum dem die Timer Unit ausgeführt wird, um X Sekunden zufällig verzögern lässt.


    Wenn das nicht reicht müsstest du dir ein eigenes Programm / Skript schreiben, was die Steckdosen ansteuert und den Zufall so einbaut, wie du es gerne hättest.


    Gruß, noisefloor