[How-To] RPI_GPIO Ein- und Ausgangsconfig als Ergänzung zum CommandRef

Begonnen von Burny4600, 21 Juni 2016, 10:43:14

Vorheriges Thema - Nächstes Thema

Burny4600

Für jene die sich mit FHEM noch ein wenig schwer tun eine vorgefertige Ein- und Ausgangskonfigurierung für den PI ab PI2.
Für die Installation der notwendigen Software findet ihr die Info im CommandRef.
http://fhem.de/commandref_DE.html#RPI_GPIO

In meinem Fall reichten folgende Installationschritte für GPIO Aktivierung unter FHEM aus.
:~ $ sudo adduser fhem gpio
:~ $ sudo reboot
:~ $ sudo apt-get update
:~ $ sudo apt-get upgrade
:~ $ sudo apt-get install git-core
:~ $ git clone git://git.drogon.net/wiringPi
:~ $ cd wiringPi ./build



Vorbereitung der Ein- und Ausgänge in der Config:

fhem.cfg
### GIPO Tabelle
# +--------+-----+---------+------+---+---Pi 2---+---+------+---------+-----+--------+
# |  BCM   | wPi |   Name  | Mode | V | Physical | V | Mode | Name    | wPi |   BCM  |
# |RPI_GPIO|     |         |      |   |   PIN    |   |      |         |     |RPI_GPIO|
# +--------+-----+---------+------+---+----++----+---+------+---------+-----+--------+
# |        |     |    3.3v |      |   |  1 || 2  |   |      | 5v      |     |        |
# |    2   |   8 |   SDA.1 |   IN | 1 |  3 || 4  |   |      | 5V      |     |        |
# |    3   |   9 |   SCL.1 |   IN | 1 |  5 || 6  |   |      | 0v      |     |        |
# |    4   |   7 | GPIO.07 |   IN | 1 |  7 || 8  | 1 | ALT0 | TxD     | 15  |   14   |
# |        |     |      0v |      |   |  9 || 10 | 1 | ALT0 | RxD     | 16  |   15   |
# |   17   |   0 | GPIO.00 |   IN | 1 | 11 || 12 | 1 | IN   | GPIO.01 | 1   |   18   |
# |   27   |   2 | GPIO.02 |   IN | 1 | 13 || 14 |   |      | 0v      |     |        |
# |   22   |   3 | GPIO.03 |   IN | 1 | 15 || 16 | 0 | IN   | GPIO.04 | 4   |   23   |
# |        |     |    3.3v |      |   | 17 || 18 | 0 | IN   | GPIO.05 | 5   |   24   |
# |   10   |  12 |    MOSI |   IN | 0 | 19 || 20 |   |      | 0v      |     |        |
# |    9   |  13 |    MISO |   IN | 0 | 21 || 22 | 0 | IN   | GPIO.06 | 6   |   25   |
# |   11   |  14 |    SCLK |   IN | 0 | 23 || 24 | 1 | IN   | CE0     | 10  |   8    |
# |        |     |      0v |      |   | 25 || 26 | 1 | IN   | CE1     | 11  |   7    |
# |    0   |  30 |   SDA.0 |   IN | 1 | 27 || 28 | 1 | IN   | SCL.0   | 31  |   1    |
# |    5   |  21 | GPIO.21 |   IN | 1 | 29 || 30 |   |      | 0v      |     |        |
# |    6   |  22 | GPIO.22 |   IN | 1 | 31 || 32 | 0 | IN   | GPIO.26 | 26  |   12   |
# |   13   |  23 | GPIO.23 |   IN | 0 | 33 || 34 |   |      | 0v      |     |        |
# |   19   |  24 | GPIO.24 |   IN | 0 | 35 || 36 | 0 | IN   | GPIO.27 | 27  |   16   |
# |   26   |  25 | GPIO.25 |   IN | 0 | 37 || 38 | 0 | IN   | GPIO.28 | 28  |   20   |
# |        |     |      0v |      |   | 39 || 40 | 0 | IN   | GPIO.29 | 29  |   21   |
# +--------+-----+---------+------+---+----++----+---+------+---------+-----+--------+

# -----------------------------------------------------------------------------------------------

#####################################
###  GPIO Ausgänge konfigurieren  ###
#####################################
define Pin11 RPI_GPIO 17
attr Pin11 alias GPIO.00
attr Pin11 cmdIcon EIN:remotecontrol/black_btn_GREEN AUS:remotecontrol/black_btn_RED
attr Pin11 devStateIcon EIN:sani_pump@lightgreen AUS:sani_pump@gray
attr Pin11 direction output
attr Pin11 eventMap on:AUS off:EIN
attr Pin11 icon sani_pump
attr Pin11 webCmd ::EIN:AUS

