Temperaturmesser mit den Raspberry PI

Rocker

Enthusiast
Thread Starter
Mitglied seit
07.06.2008
Beiträge
583
Ort
Oberfranken
Hallo,

Ich möchte eine Messbox bauen mit der ich ca. 10 temp. Sensoren auslesen kann.
Als System auf dem PI läuft Raspian.
Ich habe ich mich an folgende Anleitungen gehalten, und bis jetzt funktioniert alles wie es soll:

https://www.youtube.com/watch?v=yinhXFCJFpQ
https://www.youtube.com/watch?v=gVRCDQw7EFE

Code ist dieser :
https://gist.github.com/adlerweb/77ce74ff8c98ead2a231
diesen habe ich halt auf meine IP und Sensor ID´s modifiziert.

Leider läuft das Programm nur, wenn ich es per
Code:
php -f deamon.php
ausführe
das heißt wenn ich mich von SSH/Putty abmelde stoppt auch die Auswertung und die Sensoren werden nicht mehr ausgelesen.

Eingeloggt in SSH/Putty und die deamon.php gestartet:
Anhang anzeigen 322817

Putty geschlossen ohne die deamon.php zu stoppen:
Anhang anzeigen 322818

Man sieht das das auslesen der Sensoren sofort stoppt.

Ich hätte aber gerne, dass die Temperaturaufzeichnung, also das php Skript beim Systemstart des PI gestartet wird.
Also, sollte einmal der Strom ausfallen, soll der PI wieder starten (macht er ja von alleine) und er soll das loggen Selbstständig fortführen.

Ich habe jetzt schon ein paar Sachen probiert die ich auf Google gefunden habe nur leider hat bisher nichts funktioniert.

z.B.

habe ich die /etc/rc.local
am ende vor dem exit um folgendes ergänzt.

Code:
cd /etc/1wire/
php -f deamon.php

Der PI startet ohne Fehlermeldung, nur leider wird das Script nicht ausgeführt und die Temperaturen werden nicht geloggt. (die deamon.php befindet sich natürlich in diesem Verzeichniss.)

Hat jemand eine Idee wie ich das in den autostart einpflegen könnte?

Gruß

Rocker
 
Zuletzt bearbeitet:
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Ich hab mir kürzlich für was ähnliches einen "Daemon" geschrieben.

Würde bei dir etwa so aussehen:

Code:
#!/bin/bash
nohup php -f /etc/1wire/daemon.php 0<&- &>/dev/null &

Was passiert da? nohup steht für no hang up, sprich der Prozess bleibt offen, wenn du deine Session beendest. Das "&" am Ende sorgt dafür, dass der Prozess in den Hintergrund geschickt wird. Und "0<&- &>/dev/null" leitet jeglichen Output der sonst auf der Shell auftauchen würde nach /dev/null.
Das schreibst du ganz normal in eine Datei mit einem Namen deiner Wahl, dann noch chmod u+x und zum Abschluss legst du einen cronjob an:

@reboot /pfad/zum/script.sh

Probiers mal so, hat für mich super funktioniert.

Edit: Nicht vergessen den Eintrag in der rc.local auszukommentieren, wenn du meine Methode testest ;)
 
Zuletzt bearbeitet:
Juhu klasse es funktioniert Vielen Dank für die Hilfe!!

Ich habe Google schon gefragt, aber nicht wirklich etwas gefunden was mir Helfen kann ich würde gerne noch folgende Geräte auslesen:
Anhang anzeigen 322846
Anhang anzeigen 322847


Soweit ich das gelesen habe kann man diese Geräte über die IR LED´s auslesen wie z.B. hier beschrieben:

volkszaehler.org - wiki - Ein ganz simpler IR-Leser

aber wie übernehme ich diese dann in den Volkszähler, kann ich diese einfach in meine vorhandene PHP einbinden?

Gruß Rocker
 
Hi Rocker,
da kann ich dir jetzt leider weniger helfen, da ich deine Anwendung nicht kenne und von PHP-Programmierung auch eher wenig Ahnung habe.

Gruß DerMock
 
Installier dir tmux und mach statt nohup

Code:
tmux new-session -d php -f daemon.php

Dann läuft das nicht blind im Hintergrund sondern du kannst mit
Code:
tmux attach
jederzeit wieder die Ausgabe zu dir holen.
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh