• Du musst dich registrieren, bevor du Beiträge verfassen kannst. Klicke auf Jetzt registrieren!, um den Registrierungsprozess zu starten. Registrierte User surfen werbefrei, können Suchen durchführen und sehen die volle Darstellung des Forums mit vielen anderen Unterforen!!!

WLAN-Thermometer selbst bauen mit Raspberry Pi

@Joe
Der Mechanismus für das logfile läuft zur Zeit so:
Beim Start erzeuge ich aus der Uhrzeit und dem Datum einen eindeutigen Dateinamen. Darauf setzte ich dann einen symbolischen Link, der immer TERMOLOG.csv heisst.
Ich schlage vor, in der conf einen Schalter einzubauen (Log fortsetzen oder neu). Je nachdem muss ich dann nur das Setzen des symbolischen Links überspringen.

Grüßle und Tschöh!


Armin
(Mobil)
 
@Joe
Der Mechanismus für das logfile läuft zur Zeit so:
Beim Start erzeuge ich aus der Uhrzeit und dem Datum einen eindeutigen Dateinamen. Darauf setzte ich dann einen symbolischen Link, der immer TERMOLOG.csv heisst.
Ich schlage vor, in der conf einen Schalter einzubauen (Log fortsetzen oder neu). Je nachdem muss ich dann nur das Setzen des symbolischen Links überspringen.

Hallo Armin,

genau sowas, wann gibt es den die Version mit dieser Änderung? ;-)

Edit: oder es steht der Name der Datei in der Config (statt nur dem flag) --> dann kann Phantomias den Namen über den GUI vorgeben den der User für das Log haben will und du musst nur beim starten den symlink auf den namen in der config machen.
Edit Edit: bitte auch die conf von /etc/WLANThermo/ nach z.B. /var/www/conf/ verschieben, es muss ein Unterordner sein da der watchdog nur auf Verzeichnissebene funktioniert, sonst wird wenn z.B. die conf in /var/www/ liegt bei jeder Änderung einer Datei in diesem Verzeichniss der watchdog aktiv!

LG

Joe
 
Zuletzt bearbeitet:
Hab ich doch heute Post!! Hab ich eigentlich ne PM geschrieben!? Am Kopf kratz! Hat der Kerle doch einfach meine Adresse aufgeschrieben! :D Na sowas!

Vielen Dank Marco!

Jetzt muss ich doch tatsächlich noch eins bauen! ;-)
Grüßle und Tschöh!

Armin
 
Gern geschehen. Man sollte heutzutage immer aufpassen, wem man welche Daten preisgibt.
Über einen kurzen Baubericht würde ich mich freuen.

Grüße Marco
 
Zuletzt bearbeitet:
Neues Minor Release!

Hallo Freunde,

habe mal die Anregungen von Joe umgesetzt (fast alle).

Änderungen in 0.1.0-2:

1. Bugfix: In der Info wurde nicht die korrekte build-version aus der Conf angezeigt.
2. Konfiguration wurde von /etc/conf/WLANThermo nach /var/www/conf verlagert.
3. In der Sektion ['Logging'] gibt es einen neuen Parameter 'write_new_log_on_restart' . Ist dieser auf 'True' gesetzt, wird bei jedem Restart ein neues Logfile angelegt. Bei 'False wird an das alte Logfile angehangen (so eines vorhanden ist! Ansonsten wird auch ein Neues angelegt.)
4. Email-Alert ist jetzt per Default ausgeschaltet.
5. Die Pfeile aus der Beta zur Anzeige von Über- und Untertemperatur im LCD sind drin.
6. Doku überarbeitet.

Paket wie immer hier:

http://www.a-thinnes.de/wlanthermometer/Debian_Paket/wlanthermo.deb

