Beiträge von orb

    Wenn der Pi immer läuft kannst dem auch die ganze Netzwerkverwaltung überlassen. DNS und DHCP-Server installieren und beim Router DHCP abschalten.
    Dann kannst Du die Domain nutzen, die Du haben möchtest, ich würde aber eine TLD nehmen, die es im Internet nicht gibt. .local ist zum Beispiel speziell dafür reserviert, ich bin faul und nehme .loc Aber Vorsicht bei erfundenen TLDs, Googles Chrome mag die oft nicht.


    Mir ist nur noch nicht ganz klar, wie der DS1307 aus 5V vom RPi die benötigten 3V macht.

    Garnicht. Beim I2C-Bus wird GND geschaltet. Wenn da nichts angeschlossen ist sind die Leitungen tot, sie haben keine eigene Spannungsversorgung. Deßhalb müssen irgendwo auf dem Bus PullUp-Widerstände liegen mit denen dann die Spannung für den High-Pegel festgelegt wird. Die sind beim Pi fest eingebaut, 1,8kOhm gegen 3,3Volt. Dadurch kannst Du jedes I2C-Bauteil anschließen, selbst wenn es mit 24Volt läuft solange es keine zusätzlichen PullUps hat.


    Vorrausgesetzt der Schaltplan stimmt, reicht es also die Widerstände R2 und R3 herauszulöten und diese zu überbrücken (mit etwas Draht, oder reicht auch ein klecks Lötzinn?
    Würde es dann also bedeuten, dass ich das DS1307 Modul wie gewohnt per i2c und Kernelmodul ansprechen kann? Hat es dann den GPIO freundlichen 3,3 Volt Pegel?

    Nein,entfernen nicht brücken, dann hättest Du die Datenleitungen fest mit 5Volt verbunden, einfach auslöten.
    Der GPIO-freundliche Pegel kommt dann vom Pi und Du kannst es wie in den ganzen Anleitungen ansprechen.
    Mit einem normalen Mutimeter kannst Du feststellen, ob es die PullUps sind: Eine Seite der Widerstände sollte direkt mit Vcc verbunden sein, die andere geht jeweils auf eine I2C-Leitung.

    Wenn das Modul keine PullUp-Widerstände auf den I2C-Leitungen hat, haben die Leitungen keinen eigenen Pegel und schalten nur GND. Die 3,3Volt für den HighPegel kommen dann vom Pi und das Modul kann selber mit 5Volt laufen.
    Nach dem Schaltplan den man zu dem Modul im Netz findet (http://www.hobbyist.co.nz/sites/default/…C_schematic.pdf ) hat es aber PullUps (R2+R3)
    DS ist der Datenbus für den DS18B20 Temperatursensor der mit drauf sein soll. Auch bei dem ist der PullUp schon bestückt (R1) unddamit auch nicht 3,3Volt kompatibel.
    Für den Betrieb am Pi müsstest Du also R1,R2 und R3 entfernen.
    Alle Angaben falls der Schaltplan passt.

    Ähh, wie jetzt, Das sind keine Lithium-Akkus weil man Lithium-Polymer schon mit hoher Energiedichte bekommt?

    Diese 'Powerbanks' haben alle LithiumPolymerAkkus als Innenleben, inklusive Elektronik gegen Überladen und Tiefentladen.
    Deine Hoffnung wurde schon vor Jahren endtäuscht, LiPos sind in aller möglichen Konsumerelektronik zu finden.

    Diese Akkupacks mit Litium-Akkus haben immer einem Überlade- und Tiefentladeschutz. Und mit anderer Akkutechnik ist diese Größe/Leistungsdichte aktuell nicht herstellbar.


    Könnte mir bitte jemand ein solches Programm schreiben und ein Bild mitschicken wo drauf ist welche Pins ich benutzen muss?


    Was zahlst Du? Du kannst mich anschreiben, dann können wir uns über die üblichen Stundensätze für solche Entwicklungen unterhalten.

    Bei den ganzen aktuellen Litium-Akkus würde ich solche Experimente lassen. Die reagieren derart empfindlich bei auf Überspannung daß ein kleiner Fehler schnell einen Brand auslöst den Du nicht gelöscht bekommst.

    Du müstest erstmal rausfinden, bei welcher Spannung der Akku voll ist und dann nachsehen, was für eine (Schutz-)Elektronik für den Akku im Headset verbaut ist. Dann kannst Du eine passende Spannungsversorgung bauen.

    Wenn Du dem Task auf einem Echtzeitsystem 'Echtzeitpriorität' gibst, muß alles andere warten. Egal was die CPU grad tut, es wird unterbrochen und der Task wird pünklich weitergeführt. Ein externer Timer muß auch erstmal von der CPU bearbeitet werden, wenn er dran ist.
    Aber die Abweichungen sollten kleiner und schwankender sein.
    Bei der konstanten Abweichung kannst Du aber davon ausgehen, daß es am Rest des Programms liegt. Ich denke, daß die Ausgabe auf das LCD jede Sekunde die meiste Verzögerung bringt.

    Das kommt darauf an, was für ein Betriebssystem Du benutzt. Wenn es sich, wie die üblichen beim Pi, die Netzwerkdaten automatisch holt (dhcp) und einen ssh-Server starte kannst Du übers Netzwerk zugreifen und einen VNC-Server installieren/starten.
    Ich würd mir aber ein HDNI-Kabel kaufen, ist zum Einrichten sinnvoller.

    Dann startest Du das:

    Code
    while :; do md5sum /dev/urandom; done


    md5sum läuft so lange, bis es mit der Datei fertig ist, /dev/urandom ist aber unendlich groß, es wird nie fertig. Die Schleife ist also nicht nötig, 'md5sum /dev/urandom' reicht.

    Ein 'md5sum /dev/urandom' sollte dauerhaft für 100% Auslastung sorgen.
    /dev/urandom ist ein Zufallsgenerator der nie aufhört Werte zu liefern, die Berechnung wird nie fertig.

    Natürlich besteht mein beispiel nicht nur aus den hier zitierten Zeilen:

    <html>
    <head>
    <title>DS18x20 Test Page</title>
    </head>
    <body>
    <p>DS18x20 Test Page</p>
    <table>
    <?php
    $cpu_info = implode('', file('/proc/cpuinfo'));
    $cpu_array = explode(PHP_EOL, $cpu_info);
    $sen_thermal = implode('', file('/sys/class/thermal/thermal_zone0/temp'));
    $sen_count = implode('', file('/sys/bus/w1/devices/w1_bus_master1/w1_master_slave_count'));
    $sensors = implode('', file('/sys/bus/w1/devices/w1_bus_master1/w1_master_slaves'));
    $sensors_array = explode(PHP_EOL, $sensors);
    for ($i = 0; $i < $sen_count; ++$i) {
    $data = implode('', file("/sys/bus/w1/devices/".$sensors_array[$i]."/w1_slave"));
    if (strpos($data,"YES")!=NULL)
    $data_s[$i] = substr($data, strpos($data, "t=") + 2);
    }
    echo "<br>".$cpu_array[0];
    echo "<br>".$cpu_array[1];
    echo sprintf("<br>Interner Sensor: %2.2f &deg;C", $sen_thermal / 1000);
    echo "<br>DS18B20 - 1-Wire-Sensoren:";
    if ($sen_count > 0)
    echo sprintf("<br>1: %2.2f &deg;C", $data_s[0] / 1000);
    if ($sen_count > 1)
    echo sprintf("<br>2: %2.2f &deg;C", $data_s[1] / 1000);
    if ($sen_count > 2)
    echo sprintf("<br>3: %2.2f &deg;C", $data_s[2] / 1000);
    if ($sen_count > 3)
    echo sprintf("<br>4: %2.2f &deg;C", $data_s[3] / 1000);
    if ($sen_count > 4)
    echo sprintf("<br>5: %2.2f &deg;C", $data_s[4] / 1000);
    if ($sen_count > 5)
    echo sprintf("<br>6: %2.2f &deg;C", $data_s[5] / 1000);
    if ($sen_count > 6)
    echo sprintf("<br>7: %2.2f &deg;C", $data_s[6] / 1000);
    if ($sen_count > 7)
    echo sprintf("<br>8: %2.2f &deg;C", $data_s[7] / 1000);
    if ($sen_count > 8)
    echo sprintf("<br>9: %2.2f &deg;C", $data_s[8] / 1000);
    if ($sen_count > 9)
    echo sprintf("<br>10: %2.2f &deg;C", $data_s[9] / 1000);
    ?>
    </body>
    </html>

    Vielleicht sieht er es ja ohne Code-Tags.