MQTT – I2C – Bridge

Vielen Dank für diesen Beitrag an Thomas Plorin Viele Homeautomationslösungen bieten Connectoren für MQTT. MQTT oder Message Queuing Telemetry Transport ist ein offenes Nachrichtenprotokoll für M2M (Machine-to-Machine) Kommunikation. Die Informationen werden als Nachrichten über sogenannte „Topics“ verschickt. Ein „Topic“ besteht aus einer Zeichenkette getrennt durch „/“. Ein Interessent von Nachrichten, kann sich am MQTT-Server einloggen …

Continue reading ‘MQTT – I2C – Bridge’ »

I2C-MCP3424 Analog-In-18Bit-Modul mit Python und TkInter

Analogwerte vom I2AE18-Modul einlesen Das Programmbeispiel liest auf Tastendruck die Analogwerte von der 18-Bit Analog-Eingangskarte ein, schreibt den Wert in ein Label und gibt ihn in einer Balkengrafik aus. Programmcode #!/usr/bin/python import ast import smbus bus = smbus.SMBus(1) #Bus definieren from time import sleep import tkinter from tkinter import * import tkinter.ttk as ttk mainWin = Tk() mainWin.title(‘Analoge …

Continue reading ‘I2C-MCP3424 Analog-In-18Bit-Modul mit Python und TkInter’ »

FHEM – GPIO Pins abfragen und reaglieren

Unser INT vom I2C-Bus liegt auf dem GPIO17 vom Raspberry PI. Mit diesen Zeilen definieren wir in FHEM den GPIO als Interrupt-Eingang. In der letzten Zeile wird festgelegt, was passieren soll, wenn der GPIO17 “LOW” wird. In unserem Beispiel wird die angelegte Eingangskarte auf Adresse 0x38 eingelesen. define GPIO17 RPI_GPIO 17 attr GPIO17 active_low yes attr …

Continue reading ‘FHEM – GPIO Pins abfragen und reaglieren’ »

FHEM – Digitale Ausgänge anlegen und invertieren

Das Anlegen eines I2C-Ausgangsmodules wurde in diesem Beitrag beschrieben FHEM – I2C-Module anlegen und adressieren. Hier zeigen wir, wie die einzelnen Ausgänge definiert und angesprochen werden. Mit diesen vier Zeilen wird ein einzelner Ausgang am DO-Modul definiert und invertiert define A20.0 readingsProxy modulA20:Port0 attr A20.0 room i2c attr A20.0 group modulA20 attr A20.0 setList on …

Continue reading ‘FHEM – Digitale Ausgänge anlegen und invertieren’ »

FHEM – Digitale Eingänge anlegen und invertieren

das Anlegen eines I2C-Eingangsmodules wurde in diesem Beitrag beschrieben FHEM – I2C-Module anlegen und adressieren. Hier zeigen wir, wie die einzelnen Eingängedefiniert und angesprochen werden. Mit diesen vier Zeilen wird ein einzelner Eingang am DI-Modul definiert und invertiert define E38.0 readingsProxy modulE38:Port0 attr E38.0 room i2c attr E38.0 group ModulE38 attr E38.0 devStateIcon on:off:off off:on:on …

Continue reading ‘FHEM – Digitale Eingänge anlegen und invertieren’ »

FHEM – I2C-Module anlegen und adressieren

I2C-Bus in FHEM definieren mit folgenden drei befehlen kann in FHEM der I2C-Bus angelegt bzw. definiert werden define myI2C RPII2C 1 attr myI2C room i2c attr myI2C verbose 5 So ähnlich sollte das dann aussehen I2C-Eingangsmodul in FHEM anlegen Als nächstes müssen wir eine I2C-Eingangskarte mit dem PCF8574A anlegen. define modulE38 I2C_PCF8574 0x38 attr modulE38 …

Continue reading ‘FHEM – I2C-Module anlegen und adressieren’ »

FHEM – I2C-Baugruppen einbinden

Dieser Beitrag befasst sich mit FHEM und wie die Module von Horter & Kalb in das System eingebunden werden können. Auszug aus der FHEM Homepage FHEM (eingetragene Marke) ist ein in Perl geschriebener, GPL lizensierter Server für die Heimautomatisierung. Man kann mit FHEM häufig auftretende Aufgaben automatisieren, wie z.Bsp. Lampen / Rollladen / Heizung / …

Continue reading ‘FHEM – I2C-Baugruppen einbinden’ »

I2C-Baugruppen mit Python und TkInter am Raspberry-PI

in diesen Blogbeiträgen zeigen wir die Ansteuerung unserer I2C-Baugruppen mit Phyton 3 und TkInter Beispielprogramme Digitale Eingangskarte (I2HE) Digitale Ausgangskarte (I2HA) Analoge Eingangskarte (I2HAE) Analoge Ausgangskarte (I2HAA) Analoge Eingangskarte mit MCP3424 (I2AE18)   Testumgebung Als Testumgebung verwenden wir einen Raspberry Pi 2 B mit einem Touch-Display und unserem I2C-Schulungsrack.     I2C-Repeater für Raspberry-PI Auf …

Continue reading ‘I2C-Baugruppen mit Python und TkInter am Raspberry-PI’ »

I2C-Analog-Output-Modul mit Python und TkInter

Analogwerte zum I2HAA-Modul übertragen Das Programmbeispiel schreibt auf Tastendruck Analogwerte zur Analog-Ausgabekarte   Programmcode import tkinter as tk import smbus bus = smbus.SMBus(1) mainWin = tk.Tk() mainWin.title(“Analoge Ausgabekarte”) def uebertragen1(): val=e1.get() a=int(val) HBy = int(a/256) LBy = int(a-HBy*256) field=[LBy,HBy] print(field) bus.write_i2c_block_data(0x58,0x00,field) def uebertragen2(): val=e2.get() a=int(val) HBy = int(a/256) LBy = int(a-HBy*256) field=[LBy,HBy] print(field) bus.write_i2c_block_data(0x58,0x01,field) def uebertragen3(): val=e3.get() …

Continue reading ‘I2C-Analog-Output-Modul mit Python und TkInter’ »

I2C-Analog-Input-Modul mit Python und TkInter

Analogwerte vom I2HAE-Modul einlesen Das Programmbeispiel liest auf Tastendruck die Analogwerte von der Eingangskarte ein, schreibt den Wert in ein Label und gibt ihn in einer Balkengrafik aus.   Programmcode import tkinter from tkinter import * from tkinter import ttk import smbus bus = smbus.SMBus(1) mainWin = Tk() mainWin.title(‘Analoge Eingabe’) def wert(label,kanal,pb): #Variablen für Label,Kanal,Progressbar def read(): var …

Continue reading ‘I2C-Analog-Input-Modul mit Python und TkInter’ »