Bitte nach der Installation die Konfiguration aus der alten Datei /etc/conf/WLANThermo/WLANThermo.conf übernehmen und den neuen Parameter ergänzen! Zukünftig liegt nach der Installation immer das alte Backup unter WLANThermo.conf.old im Verzeichnis /var/www/conf.

Viel Spaß

Grüßle und Tschöh!

Armin
 
Zuletzt bearbeitet:
Hallo Jungs,

das ging ja super prompt!

@Armin

Aber das Paket hat einen Fehler, ich musste das /var/www/ händisch aus dem Paket herausholen sonst lief der Installer nicht durch!

Beim durchsehen des Paketes habe ich gesehen das der watchdog leider nicht in der aktuellen Version dabei ist. Es müsste dabei nur der Pfad zur Config angepasst werden und der zweite Dienst installiert werden.

Zeile 13 von
Code:
cf = '/etc/WLANThermo/WLANThermo.conf'
auf
Code:
cf = '/var/www/conf/WLANThermo.conf'

und in der Zeile 49 von
Code:
wdd = wm.add_watch('/etc/WLANThermo', mask) #, rec=True)
auf
Code:
{wdd = wm.add_watch('/var/www/conf', mask) #, rec=True)

ich habe dazu folgende Datei /etc/init.d/WLANThermoWD mit folgendem Inhalt:
Code:
#!/bin/sh
# Starts and stops rpc.mountd
#
### BEGIN INIT INFO
# Provides:          WLANThermoWD
# Required-Start:
# Required-Stop:
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Startet WLANThermo Watchdog
# Description:       Startet WLANThermo Watchdog
### END INIT INFO

case "$1" in
start)

    python /usr/sbin/wlt_2_watchdog.py >/dev/null &
    echo "Starting WLAN Thermometer watchdog"

;;

stop)

    kill $(ps aux|grep "wlt_2_watchdog.py"| grep -v grep |awk '{print $2}')
    echo "Stopping WLAN Thermometer watchdog"

;;

restart)
    $0 stop
    $0 start
;;

*)
        echo "Usage: $0 {start|stop|restart}"
        exit 1
esac

@Phantomias:

Zum Neustarten des Services nach z.B. einer Fühlertyp Änderung musst du also folgendes über den GUI machen:
1.) Fühlertyp neu setzten
2.) den Config Eintrag write_new_log_on_restart in der Seketion [Logging] auf false setzen
3.) in der Config Sekton [ToDo] den Parameter restart_thermo auch auf true setzen

Den Punkt drei würde ich immer extra zum Schluss Schreiben also alle anderen Änderungen vorher Schreiben um dann die config erneut mit dem restart_thermo = true beschreiben.
--> am Besten die Sektionen in Punkt 2 u. 3. Anlegen falls diese nicht da sind.

LG

Joe
 
Zuletzt bearbeitet:
Okay, werd mich bemühen, wobei sicher die eine oderandere frage kommen wird :hammer:

Hier mal eine vorschau auf die config.
Derweil nur eine datei ohne funktion. Sobald alle werte korrekt angezeigt werden
Beschäftige ich mich mit der übergabe und dem speichern....
Wiegesagt Zeit ist mangelwahre aber ich bin dabei...
500473d1365625232-wlan-thermometer-selbst-bauen-mit-raspberry-pi-image.jpg


Edit: Aja wünsche/vorschläge zum design bitte schreiben ;-)
Und ja es kommt noch ein register für die anderen Einstellungen hinzu...
Lg

image.jpg
 

Anhänge

  • image.jpg
    image.jpg
    196,1 KB · Aufrufe: 710
Zuletzt bearbeitet:
Hallo Phantomias,

das schaut aber Super aus!

Wie löst du das Problem das z.B. ich nur vier Sensoren haben, werden bei mir nun immer die 8 Angezeigt?

Deshalb war meine Grundidee dies auch in die Konfig zu Schreiben ohne es im Gui verändern zu können, weil wenn die Hardware mit vier gebaut wird dann...

