+ Antworten
Seite 1 von 11 1 2 3 ... LetzteLetzte
Ergebnis 1 bis 10 von 104
  1. #1
    Registriert seit
    Aug 2009
    Ort
    Bretten
    Beiträge
    198

    Post iPS Server für die Hutschiene im Eigenbau

    Ich stelle hier eine Möglichkeit vor einen iPS Server auf Raspberry Pi B2 Basis incl. TFT Display im Hutschienengehäuse günstig selbst zu bauen.

    Der Server ist neben Gehäuse, Display und Netzteil noch auf der Frontseite mit einem Taster, zwei Statusleds und einem Photosensor ausgestattet. Im innern steckt noch ein Sensormodul zur Messung des Luftrdrucks als Ergänzung zur Homematic Wetterstation. Nebenbei hat das Modul auch noch einen Temperatorsensor auf der Platine, der als "Abfallprodukt" die Temperatur im Gehäuse innern misst (kann beim Übertakten helfen ).

    Das kann dann z.B. so aussehen: Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	iPS-Server-Pic2-klein.jpg 
Hits:	8580 
Größe:	71.6 KB 
ID:	32278

    Mein Plan ist es zukünftig zwei Stück davon im Cluster zu betreiben sobald die iPS 4.0 final und stabil läuft.

    1. Hauptkomponenten

    1.1 Gehäuse

    Name:  hutschienengehaeuse-pi-b-plus.jpg
Hits: 9087
Größe:  4.1 KB

    • Montage auf einer DIN-Schiene (35 mm)
    • Breite 4TE
    • Aussparungen für die Anschlüsse
    • Platz für zusätzliche Einbauten
    • LED-Sichtfenster für Display 2,2 Zoll
    • Befestigung des Raspberry mit Schrauben
    • schraubenlose Gehäusemontage
    • Farbe grau
    • Maße (BxHxT): 71,5×90,5×62 mm



    Gibts z.B. bei Pollin: Link zum Gehäuse

    1.2 Hutschienen-Netzteil

    Name:  hutschienen-netzteil-5v.jpg
Hits: 9160
Größe:  4.4 KB
    • Hersteller: MeanWell
    • Hersteller Serie: DR-15
    • Herstellerartikelnummer: DR-15-5
    • Ausgang: +5VDC
    • Ausgang (min…max): 4,75…5,5VDC
    • Eingangsspannung: 85…264VAC
    • Eingangsspannung (AC/DC): AC
    • Leistung [W]: 12 W
    • Netzteil-Typ: Din-Rail Netzteil
    • Strom: 2,4 A
    • Wirkungsgrad: 77%



    Gibts z.B. bei Pollin: Link zum Netzteil

    1.3 Display

    Name:  display_front_boot_001.jpg
Hits: 9069
Größe:  6.7 KB

    SPI LCD TFT Display basierend auf ILI9341 chipset betrieben mit dem Nostro framebuffer driver.

    • Bildschirmdiagonale 2,2 Zoll
    • Betriebsspannung: 3,3 Volt
    • Anzahl der Farben: 262K
    • Auflösung: 320×240 Pixel (QVGA)
    • Schnittstelle: 4-Wire SPI
    • Integrierter Controller: ILI9341
    • Hintergrundbeleuchtung: 4 LEDs
    • Abmessung der Platine: ca. 67 mm x 40 mm
    • Hersteller: SHANGHAI TIANMA MICRO-ELECTRONICS
    • Typ/Modell: TM022HDH26



    Display und Raspberry Pin Belegung:

    TFT Screen Pin# Raspberry Pi Pin#
    VCC 01 3.3v 01
    GND 02 GND 09
    CS 03 GPIO8 24
    RESET 04 GPIO25 22
    DC/RS 05 GPIO24 18
    SD1/MOSI 06 GPIO10 19
    SCK 07 GPIO11 23
    LED 08 GPIO18 12
    SD0/MISO 09 GPIO09 21

    Gibts z.B. bei ebay: Link zum Display

    2. Soviel zur Hardware, nun noch ein paar Tips zur Konfiguration

    Basis ist ein Raspbian Jessie Lite Image

    Raspbian Einstellungen:

    Code:
    sudo raspi-config
    Unter 9 Advanced Options den Menüpunkt A6 SPI auswählen und default auf ‘Yes’ setzen,
    ebenso Menüpunkt A7 i2C auswählen und default auf 'Yes' setzen - danach reboot.

    Zum automatischen Laden der FB-Kernelmodule anpassen der /etc/modules-load.d/modules.conf

    Code:
    snd-bcm2835
    spi-bcm2835
    i2c-bcm2708
    i2c-dev
    fbtft_device
    Wichtig spi-bcm2835 um SPI Master das vom Soundtreiber benutzt wird für den Framebuffer wieder freizugeben!!!

    Im Verzeichnis /etc/modprobe.d/ folgenden Befehl zur Dateierstellung ausführen.

    Code:
    echo "options fbtft_device custom name=fb_ili9341  gpios=reset:25,dc:24,led:18 speed=16000000 rotate=90 bgr=1" > fbtft.conf
    Zuletzt aktivieren des Framebuffers zur Bootzeit, dazu Ergänzung der Bootparameter in /boot/cmdline.txt am Ende der Zeile mit folgendem Parameter:

    Code:
    fbcon=map:10
    LCD Script

    Skript zum Ein- und Ausschalten des LCD
    Ich habe zusätzlich einen Photosensor eingebaut, der das Display automatisch ausschaltet wenn die Schaltschranktüre geschlossen ist und wieder einschaltet wenn die Türe geöffnet wird. Kann man aber auch mit einem Taster oder anderweitig realisieren.

    Code:
    #!/usr/bin/env python3
     
    import RPi.GPIO as GPIO
    import sys
     
    # set Parameters via GPIO for SPI Display
     
     
    # use Pi.GPIO layout (ordering like Pin-numbers)
    GPIO.setmode(GPIO.BOARD)
    GPIO.setwarnings(False)
     
    param_count=len(sys.argv)
     
    def prt_help():
        print("Usage: lcd [OPTION]\nSet values for SPI LCD Display\n")
        print("--led\t\t--led=on turns the LED Backlight on\n\t\t--led=off turns the LED Backlight off")
     
    if param_count <= 1:
      prt_help()
    elif sys.argv[1]=='--led=on':
      print('LED einschalten')
      GPIO.setup(12, GPIO.OUT)
      GPIO.output(12, True)
    elif sys.argv[1]=='--led=off':
      print('LED ausschalten')
      GPIO.setup(12, GPIO.OUT)
      GPIO.output(12, False)
    elif sys.argv[1]=='--help' or sys.argv[1]=='-h':
      prt_help()
    else:
      print("lcd: unrecognized option ",sys.argv[1],"\nTry `lcd --help' for more information.")
    3. Module

    3.1 Barometer Modul

    Für den Luftdruck verwende ich das sehr genaue Modul BMP180 von Bosch
    Name:  BMP180_Modul_klein.jpg
Hits: 8653
Größe:  3.7 KB

    Gibts z.B. für knapp 3,- Euro bei Amazon: Link zum BMP180 Modul

    Die Ansteuerung geht sehr einfach über den I²C-Bus
    Ein Beispiel zur Verdrahtung findet Ihr hier: Link zur Ansteuerung

    Beispiel-Code zum Abfragen der Werte und automatischer Korrektur auf NormalNull:

    Code:
    #!/usr/bin/python
    
    from Adafruit_BMP085 import BMP085
    
    # ===========================================================================
    # Example Code
    # ===========================================================================
    
    # Altitude over sea level in meter
    # please adjust the value to your homebase altitude
    altitude = 190
    
    
    # Initialise the BMP085 and use STANDARD mode (default value)
    # bmp = BMP085(0x77, debug=True)
    bmp = BMP085(0x77)
    
    # To specify a different operating mode, uncomment one of the following:
    # bmp = BMP085(0x77, 0)  # ULTRALOWPOWER Mode
    # bmp = BMP085(0x77, 1)  # STANDARD Mode
    # bmp = BMP085(0x77, 2)  # HIRES Mode
    # bmp = BMP085(0x77, 3)  # ULTRAHIRES Mode
    
    temp = bmp.readTemperature()
    
    # Read the current barometric pressure level
    pressure = bmp.readPressure()
    
    psea = pressure / pow(1.0 - altitude/44330.0, 5.255)
    
    print "Temperature:              %.2f C" % temp
    print "Pressure:                 %.2f hPa" % (pressure / 100.0)
    print "Pressure at sea level:    %.2f hPa" % (psea / 100.0)
    3.2 LDR GL5528

    Als Helligkeitssensor kommt die LDR GL5528 in Verbindung mit einem 1 µF Kondensator zum Einsatz

    Name:  LDR-GL5528.jpg
Hits: 8723
Größe:  1.7 KB

    Anbei ein Beispiel-Code zum Ansteuern. Hier ist aber darauf zu achten, dass die Schwellwerte am Anfang des Codes individuell angepasst werden müssen. Je nach Einbautiefe der LDR bzw. der Beschattung durch Gehäuse und Front sind die Werte unterschiedlich.

    Auch frisst der Code etwas CPU Leistung wenn die LDR abgedunkelt ist, wenn hier jemand einen besseren Vorschlag für die Abfrage hat, nur her damit.

    Die Verdrahtung findet Ihr Beispielhaft hier: Beispiel Aufbau

    Code:
    #!/usr/bin/env python2.7
    
    
    import time
    import os
    import RPi.GPIO as GPIO
    
    MaxReads = 40000 	#maximum reads from Sensor, higher values need more cpu cycles
    SensorPin = 23 		#raspberry IO pin number
    ThresHold = 0.002 	#threshold for activating display, may depend on position of the sensor
    CycleDelay = 3 		#seconds between sensor reading, lower value means more cpu cycles but faster action
    Daemon = 1 		#set to 1 to enable daemon mode
    
    debug = 0 		#set debug to 1 to get values printed
    
    
    GPIO.setmode(GPIO.BCM)
    GPIO.setup(SensorPin, GPIO.OUT) # 23 for LDR light sensor
    
    def msr_time(msr_pin):
        reading = 0
        GPIO.setup(msr_pin, GPIO.OUT)
        GPIO.output(msr_pin, GPIO.LOW)
        time.sleep(0.1)
        starttime = time.time()                     # note start time
        GPIO.setup(msr_pin, GPIO.IN)
        while (GPIO.input(msr_pin) == GPIO.LOW):
            reading += 1
    	if reading > MaxReads:
    		break
        endtime = time.time()                       # note end time
        total_time = 1000 * (endtime - starttime)
        return total_time                           # reading in milliseconds
    
    def run():
        Display = 0
        while True:
        	time.sleep(CycleDelay)
    	MSR_Value = msr_time(SensorPin)
    	LightLevel = round(float(1 / MSR_Value / 6),3)
            DisplayLast = Display
    	if LightLevel < ThresHold:
    		Display = 0
    		if DisplayLast <> Display:
    			os.system("lcdctrl --led=off")
                    if debug:
    			print "Display:", Display, "DisplayLast", DisplayLast, "LightLevel", LightLevel, "MSR Value:", MSR_Value
            else:
    		Display = 1
    	        if DisplayLast <> Display:
    	        	os.system("lcdctrl --led=on")
    		if debug:
    			print "Display:", Display, "DisplayLast", DisplayLast, "LightLevel", LightLevel, "MSR Value:", MSR_Value
    
    if __name__ == "__main__":
    		run()

    Hoffe das reicht zum Nachbauen. Viel Spass
    Angehängte Grafiken Angehängte Grafiken  
    Geändert von cyberganny (09.03.16 um 22:16 Uhr)
    ---
    Gruß
    cyberganny
    Touchscreen Wandeinbau - IPS auf Raspi - Homematic auf RaspberryMatic und LAN Adapter

  2. #2
    Registriert seit
    Dec 2005
    Ort
    Köln
    Beiträge
    2,623

    Schickes Projekt: +1 von mir : )
    Hausautomations-BLOG

    --
    Hinweis: Wer einen Rechtschreibfehler findet, darf diesen behalten - da bin ich gar nicht so .

  3. #3
    Registriert seit
    Apr 2010
    Ort
    Oberbayern
    Beiträge
    5,043

    Hübsch. +1
    Grüsse, Kronos.
    Wenn am Anfang alles schief geht, nenne es Version 1.0
    IPS 5.5 auf Server 2016 / HM und HM-IP mit CCU2 (RaspberryMatic) + LAN-Adapter + LAN- & Wired Gateway, 252 Geräte / XBee Pro (Roomba) / RoboRock S50 / RGB-W 868 / MiLight / EKM 868 / AKM / ein Rudel Squeezeboxen+Pi / EM24DIN+VS102 / AM 220 AC / Shelly / VU+ / ALL4x00 / LevelJet / IRTRans / Echos diverse / Harmony / Sainlogic / viel zu wenig Zeit


    Einfach mal rein schauen: IPS-Chat

  4. #4
    Registriert seit
    Feb 2009
    Ort
    Hamburg
    Beiträge
    2,113

    Danke fürs Teilen!!
    Peter
    -MacMini(2011) =>Parallels 11=>Win7, FB7390, EIB-KNX, DMX-ArtNet, 2x EM24 DIN, SONOS ZP100/120/Play:1/Play:5/Sub, 1Wire=>Wiregate, xbee=>ROOMBA, Dreambox, DENON 2313, 8x Philips HUE -

  5. #5
    Registriert seit
    Dec 2006
    Ort
    Friedberg (Hessen)
    Beiträge
    1,765

    Gefällt mir.
    Wie ist das denn mit dem Photosensor hardwaremässig gelöst?
    Viele Grüße Rainer
    Windows 10,IPS V 5.3 + Testsysteme -- FHZ -- PiVCCU3 -- Phillips Hue --1-Wire, Anwesendheits-Tracker, ESP-Easy und viele, viele Spielereien , I-View, Rasperry 3, Zero, Tinkerboard, Nello, Nuki

  6. #6
    Registriert seit
    Sep 2014
    Ort
    Limeshain (Hessen)
    Beiträge
    5,420

    Sehr cooles Projekt!!! Saubere Arbeit!

    Danke!
    -Chris-
    IP-Symcon Module >> www.bayaro.net << Verfügbare Module: BatterieMonitor, BundesligaTabelle, Enigma2BY, HeizölPreise, Helios, Horoskop, HostMonitor, IPSInformations, MELCloud, Müllabfuhr, PJLink, RSS, TankerkönigSpritpreise, xREL
    IPS Unlimited, ~1200 Scripte, ~7000 Variablen

  7. #7
    Registriert seit
    Aug 2009
    Ort
    Bretten
    Beiträge
    198

    Standard Photosensor

    Der eingebaute Photosensor ist ein LDR GL5528 gekoppelt mit einem Kondensator. Darüber frage ich mit einem Skript den Helligkeitswert ab. Einziges Problem dabei, die Abfrage kostet bei Dunkelheit einige CPU Cycles, was ca 2% der Gesamt-CPU Leistung in Anspruch nimmt. Ist aber beim Raspi B2 zu verkraften. Alternativ einfach einen Taster nutzen, den man kurz drückt um das Display zu aktivieren und dann einfach nach 30 Min wieder abschalten.
    ---
    Gruß
    cyberganny
    Touchscreen Wandeinbau - IPS auf Raspi - Homematic auf RaspberryMatic und LAN Adapter

  8. #8
    Registriert seit
    May 2005
    Beiträge
    2,335

    sieht schick aus. Hatte bei mir schon vor längerer Zeit das Pi-TFT von Adafruit eingebaut, dafür gabs auch ein Gehäuse, aber das war ein ziemlicher Kampf mit den Modulen. Nach jedem Raspbian Update ging das auch wieder von vorne los.

    Was für ein Modul ist für den Luftdruck und Temperatur zuständig?

    Tommi

  9. #9
    Registriert seit
    Oct 2010
    Ort
    Schwarzwald-Baar-Kreis
    Beiträge
    93

    Super interessantes Projekt. Dank für die Anleitung!!!

    Tobias
    IPS 5.3 Unlimited @ Tinkerboard S | Enocean | TCM310 | Unifi | Fritzbox 6490 | Sonos | Tecalor TTL18e | DM 900 UHD | Sonnenbatterie | Philips Hue

  10. #10
    Registriert seit
    Aug 2009
    Ort
    Bretten
    Beiträge
    198

    Das SPI TFT Modul ist nicht explizit für dieses Gehäuse, es passt aber zufällig genau hinter die Plastikscheibe des Hutschienengehäuses, ausserdem ist es mit gut 10,- Euro sehr günstig.
    Die Modulproblematik ist in der Zwischenzeit entspannt, da die SPI Frambuffer Treiber in der Zwischenzeit bei Raspbian fester Kernelbestandteil sind. Auch der Wechsel zu Raspbian Jessie war diesbezüglich unkritisch.

    Die Details zum Sensor Modul packe ich noch oben in die Beschreibung.
    ---
    Gruß
    cyberganny
    Touchscreen Wandeinbau - IPS auf Raspi - Homematic auf RaspberryMatic und LAN Adapter

Ähnliche Themen

  1. Antworten: 2
    Letzter Beitrag: 06.09.15, 11:28
  2. Designer auf dem Client verliert die Verbindung zum IPS Server
    Von TomW im Forum Allgemeine Diskussion (2.x/3.x)
    Antworten: 0
    Letzter Beitrag: 28.07.15, 09:37
  3. Daten für die Webfront auf FTP Server spielen.
    Von schmittg im Forum Alles rund um den PC
    Antworten: 8
    Letzter Beitrag: 13.11.12, 10:02
  4. DMX Dimmer für Hutschiene
    Von algorith im Forum Beleuchtung / Lichttechnik
    Antworten: 4
    Letzter Beitrag: 11.07.11, 18:39
  5. Dimm-/Schaltaktoren für Hutschiene
    Von algorith im Forum Haustechnik
    Antworten: 10
    Letzter Beitrag: 29.06.11, 08:37