Ankündigung

Einklappen
Keine Ankündigung bisher.

Daten loggen (Temperaturen) auf Fritz!Box NAS

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Daten loggen (Temperaturen) auf Fritz!Box NAS

    Hallo,
    ich hatte ja vor einiger Zeit mal angefragt, wie man Daten (Temperaturen von 1-Wire Bausteinen)
    übers LAN auf einen USB-Stick an der Fritz!Box mitloggt. Es kamen diverse Antworten und daraus habe ich was lauffähiges zusammengebastelt.
    Für die, die's interessiert hier ne kleine Zusammenfassung:

    Die Daten sollten per UDP übers Netz empfangen, und in eine Textdatei mit dem jeweiligen Datum als Filename geschrieben werden.
    Dazu sollte netcat benutzt werden. Leider enthält die Busybox der Fritz!Box nur eine abgespeckte Version vom netcat die kein UDP unterstützt.
    Ein Vollversion kann mittels Freetz eingebaut werden. Dazu die Trunk-Version von Freetz compilieren. Diese benutzt die aktuelle Firmware der Fritz!Box, in der auch die aktuellen Sicherheitslücken gestopft sind.

    Im Eib-PC sieht das dann so aus:
    [highlight=epc]
    // Den HA7E Adapter mit den Bibilitheken von BMX einbinden
    HA7E_Init(HA7E_Debug_Important, 5052u16, 192.168.178.31, '0/3/100'b01, '0/3/101'b01 )
    // ********** Alle Temperatursensoren in der Heizung alle 2min auslesen
    HA7E_Sensor(HLHeizung,$F90000027E254D28$,HLHeizung _Temperature,'0/3/0'f16, 120u16, 0.2f16,0.0f16, BITS09 )
    HA7E_Sensor(RLHeizung,$A30000027E367A28$,RLHeizung _Temperature,'0/3/0'f16, 120u16, 0.2f16,0.0f16, BITS09 )
    HA7E_Sensor(WohnzimmerTemp,$FB0000027E31B328$,Wohn zimmerTemp_Temperature,'0/3/0'f16, 120u16, 0.2f16,0.0f16, BITS10 )
    HA7E_Sensor(AussenTemp,$5E0000027E4CBC28$,AussenTe mp_Temperature,'0/3/0'f16, 120u16, 0.2f16,0.0f16, BITS10 )

    [MacroLibs]
    //Makro-Bibliotheken
    D:/Hausbau/EibPC_Brunnenweg/MakroLibs_1.016/Bibliotheken/EnertexOneWire.lib
    D:/Hausbau/EibPC_Brunnenweg/MakroLibs_1.016/Bibliotheken/EnertexWebV2.lib
    D:/Hausbau/EibPC_Brunnenweg/MakroLibs_1.016/Bibliotheken/BMXHA7E_15a.lib

    [EibPC]
    // Die Variablen in denen die letzten gemessenen Temperaturen vom 1-Wire stehen
    HLHeizung_Temperature = 0f16
    RLHeizung_Temperature = 0f16
    WohnzimmerTemp_Temperature = 0f16
    AussenTemp_Temperature = 0f16

    CRLF = $ $
    if systemstart() then {
    stringset(CRLF, 0x0d, 0u16);
    stringset(CRLF, 0x0a, 1u16);
    } endif

    TempSend = $$
    TempSendLenght = 0u16
    TempGesendet = AUS
    if cycle(04,00) then { /* alle x min (0x,00) Temperaturen auslesen und per UDP rausschicken */
    TempSend = convert(setdate(),$$)+$,$+convert(hour(),$$)+$:$+c onvert(minute(),$$)+$:$+convert(second(),$$)+$,$;
    TempSend = TempSend + convert(HLHeizung_Temperature,$$)+$,$;
    TempSend = TempSend + convert(RLHeizung_Temperature,$$)+$,$;
    TempSend = TempSend + convert(WohnzimmerTemp_Temperature,$$)+$,$;
    TempSend = TempSend + convert(AussenTemp_Temperature,$$)+$,$;
    stringset(TempSend, 0x0D0Au16,size(TempSend));
    TempSendLenght = size(TempSend);
    sendudparray (5051u16,192.168.178.31,TempSend,size(TempSend));
    sendudparray (5051u16,192.168.178.1,TempSend,size(TempSend));
    TempGesendet = EIN
    } else {
    TempGesendet = AUS;
    // TempSend = $$
    } endif

    [/highlight]

    Die Fritz!Box mit einem USB-STick o.ä. bestücken und den Pfad zu einem Verzeichnis zum ablegen der Daten merken.
    Im Freetz der Fritz!Box dann unter CronTab folgendes eintragen:

    0 0 * * * killall netcat
    1 0 * * * netcat -l -u -p 5051 >> /var/media/ftp/uStor01/EibPC/Templog/`date "+TempLog-%Y-%m-%d.txt"`

    Cron dann noch auf Autostart setzen.
    Das startet dann zu jedem Tageswechsel ein netcat, welches dann eine frische Datei mit dem neuen Datum anlegt.
    Zu beachten: Netcat wird über "netcat" und nicht wie sonst üblich über "nc" aufgerufen. Ruft man es über "nc" auf
    gibt's nur die abgespeckte Version ohne UDP.

    So läuft's hier, es geht aber bestimmt eleganter. Ich bin für Ideen zu haben

    #2
    Hi, das ist eine coole Idee anstatt einer FTP Verbindung.

    Kannst Du die Fritzbox Anpassung einmal für Linux Dummies beschreiben. Mir sagt Freetz überhaupt nichts.

    Viele Grüße

    Michael

    Kommentar


      #3
      ich hab ja eigentlich auch keine AHnung von Linux. Es ist so, auf der Fritz!Box läuft ja ein Linux. DIe Firmware gibt's als source. AUf der Freetz Seite (freetz.org) kann man sich das aktuelle freetz runterladen. Dann braucht man ein Linux, z.B. Ubuntu in ner VM. Da entpackt man das Freetz und compiliert es. Raus kommt ein Image das man auf die FritzBox packt. Dann hat man diverse Zusatzfunktionen in der FritzBox. Welche, das kann man vor dem compilieren konfigurieren. Hängt von der FritzBox hab, die haben ja je nach Model unterschiedlich Speicher und andere Resourcen.
      Man muss also netcat dazu auswählen.

      UDP deshalb, weil der EibPc dann einfach auf's Netz schreiben kann, ohne auf irgendwelche Antworten eingehen zu müssen. Die FritzBox fängt sich dann einfach die Pakete raus und schreibt sie auf den Stick.
      War's das, was du ungefähr wissen wolltest?
      Zitat von Jambala Beitrag anzeigen
      Hi, das ist eine coole Idee anstatt einer FTP Verbindung.

      Kannst Du die Fritzbox Anpassung einmal für Linux Dummies beschreiben. Mir sagt Freetz überhaupt nichts.

      Viele Grüße

      Michael

      Kommentar


        #4
        vielen Dank verstanden, leider entfällt bei der Aktion die AVM Gewährleistung

        Kommentar


          #5
          Das stimmt. aber leider kann das enthaltene netcat halt kein UDP. Mit TCP hab ich es probiert aber nicht auf die Palette bekommen. Vielleicht schaft das ja jemand anderes???
          Da meine FritzBox(en) eh aus der bucht sind, stört mich das nicht.
          Vor drei Wochen ist mir eine beim Gewitter abgeraucht, der USB-Hub der dran hing gleich mit.
          EIB hat nix abbekommen. An den drei Phasen hab ich ein Blitzschutz von Dehn hängen, an der Telefonleitung noch nix.......

          Zitat von Jambala Beitrag anzeigen
          vielen Dank verstanden, leider entfällt bei der Aktion die AVM Gewährleistung

          Kommentar

          Lädt...
          X