Wenn du Hilfe / Unterstützung beim schreiben der Config brauchst melde dich!

LG

Joe
 
Hi Joe, das mit nur 4Sensoren hab ich derzeit
Nicht berücksichtigt, aber ich denke mit ein paar
checkboxen und einer if schleife wäre das
schnell erledigt, in der config machen wir
Einfach einen eintrag für jeden kanal
Mit true oder false.

In der tat steh ich vor 2kleinen problemen
parse_ini_file funktioniert nicht zum auslesen
Weil er mit den email parametern nicht zurecht kommt.
Hab jetzt eine funktion die mir die config einliest.
Also ein mehrdimensionales array.
Zugraufen kann ich auf die werte mit
$ini['sensoren'][ch0]
Wie kann ich hier die null hochzählen lassen mit
$i ? Hab derzeit die arrays in eine variable
Zwischengelagert aber es muss ja auch anders gehen oder?

2tes Problem
Wenn ich die error ausgabe aktiviere bekomme
Ich ein fehlermeldung alla undifined array....
Wobei die array werte kann ich korrekt ausgeben lassen
Und funktionieren?!

Event. hast du einen tip für mich

Lg
 
Hallo Phantomias,

wenn du mir den Quellcode zukommen lassen kannst schau ich mir das gerne an.
Ich habe einfach bei dem einen Mail Parameter den Wert in Anführungszeichen gesetzt dann Funktioniert die parse_ini Funktion wieder, auch Armin wird damit kein Problem haben.

Das schöne bei mehrdimensionalen Arrays ist das du das wie du schreibst in einer Schleife durchlaufen kannst z.B.:
Code:
<?php
 for ($i = 0; $i <= 4; $i++){
  $ini["sensoren"]["ch" + $i] = "Test";
 }
?>

LG

Joe
 
Jep das Beispiel schaut genauso aus als könnte ich das brauchen ;-)

Hmmm vermutlich kommt die funktion auch mit der mailadresse nich zu
recht und deswegen die fehlermeldung...

Danke mal für die Tips!

Wenn du willst kann ich dir die config.php
gerne schicken. Aber es ist derzeit wuasi nur
ein formular, Es werden zwar die Fühler etc.
schon richtig angezeigt und das wars auch schon
Die checkboxen für websound und die plotter
Farben fehlen noch. Dann die ganze übergabe der
daten (denke wir sollten ein affenformular machen?! mit
einer auswertung der Daten...) und dann den
String bearbeiten und neu schreiben...

Also wie gesagt wenn du willst lass ichs dir
zukommen
 
Hallo Phantomias,

wenn ich nicht mehr weiter weiß bild ich einen Arbeitskreis... :hammer:

Ich helfe dir gerne weiter einfach, Mail, PN oder hier ich bleib dran :anstoßen:

LG

Joe
 
Ja ein Arbeitskreis ist immer gut :-D

Wenn du aber schreibst dass du parse_ini_file
Nutzt und die email in "" gesetzt hast muss
Ich ja davon ausgehen dass eine configdatei
Bei dir und von dir existiert ;-)

Werd dir auf jeden fall mal die config zukommen
Lassen damit du event. Jetzt schon mal drüber
schauen kannst was man anders/besser machen
könnte...
 
hi Leute.

würde einer von euch,mal versuchen, den raspi zu einem AP zu machen?
habe gestern 3 Anleitungen getestet und keine hat bei mir Funktioniert.

hab den selben stick wie Arminth, der laut Google AP fähig sein soll.

entweder ist das mit dem stick falsch oder ich bin zu blöd dafür :hammer:

MFG
samson82
 
Es kann daran liegen, dass der Kernel nicht mit den notwendigen Optionen kompiliert ist. Ich habe es auch drangegeben und nutze einen AP vom Aldi für 27 Euro.

Grüßle und Tschöh!


Armin
(Mobil)
 
Zurück
Oben Unten