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 den zwei Zeilen wird ein GPIO mit FHEM alle 20ms eingelesen define GPIO17 RPI_GPIO 17 attr poll_intervall 0.002 Das gleiche machen wir noch mit dem GPIO4. An diesem Pin ist der Taster von unserem I2C-Repeater mit Taste angeschlossen define GPIO4 RPI_GPIO 4 attr poll_intervall …

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

FHEM – Digitale Ausgänge anlegen und invertieren

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 off attr A20.0 setFn {($CMD eq “on”)?”Port0 off”:”Port0 on”} attr A20.0 devStateIcon on:off:off off:on:on Unsere Module arbeiten in der invertierten Logik. Damit ist sichergestellt dass alle …

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

FHEM – Digitale Eingänge anlegen und invertieren

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 group ModulE38 attr E38.0 devStateIcon on:off:off off:on:on Unsere Eingangs-Module arbeiten genau wie die Ausgangsmodule in der invertierten Logik. In der letzten Zeile erfolgt die Invertierung des Eingangs. Für …

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’ »