define Pin12 RPI_GPIO 18
attr Pin12 alias GPIO.01
attr Pin12 cmdIcon EIN:remotecontrol/black_btn_GREEN AUS:remotecontrol/black_btn_RED
attr Pin12 devStateIcon EIN:sani_pump@lightgreen AUS:sani_pump@gray
attr Pin12 direction output
attr Pin12 eventMap on:AUS off:EIN
attr Pin12 icon sani_pump
attr Pin12 webCmd ::EIN:AUS

define Pin13 RPI_GPIO 27
attr Pin13 alias GPIO.02
attr Pin13 cmdIcon EIN:remotecontrol/black_btn_GREEN AUS:remotecontrol/black_btn_RED
attr Pin13 devStateIcon EIN:sani_pump@lightgreen AUS:sani_pump@gray
attr Pin13 direction output
attr Pin13 eventMap on:AUS off:EIN
attr Pin13 icon sani_pump
attr Pin13 webCmd ::EIN:AUS

define Pin15 RPI_GPIO 22
attr Pin15 alias GPIO.03
attr Pin15 cmdIcon EIN:remotecontrol/black_btn_GREEN AUS:remotecontrol/black_btn_RED
attr Pin15 devStateIcon EIN:sani_pump@lightgreen AUS:sani_pump@gray
attr Pin15 direction output
attr Pin15 eventMap on:AUS off:EIN
attr Pin15 icon sani_pump
attr Pin15 webCmd ::EIN:AUS

define Pin16 RPI_GPIO 23
attr Pin16 alias GPIO.04
attr Pin16 cmdIcon EIN:remotecontrol/black_btn_GREEN AUS:remotecontrol/black_btn_RED
attr Pin16 devStateIcon EIN:sani_pump@lightgreen AUS:sani_pump@gray
attr Pin16 direction output
attr Pin16 eventMap on:AUS off:EIN
attr Pin16 icon sani_pump
attr Pin16 webCmd ::EIN:AUS

define Pin18 RPI_GPIO 24
attr Pin18 alias GPIO.05
attr Pin18 cmdIcon EIN:remotecontrol/black_btn_GREEN AUS:remotecontrol/black_btn_RED
attr Pin18 devStateIcon EIN:sani_pump@lightgreen AUS:sani_pump@gray
attr Pin18 direction output
attr Pin18 eventMap on:AUS off:EIN
attr Pin18 icon sani_pump
attr Pin18 webCmd ::EIN:AUS

define Pin22 RPI_GPIO 25
attr Pin22 alias GPIO.06
attr Pin22 cmdIcon EIN:remotecontrol/black_btn_GREEN AUS:remotecontrol/black_btn_RED
attr Pin22 devStateIcon EIN:sani_pump@lightgreen AUS:sani_pump@gray
attr Pin22 direction output
attr Pin22 eventMap on:AUS off:EIN
attr Pin22 icon sani_pump
attr Pin22 webCmd ::EIN:AUS

define Pin07 RPI_GPIO 4
attr Pin07 alias GPIO.07
attr Pin07 cmdIcon EIN:remotecontrol/black_btn_GREEN AUS:remotecontrol/black_btn_RED
attr Pin07 devStateIcon EIN:sani_pump@lightgreen AUS:sani_pump@gray
attr Pin07 direction output
attr Pin07 eventMap on:AUS off:EIN
attr Pin07 icon sani_pump
attr Pin07 webCmd ::EIN:AUS

# -----------------------------------------------------------------------------------------------

#####################################
###  GPIO Eingänge konfigurieren  ###
#####################################
define Pin29 RPI_GPIO 5
attr Pin29 active_low yes
attr Pin29 alias GPIO.21
attr Pin29 devStateIcon EIN:control_on_off AUS:control_home
attr Pin29 direction input
attr Pin29 eventMap on:EIN off:AUS
attr Pin29 icon control_on_off
attr Pin29 interrupt both
attr Pin29 pud_resistor up

define Pin31 RPI_GPIO 6
attr Pin31 active_low yes
attr Pin31 alias GPIO.22
attr Pin31 devStateIcon EIN:control_on_off AUS:control_home
attr Pin31 direction input
attr Pin31 eventMap on:AUS off:EIN
attr Pin31 icon control_on_off
attr Pin31 interrupt both
attr Pin31 pud_resistor up

define Pin33 RPI_GPIO 13
attr Pin33 active_low yes
attr Pin33 alias GPIO.23
attr Pin33 devStateIcon EIN:control_on_off AUS:control_home
attr Pin33 direction input
attr Pin33 eventMap on:AUS off:EIN
attr Pin33 icon control_on_off
attr Pin33 interrupt both
attr Pin33 pud_resistor up

define Pin35 RPI_GPIO 19
attr Pin35 active_low yes
attr Pin35 alias GPIO.24
attr Pin35 devStateIcon EIN:control_on_off AUS:control_home
attr Pin35 direction input
attr Pin35 eventMap on:AUS off:EIN
attr Pin35 icon control_on_off
attr Pin35 interrupt both
attr Pin35 pud_resistor up

