Am Sunday 14 March 2010 09:56:09 schrieb Berthold Bredenkamp:
> Ich habe zwei Ethersex Rechner, die über RFM12 via IP verbunden sind. Nun
> möchte ich auf dem Rechner 1 auf dessen LCD Display die Temperatur Daten
> (1Wire) des anderen anzeigen. Wie kann ich die Daten auf dem 1. Rechner
> empfangen, gibt es da ein Beispiel für Control6?
>
>
>
> Gruß
>
>
>
> Berthold

Hallo Berthold,

Ich hab das so gemacht: (bzw. was dümmeres ist mir nicht eingefallen ;) - aber 
so geht es wenigstens)

Sender: siehe wetter_tty.src
Empfänger: siehe temp_tty1.src

Und zwar lege ich auf beiden Esex'en Globale Variablen an die ich mit "c6 set" 
von der Sender Seite aus per esend / uesend auf dem Empfänger setzen kann. 
Der Empfänger stellt diesen Inhalt der Globalen Variable dann nur auf dem LCD 
dar.
Ob es eine andere Möglichkeit gibt hat sich mir noch nicht erschlossen. uesend 
(per udp) hat zumindest problemloser mit der Formatierung funktioniert.

Gruß,
Mirko




CONTROL_START
    CLOCK_USED()
    ECMD_GLOBAL(TEMP_INT, 0, int16_t);
    ECMD_GLOBAL(TEMP_EXT, 0, int16_t);
    ECMD_GLOBAL(HUMID, 0, int16_t);
    ECMD_GLOBAL(DRUCK, 0, int16_t);

    THREAD(update_clock)
        TTY_SELECT(clock)
        TTY_HOME()
        TTY_WRITE_TIME()
        WAIT(1)
    THREAD_END(update_clock)

    THREAD(update_temp)
        int16_t Temperatur = ONEWIRE_GET(103458a901080086);

        TTY_SELECT(temp)
        TTY_HOME()
        TTY_WRITE(`"%2d,%d?C"', Temperatur / 10, Temperatur % 10)

        WAIT(10)
    THREAD_END(update_clock)

    THREAD(update_wetter)
        TTY_SELECT(humid)
        TTY_HOME()
        ON HUMID > 1000 DO
            HUMID = HUMID / 10;
        END
        TTY_WRITE(`"%2d,%d%%rF "', HUMID / 10, HUMID % 10)

        TTY_SELECT(text)
        TTY_HOME()
        TTY_WRITE(`"%2d,%02d?C "', TEMP_EXT / 100, TEMP_EXT % 100)

        TTY_SELECT(druck)
        TTY_HOME()
        ON DRUCK > 4095 DO
            DRUCK = DRUCK / 10;
        END
        TTY_WRITE(`"%4d "', DRUCK)

        WAIT(5)
    THREAD_END(update_wetter)

    ON STARTUP DO
        TTY_CLEAR()
        TTY_WRITE("Moin Mirko\n")

        TTY_CREATE_WINDOW(clock, 1, 8, 1, COLS - 8)
        THREAD_START(update_clock)

        TTY_CREATE_WINDOW(temp, 1, 7, 1, 0)
        THREAD_START(update_temp)

        TTY_CREATE_WINDOW(humid, 1, 9, 2, 0)
        TTY_CREATE_WINDOW(text, 1, 8, 3, 0)
        TTY_CREATE_WINDOW(druck, 1, 8, 3, COLS - 8)
        THREAD_START(update_wetter)
    END 

CONTROL_END
CONTROL_START
    CLOCK_USED()
    ECMD_GLOBAL(TEMP_INT, 0, int16_t);
    ECMD_GLOBAL(TEMP_EXT, 0, int16_t);
    ECMD_GLOBAL(HUMID, 0, int16_t);
    ECMD_GLOBAL(DRUCK, 0, int16_t);


    THREAD(update_clock)
        TTY_SELECT(clock)
        TTY_HOME()
        TTY_WRITE_TIME()
        WAIT(1)
    THREAD_END(update_clock)

    THREAD(update_temp)
        TTY_SELECT(temp)
        TTY_HOME()

        ON (CLOCK_SEC % 10) == 0 DO
            TEMP_INT = ONEWIRE_GET(10e2ce7001080049);
            TTY_WRITE(`"%2d,%d?C "', TEMP_INT / 10, TEMP_INT % 10)
        END

        ON (CLOCK_SEC % 10) == 3 DO
            HUMID = SHT_GET_HUMID();
            TTY_WRITE(`"%2d,%d%%rF"', HUMID / 10, HUMID % 10)
            UESEND(44.128.91.225, "c6 set HUMID %d%d\n", HUMID / 10, HUMID % 
10);
        END

        ON (CLOCK_SEC % 10) == 6 DO
            TEMP_EXT = SHT_GET_TEMP();
            TTY_WRITE(`"%2d,%d?C "', TEMP_EXT / 100, TEMP_EXT % 100)
            UESEND(44.128.91.225, "c6 set TEMP_EXT %d%d\n", TEMP_EXT / 100, 
TEMP_EXT % 100);
        END

        ON (CLOCK_SEC % 10) == 8 DO
            dnl int32_t Druck = CALC_DRUCK(ADCWert);
            DRUCK = ADS7822_GET(9);
            TTY_WRITE(`"%4d   "', DRUCK)
            UESEND(44.128.91.225, "c6 set DRUCK %4d \n", DRUCK);
        END

        WAIT(1)
    THREAD_END(update_temp)

dnl    THREAD(logging)
dnl        ON CLOCK_SEC == 00 DO
dnl            WAIT(1)
dnl            VFS_LOG("extlog", "date: %04d-%02d-%02d %2d:%02d:%02d 
Humid:%2d.%d Temp: %2d.%d Press: %4d Temp_Int: %2d.%d\n", CLOCK_YEAR, 
CLOCK_MONTH, CLOCK_DAY, CLOCK_HOUR, CLOCK_MIN, CLOCK_SEC, HUMID/10, HUMID%10, 
TEMP_EXT/100, TEMP_EXT%100, DRUCK, TEMP_INT/10, TEMP_INT%10);
dnl        END
dnl        WAIT(1)
dnl    THREAD_END(logging)

    ON STARTUP DO
        TTY_CLEAR()

        TTY_CREATE_WINDOW(clock, 1, 9, 0, 0)
        THREAD_START(update_clock)
        TTY_CREATE_WINDOW(temp, 1, 9, 1, 0)
        THREAD_START(update_temp)

dnl        THREAD_START(logging);
    END

CONTROL_END
_______________________________________________
Ethersex-devel mailing list
Ethersex-devel@list.zerties.org
https://list.zerties.org/cgi-bin/mailman/listinfo/ethersex-devel

Antwort per Email an