RasperyPi + LCD + CSM / RS485 Platine = "FHEM-Zentrale"

Begonnen von Dirk, 15 Mai 2013, 21:29:16

Vorheriges Thema - Nächstes Thema

PeMue

Hallo Daniel,

denkst Du an so etwas?

(siehe Anhang / see attachement)
oder
(siehe Anhang / see attachement)

Ich kämpfe momentan noch mit der 4-bit Farbtiefe, die das Display laut Dokumentation können soll ;-))
Vorstellbar wäre eine Füllstand in 25 oder sogar 10 % Schritten, wo dann zusätzlich entweder oben bzw. seitlich noch der exakte Füllstand als Text (in % oder Litern) angezeigt wird.
Irgendwie stellt mein Display nach einer Weile die ganze Sache invertiert dar und nach ein paar Stunden ist es ganz aus. Ein Neustart des dameons hilft ...

Gruß PeMue
RPi3Bv1.2 rpiaddon 1.66 6.0 1xHM-CC-RT-DN 1.4 1xHM-TC-IT-WM 1.1 2xHB-UW-Sen-THPL-O 0.15 1x-I 0.14OTAU  1xCUNO2 1.67 2xEM1000WZ 2xUniroll 1xASH2200 3xHMS100T(F) 1xRFXtrx 90 1xWT440H 3xTFA30.3150 5xFA21
RPi1Bv2 LCDCSM 1.63 5.8 2xMAX HKT 1xMAX RT V200KW1 Heizung Wasser

Dirk

ZitatIch kämpfe momentan noch mit der 4-bit Farbtiefe, die das Display laut Dokumentation können soll ;-))
Echt, hab ich das in geschrieben? Das Display zeigt natürlich nur SW an.
Aber gespeichert sind die Bilder als 16-Farben-Bitmap. Und das hab ich tatsächlich mit Windows-Paint gemacht.

ZitatIrgendwie stellt mein Display nach einer Weile die ganze Sache invertiert dar und nach ein paar Stunden ist es ganz aus. Ein Neustart des dameons hilft ...
Das Display wird per SPI nur geschrieben, nicht gelesen.
Daher ist im Daemon kein echtes spiWait implementiert sondern es wird eine fest eingestellte Zeit gewartet. Wenn die Wartezeit nun zu kurz ist, das Timing weicht von Display zu Display wohl etwas ab, kann es zu solchen Fehlern kommen.
Daher kann man die Wartezeit in src/libs/rpiHardware.c in der Funktion rpiHW_spiWait Vergrössern.

void rpiHW_spiWait(void) {
int i;
for(i = 0; i < 10; i++) {
asm("NOP;");
}
}
Die 10 oben kann man vergrössern. Ggf. mal 20 Probieren.

Die Grafiken sind übrigens schick :)

Gruß
Dirk

PeMue

Hallo zusammen,

im Anhang mal was zum Spielen, das Skript im Verzeichnis script hilft beim Anschauen. Die Herstellerlogos habe ausgespart, weil ich nicht weiß, ob das lizenrechtlich problematisch sein könnte ...
Und hier noch die Hommage an Rudolf:

(siehe Anhang / see attachement)

Für Verbesserungsvorschläge bin ich offen.

Viel Spaß

Gruß PeMue

@Dirk:
Zitatvoid rpiHW_spiWait(void) {
   int i;
   for(i = 0; i < 10; i++) {
      asm("NOP;");
   }
}
Ich habe es mal mit 15 probiert und es scheint stabil zu laufen.
RPi3Bv1.2 rpiaddon 1.66 6.0 1xHM-CC-RT-DN 1.4 1xHM-TC-IT-WM 1.1 2xHB-UW-Sen-THPL-O 0.15 1x-I 0.14OTAU  1xCUNO2 1.67 2xEM1000WZ 2xUniroll 1xASH2200 3xHMS100T(F) 1xRFXtrx 90 1xWT440H 3xTFA30.3150 5xFA21
RPi1Bv2 LCDCSM 1.63 5.8 2xMAX HKT 1xMAX RT V200KW1 Heizung Wasser

Puschel74

Hallo,

sieht ja genial aus.

Ich wollte jetzt endlich mal das LCD als Anzeige benutzen (und PeMues) Skript mal durchlaufen lassen aber ...
wie nicht anders zu erwarten scheitere ich schon an der Installation des rpiLcdDaemon lt. Anleitung.


Ein
sudo mkdir /opt/rpiLcdDaemon
scheitert logischerweise mit der Fehlermeldung das das Verzeichnis bereits existiert.
Ein
sudo cp rpiLcdDaemon.tgz
scheitert mit der Meldung
ZitatFehlender ZieldateiOperand hinter rpiLcdDaemon.tgz
Als nächster also ganz frech ein
sudo ./scripts/install_startscripts
ausgeführt und dadurch die Meldung(en) erhalten
Zitatupdate-rc.d using dependency based boot sequencing
update-rc.d using dependency based boot sequencing
update-rc.d warning: default start runlevel arguments (2 3 4 5) do not match rpiLcdDaemon Default-Start values (S)
Daher bringt mir natürlich auch ein nachfolgendes
sudo /etc/init.d/rpiLcdDaemon start
nur ein müdes
ZitatFAIL Starting RasperyPi LCD Daemon : rpiLcdDaemon failed!

So. Und nun bin ich wieder so schlau wie vorher (also garnicht schlau) und bin für jede Hilfe dankbar.

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

PeMue

Hallo Puschel,

ich dachte, Du hättest schon mal Dirks Image runtergeladen? Da sollte das Ganze doch einigermaßen automatisch laufen.
Ich bin Dirk's Tester und installiere manuell:
- die wiringPi Bibliotheken werden zwingend (also auch mit kompiliertem daemon) gebraucht, diese am besten in /usr/local installieren
- dann im Verzeichnis /opt/rpiLcdDaemon/src folgenes eingeben:
make daemon
make client
make clean
- die entstandenen rpiLcdDaemon bzw. client ein Verzeichnis weiter nach oben schieben
- dann noch einmal
install_startscripts
probieren.
Im Anhang noch ein Skript, dass meinen Bildschirm nach meinem Belieben konfiguriert ...

Viel Erfolg.

Gruß PeMue
RPi3Bv1.2 rpiaddon 1.66 6.0 1xHM-CC-RT-DN 1.4 1xHM-TC-IT-WM 1.1 2xHB-UW-Sen-THPL-O 0.15 1x-I 0.14OTAU  1xCUNO2 1.67 2xEM1000WZ 2xUniroll 1xASH2200 3xHMS100T(F) 1xRFXtrx 90 1xWT440H 3xTFA30.3150 5xFA21
RPi1Bv2 LCDCSM 1.63 5.8 2xMAX HKT 1xMAX RT V200KW1 Heizung Wasser

Dirk

Zitat von: PeMue schrieb am Mo, 05 August 2013 20:11im Anhang mal was zum Spielen, das Skript im Verzeichnis
Sehr cool PeMue. Soll ich die Bilder im Github mit einchecken?

Zitat@Dirk:
Zitatvoid rpiHW_spiWait(void) {
   int i;
   for(i = 0; i < 10; i++) {
      asm("NOP;");
   }
}
Ich habe es mal mit 15 probiert und es scheint stabil zu laufen.
Gut, dann checke ich das auch mit ein.


Zitat von: Puschel74 schrieb am Mo, 05 August 2013 21:05Ein
sudo mkdir /opt/rpiLcdDaemon
scheitert logischerweise mit der Fehlermeldung das das Verzeichnis bereits existiert.
Wieso existiert das bei dir schon?

sudo cp rpiLcdDaemon.tgz
Ok, das ist natürlich Quatsch. Da fehlt das Ziel. Das habe ich beim Korrekturlesen bisher immer übersehen.
So muss der Block in der Doku aussehen, bassierend vom aktuellem Verzeichniss in dem das rpiLcdDaemon.tgz sich aktuell befindet:sudo mkdir /opt/rpiLcdDaemon
sudo cp rpiLcdDaemon.tgz /opt/rpiLcdDaemon
sudo tar -zxvf rpiLcdDaemon.tgz
cd /opt/rpiLcdDaemon


Zitatupdate-rc.d warning: default start runlevel arguments (2 3 4 5) do not match rpiLcdDaemon Default-Start values (S)
Das ist komisch. Auf was für einem Linux bassiert das System auf deinem Raspberry? Ich hatte auf Raspian aufgesetzt.

Gruß
Dirk

PeMue

Hallo Dirk,

ZitatSoll ich die Bilder im Github mit einchecken?
Ich würde noch warten, bis sich das ganze etwas "stabilisiert" und wir wissen, was so gebraucht wird bzw. die Nomenklatur klar ist. Die Bilder sind alle mit 2 Bit (s/w) Farbtiefe, bei 4 Bit bekomme ich eine Fehlermeldung des daemons.

Zitatsudo mkdir /opt/rpiLcdDaemon
sudo cp rpiLcdDaemon.tgz /opt/rpiLcdDaemon
Danach müsste noch ein
cd /opt/rpiLcdDaemonsonst kommt beim nächsten Befehl
Zitatsudo tar -zxvf rpiLcdDaemon.tgz
eine Fehlermeldung ;-)

Gruß PeMue
RPi3Bv1.2 rpiaddon 1.66 6.0 1xHM-CC-RT-DN 1.4 1xHM-TC-IT-WM 1.1 2xHB-UW-Sen-THPL-O 0.15 1x-I 0.14OTAU  1xCUNO2 1.67 2xEM1000WZ 2xUniroll 1xASH2200 3xHMS100T(F) 1xRFXtrx 90 1xWT440H 3xTFA30.3150 5xFA21
RPi1Bv2 LCDCSM 1.63 5.8 2xMAX HKT 1xMAX RT V200KW1 Heizung Wasser

Dirk

ZitatIch würde noch warten, bis sich das ganze etwas "stabilisiert" und wir wissen, was so gebraucht wird bzw.
Dann warte ich noch.

ZitatDie Bilder sind alle mit 2 Bit (s/w) Farbtiefe, bei 4 Bit bekomme ich eine Fehlermeldung des daemons.
Dann hat mich das Windows Paint bei der Auswahl des Dateiformates angelogen. 2 Bit währen aber auch logisch. Was hast du für ein Programm genommen?

Gruß
Dirk

PeMue

ZitatWas hast du für ein Programm genommen?
Ich habe IrfanView 4.25 portable genommen.

Gruß PeMue
RPi3Bv1.2 rpiaddon 1.66 6.0 1xHM-CC-RT-DN 1.4 1xHM-TC-IT-WM 1.1 2xHB-UW-Sen-THPL-O 0.15 1x-I 0.14OTAU  1xCUNO2 1.67 2xEM1000WZ 2xUniroll 1xASH2200 3xHMS100T(F) 1xRFXtrx 90 1xWT440H 3xTFA30.3150 5xFA21
RPi1Bv2 LCDCSM 1.63 5.8 2xMAX HKT 1xMAX RT V200KW1 Heizung Wasser

Puschel74

Moinsen,

ZitatWieso existiert das bei dir schon?

Keine Ahnung.
Ich hab das Image von dir auf meine SD-Karte gespielt und den RasPi gebootet und das Verzeichnis ist vorhanden.
Ich kann heute abend mal den inhalt des Verzeichnisses posten.

ZitatDas ist komisch. Auf was für einem Linux bassiert das System auf deinem Raspberry? Ich hatte auf Raspian aufgesetzt.
Auf welchem Kernel Wheezy beruht müsste ich jetzt googlen.

Grüße und danke schonmal ihr 2
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Dirk

ZitatIch hab das Image von dir auf meine SD-Karte gespielt und den RasPi gebootet und das Verzeichnis ist vorhanden.
Aha, na dann sollte das Verzeichnis auch drauf sein.
Somit musst du aber gar nix machen.

Display anstecken -> einschalten -> Läuft.
Wenn ich mich an die letzten Threads erinnere lief das bei dir doch bereits?

Gruß
Dirk

Puschel74

Hallo,

ZitatWenn ich mich an die letzten Threads erinnere lief das bei dir doch bereits?

Ja. Das lachende Haus schaut mich auch brav an.
Ich bin jetzt nur am schauen wie ich PeMues *.gifs zum durchlaufen bringe.

Daher dachte ich (war wohl doch nicht so das ich das mal wieder versucht habe ^^) ich muss den Daemon noch installieren.
Ich hab natürlich mit keinem Gedanken dran gedacht das der ja schon installiert sein muss und laufen muss um überhaupt die
Shutdown und Bootmeldung zu sehen.

Und die Fail-Meldung kommt vermutlich daher das der Daemon ja schon gestartet ist und nicht nochmal gestartet werden kann
(wozu auch).

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

PeMue

Hallo Puschel,

ZitatIch bin jetzt nur am schauen wie ich PeMues *.gifs zum durchlaufen bringe.
ich möchte bemerken, dass diese Bilder BMPs sind, mit anderen Formaten kommt der daemon vermutlich nicht klar.

Einfach das ZIP z.B. auf einem Windows Rechner auspacken, z.B. auf /tmp auf dem Raspberry Pi kopieren und in /tmp/scripts das Skript mit <Verzeichnis> als Parameter aufrufen. Dann sollte das Display die Bilder "durchscrollen". Bin gerade dabei, die Zisterne in 20 % Schritten zu erstellen. Da ist das Windows 7 Paint gar nicht so schlecht ...

Gruß PeMue
RPi3Bv1.2 rpiaddon 1.66 6.0 1xHM-CC-RT-DN 1.4 1xHM-TC-IT-WM 1.1 2xHB-UW-Sen-THPL-O 0.15 1x-I 0.14OTAU  1xCUNO2 1.67 2xEM1000WZ 2xUniroll 1xASH2200 3xHMS100T(F) 1xRFXtrx 90 1xWT440H 3xTFA30.3150 5xFA21
RPi1Bv2 LCDCSM 1.63 5.8 2xMAX HKT 1xMAX RT V200KW1 Heizung Wasser

Puschel74

Hallo,

Zitatdass diese Bilder BMPs sind

Ja ok. Dann eben *.bmp`s ^^

Zitatauf dem Raspberry Pi kopieren und in /tmp/scripts das Skript mit <Verzeichnis> als Parameter aufrufen.

Danke für den Tipp - gleich mal ausprobieren.

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Dirk

Zitatich möchte bemerken, dass diese Bilder BMPs sind, mit anderen Formaten kommt der daemon vermutlich nicht klar.
Im unkomprimierten BMP kann man die Pixeldaten halt ohne viel Aufwand auf das Display schieben. Daher wird hier ausschließlich BMP unterstützt.

Gruß
Dirk