define Pin37 RPI_GPIO 26
attr Pin37 active_low yes
attr Pin37 alias GPIO.25
attr Pin37 devStateIcon EIN:control_on_off AUS:control_home
attr Pin37 direction input
attr Pin37 eventMap on:AUS off:EIN
attr Pin37 icon control_on_off
attr Pin37 interrupt both
attr Pin37 pud_resistor up

define Pin32 RPI_GPIO 12
attr Pin32 active_low yes
attr Pin32 alias GPIO.26
attr Pin32 devStateIcon EIN:control_on_off AUS:control_home
attr Pin32 direction input
attr Pin32 eventMap on:AUS off:EIN
attr Pin32 icon control_on_off
attr Pin32 interrupt both
attr Pin32 pud_resistor up

define Pin36 RPI_GPIO 16
attr Pin36 active_low yes
attr Pin36 alias GPIO.27
attr Pin36 devStateIcon EIN:control_on_off AUS:control_home
attr Pin36 direction input
attr Pin36 eventMap on:AUS off:EIN
attr Pin36 icon control_on_off
attr Pin36 interrupt both
attr Pin36 pud_resistor up

define Pin38 RPI_GPIO 20
attr Pin38 active_low yes
attr Pin38 alias GPIO.28
attr Pin38 devStateIcon EIN:control_on_off AUS:control_home
attr Pin38 direction input
attr Pin38 eventMap on:AUS off:EIN
attr Pin38 icon control_on_off
attr Pin38 interrupt both
attr Pin38 pud_resistor up

define Pin40 RPI_GPIO 21
attr Pin40 active_low yes
attr Pin40 alias GPIO.29
attr Pin40 devStateIcon EIN:control_on_off AUS:control_home
attr Pin40 direction input
attr Pin40 eventMap on:AUS off:EIN
attr Pin40 icon control_on_off
attr Pin40 interrupt both
attr Pin40 pud_resistor up

# -----------------------------------------------------------------------------------------------


In der Config findet ihr direkt den Pin welcher zu beschalten ist.
An den Ausgänge werden 3.3V geschaltet und die Eingänge werden gegen Masse geschaltet.

Hoffe es ist soweit verständlicher für die Hobbybastler.
LG Chris

Raspberry Pi 2-5, Bullseye Lite, Bookworm Lite
Schnittstellen: 1-Wire, FHEM2FEHEM, HM-MOD-UART, LAN, Modbus, MQTT, nanoCUL, RFXtrx433E, SIGNALduino, ser2net
Devices: APC, Eastron, FS20, IT, Homematic, MQTT, PV-(DEYE, EPEVER, FRONIUS), Resol-VBUS, S.USV, TEK603, WMR200, YouLess

klausw

seit Raspbian Jessie ist wiringPi bereits installiert. Punkt 3-7 könnten in diesem Fall ausgelassen werden
RasPi B v2 mit FHEM 18B20 über 1Wire, LED PWM Treiber über I2C, Luchtdruck-, Feuchtesensor und ein paar Schalter/LED\'s zum testen
Module: RPI_GPIO, RPII2C, I2C_EEPROM, I2C_MCP23008, I2C_MCP23017, I2C_MCP342x, I2C_PCA9532, I2C_PCF8574, I2C_SHT21, I2C_BME280

Burny4600

LG Chris

Raspberry Pi 2-5, Bullseye Lite, Bookworm Lite
Schnittstellen: 1-Wire, FHEM2FEHEM, HM-MOD-UART, LAN, Modbus, MQTT, nanoCUL, RFXtrx433E, SIGNALduino, ser2net
Devices: APC, Eastron, FS20, IT, Homematic, MQTT, PV-(DEYE, EPEVER, FRONIUS), Resol-VBUS, S.USV, TEK603, WMR200, YouLess

Marlen

Hallo, ich hab ein Problem:
Ich hab eine Relaisplatine mit einer Sirene dran, nun ist aber wenn der Ausgang in FHEM auf off ist, dass Relais immer angezogen! Das möchte ich nicht, da das ja unnötig Strom vom Raspberry zieht!
Wie kann man das on und off tauschen? So dass ich den Ausgang mit BLINK steuern kann?
Aktuell geht zwar blink auch, nur nach beenden es blink, bleibt der Ausgang auf off stehen. Das ist blöd, GPIO OFF ==> Relais angezogne ==> Sirene an!

klausw

RasPi B v2 mit FHEM 18B20 über 1Wire, LED PWM Treiber über I2C, Luchtdruck-, Feuchtesensor und ein paar Schalter/LED\'s zum testen
Module: RPI_GPIO, RPII2C, I2C_EEPROM, I2C_MCP23008, I2C_MCP23017, I2C_MCP342x, I2C_PCA9532, I2C_PCF8574, I2C_SHT21, I2C_BME280