Ergebnis 1 bis 6 von 6

Thema: Mikrocontroller an AVM. Frage zu: Mögliche fritzboxinterne Kommunikation

  1. #1
    IPPF-Fan
    Registriert seit
    31.07.2006
    Beiträge
    124

    Mikrocontroller an AVM. Frage zu: Mögliche fritzboxinterne Kommunikation

    Hallo,

    ich habe Lust etwas zubasteln. Ich möchte gerne einen Mikrocontroller über ein USB-RS232 an die Fritzbox anschließen. Ich habe das mal skizziert.

    Alles ausserhalb der Firtzbox kriege ich in den kriff. Ein C-Programm zuschreiben das LCD, Taster, LED, I2C bedient traue ich mir auch zu. Aber ich möchte das auch über http bedienen können.

    Ich möchte eine kleine Seite auf der Fritzbox haben mit der ich die LEDs an/aus schalten kann und die Temperatur anzeigen lassen kann. Dafür müsse das C-Programm irgendwie mit dem httpd kommunizieren können. Gibt es da Beispiele für?

    Gruß

    Snowyrain
    Angehängte Grafiken Angehängte Grafiken

  2. #2
    IPPF-Fan Avatar von carlofbf
    Registriert seit
    28.12.2005
    Ort
    Aachen
    Beiträge
    251
    soweit ich mich entsinne kann httpd auch cgi. und cgi gibs auch mit c bzw c++.
    dann gibs tolle libs, die dir die serielle arbeit abnehmen.

    ich denke dann hasts geschafft

  3. #3
    IPPF-Einsteiger
    Registriert seit
    24.05.2008
    Beiträge
    6

    Hab was ähnliches vor

    Tach auch,

    ich habe was ähnliches vor. Daher würden mich Ergebnisse interessieren.

    Allerdings will ich meine Fritzbox BACnet fähig machen. (Isch aber noch ein langer weg)

    siehe auch bacnet4linux.

    Grüßle

  4. #4
    IPPF-Fan
    Registriert seit
    31.07.2006
    Beiträge
    124
    Hallo,

    ich habe mich erstmal in c/c++ mittels CGI-Skrippten beschäftigt. Dann habe ich mir XML angesehen. Ich habe mir gedacht die Konfigurationsdatei sollte in XML sein. Jetzt versuche ich mich gerade mit einem Xml-Parser. Der soll, durch ein CGI angestoßen, aus der XML eine HTML Datei machen. Mit der seriellen Schnittstelle soll ein extra Thread kommunizieren. Die Kommunikation zwischen CGI und dem Extra-Thread soll über TCP laufen.

    Aber wie gesagt erstmal mich in libxml2 einarbeiten. In Anhang habe ich mal die Xml-Datei angefügt.

    EDIT:
    Ich bin gerade einen kleinen Schritt weiter. Ich kann mir jetzt über ein cgi-skript aus der XML-Datei eine HMTL-Datei erzeugen lassen. Das Ergebniss sieht wirklich nicht toll aus, aber es wird etwas angezeigt. In den nächsten Tage werde ich versuchen die POST-Werte (nach der XML Datei) in zusendende Strings um zuwandeln. Die wenigen bisherigen Ergebnisse sind in der Datei versuche.zip angefügt.
    EDIT END


    Gruß

    Snowyrain
    Angehängte Dateien Angehängte Dateien
    Geändert von snowyrain (26.05.2008 um 17:02 Uhr)

  5. #5
    IPPF-Zweitausend-VIP
    Registriert seit
    15.08.2005
    Beiträge
    2.039
    Hallo,

    ich möchte meine Heizung (Luftwärmepumpe Tecalor THZ 303 SOL) über deren RS232-Schnittstelle und einen RS232-USB 2.0-Adapter (Digitus x) mit meiner Fritzbox 7170 verbinden und ein paar Daten auslesen.
    Ggf. möchte ich die Daten grafisch ausgeben/anzeigen.

    Nun habe ich in Deinem ersten Beitrag oben gelesen, dass Du ein LCD-Display anschließen willst. Hast Du schon eins? Wie hast Du es an Deiner Fritzbox angeschlossen?

    Vielen Dank für Dein Feedback!

    PS:
    Hier habe ich ein paar Links zu relevanten Threads zum Thema.
    Eine ähnliche Diskussion hatte ich hier im Forum gestartet.
    Interessant ist auch dies hier.
    .
    Gruß, ΑΩ____Freetz-Wiki___xobztirf___wehavemorefun___TAE/RJ45___Tel./Kabelmodem___Anschlusspläne

    AVM Fritzbox (7170
    .04.88-freetz-devel-12269) / Thomson THG540 Kabelmodem / KD Paket Comfort (DL/UL: 32/2 Mbit/s)
    Synology Disk Station DS214se / 2x Seagate NAS ST2000VN000 2TB + 1x extern Samsung Spinpoint HD103SJ 1TB
    Samsung LE40B650T2PXZG LCD TV (FW T-CHLCIPDEUC-2006.0 + SamyGO) /
    2x Siemens Gigaset M740AV DVB-T (VDR-NG)

  6. #6
    IPPF-Tausend-VIP Avatar von bodega
    Registriert seit
    06.06.2006
    Ort
    NRW
    Beiträge
    1.980
    Hi snowyrain,

    Programme können mit dem httpd der Busybox ganz einfach bedient werden. Hier ein Beispiel, ausgeschnitten aus aktuellem Projekt:
    Code:
    #!/bin/sh
    
    cat << EOF
    Content-Type: text/html
    
    
      <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    	 "http://www.w3.org/TR/html4/loose.dtd">
      <html>
      <head>
      <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
      <meta http-equiv="Content-Language" content="de">
      <meta http-equiv="Expires" content="0">
      <meta http-equiv="Pragma" content="no-cache">
      <title>Test.CGI</title>
      </head>
    
      <body>
    EOF
    
    ###############################################
    
    # read POST variables
    read -r POST_DATA
    POST_DATA=`echo $POST_DATA | sed -e 's/&/ /g'`
    
    # durch parameter laufen:
    for var in $POST_DATA; do
    
    	if [ -z "$INPUT1" ]; then
     	  INPUT1=$(echo $var | grep 'cmd=' | sed -e 's/cmd\=//' -e 's/\&.*//g')
    	  INPUT1=$(echo "$INPUT1" | sed -e "s/%0D//g" -e "s/%0A/\n/g")
    	  INPUT1=$(/bin/busybox httpd -d "$INPUT1")
    	fi
    
    	if [ -z "$INPUT2" ]; then
     	  INPUT2=$(echo $var | grep 'test=' | sed -e 's/test\=//' -e 's/\&.*//g')
    	  INPUT2=$(echo "$INPUT2" | sed -e "s/%0D//g" -e "s/%0A/\n/g")
    	  INPUT2=$(/bin/busybox httpd -d "$INPUT2")
    	fi
    done
    
    echo "INPUT1: $INPUT1<br>INPUT2: $INPUT2"
    
    if [ ! -z "$INPUT1" ]; then
    echo "<pre>"
    $INPUT1
    echo "</pre>"
    fi
    
    ###############################################
    
    cat << EOF
        <p>
        <form name='test_post' method='post'>
          POST: <input type='text' name='cmd' value='ls -la'>
    	    <input type='text' name='test' value='das ist ein test'>
    	    <input type='submit' value='Befehl ausführen'>
        </form>
    
      </body>
      </html>
    
    EOF
    Du könntest hiermit die Ausgaben von Programmen anzeigen lassen. Um das Webinterface mit Konfig-Werten zu füllen, eignen sich Shellskripte in der Form:

    Code:
    #!/bin/sh
    CFG1="Konfig Wert1"
    CFG2="Konfig Wert2"
    CFG3="Konfig Wert3"
    Diese bindest du dann nur noch in das Webinterface ein. Danach stehen die Werte in den Variablen $CFG1 - $CFG3 zur Verfügung:
    Code:
    . ./config.sh
    echo "$CFG1"
    echo "$CFG2"
    echo "$CFG3"
    Das C-Programm könnte eine solche "config.sh" erstellen, bzw. das Webinterface.
    Geändert von bodega (24.07.2008 um 20:39 Uhr)
    gruß
    Marco

    Router: 2 x FB7170

Ähnliche Themen

  1. Antworten: 1
    Letzter Beitrag: 11.02.2011, 04:54
  2. Antworten: 4
    Letzter Beitrag: 17.03.2009, 17:52
  3. mögliche DSL-Geschwindigkeit
    Von NWK1988 im Forum 1&1 DSL
    Antworten: 2
    Letzter Beitrag: 05.12.2008, 19:51
  4. Antworten: 1
    Letzter Beitrag: 04.12.2006, 09:47
  5. Mögliche Setup
    Von tom-tom im Forum Asterisk Allgemein
    Antworten: 7
    Letzter Beitrag: 25.10.2004, 22:34

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •