Arduino im Smart Home – HowTo Teil 3: Helligkeitssensor per UDP an Loxone anbinden

Loxone im Einsatz? Dann schau dir unseren LoxKurs an und profitiere von unserem Wissen!

Nachdem die Anbindung des¬†digitalen Bewegungssensors im vorangegangen¬†HowTo Teil 2 der Serie „Arduino im Smart Home“ beschrieben wurde, folgt nun ein analoger Helligkeitssensor. Beim technischen Grundaufbau ver√§ndert sich im Vergleich zum vorherigen Szenario zwar nicht viel, dennoch m√ľssen gerade bei der softwareseitigen Umsetzung √ľber die Arduino IDE-Sofware durch die nun analogen Messwerte einige Punkte beachtet werden, damit die √úbertragung per UDP auch in der gew√ľnschten Form abl√§uft. Wie das im Detail funktioniert und welche Komponenten dazu ben√∂tigt werden, wird im nachfolgenden HowTo erl√§utert.

Helligkeitsmessung per Arduino

Zur Bestimmung der Helligkeit wird ein einfacher Fotowidestand genutzt, welcher später bspw. als Dämmerungssensor eingesetzt werden kann, um das Licht beim Unterschreiten eines bestimmten Helligkeitswertes automatisch einzuschalten. Er unterscheidet sich im Vergleich zum vorher angebundenen Bewegungsmelder insofern, dass seine Sensorwerte nicht mehr digitale Werte (also 0 und. 1) liefern, sondern analoge Werte im Bereich 0 und 1023, welche jeweils die gerade gemessene Helligkeit repräsentieren.

Die Messmethode des Fotowiderstands basiert dabei auf einem einfachen physikalischen Prinzip, wobei¬†sich sein¬†eigener Widerstand¬†je nach Helligkeit variabel¬†anpasst. Je heller es ist, desto geringer wird sein Widerstand und entsprechend h√∂her ist der¬†Strom, der¬†ihn durchflie√üt. Der Fotowiderstand wird dabei in Reihe mit einem normalen Widerstand geschaltet, welcher einen √§hnlichen hohen Widerstand aufweist. Dadurch wird in nachfolgender Schaltung die notwendige Spannungsteilung erzielt, welche f√ľr die Messung durch den Arduino relevant ist.

Der am Fotowiderstand anliegende Spannungswert kann dabei durch einen analogen Pin des Arduino ermittelt und als Zahl im Wertebereich zwischen 0 und 1023 (10 Bit) ausgegeben werden.

Im Endeffekt heisst das: Je heller es ist, desto h√∂her ist auch der vom Arduino gemessene Sensorwert des Fotowiderstands. Genau die Information, die ben√∂tigt wird, um je nach Helligkeit eine gew√ľnschte Aktion auszul√∂sen.

Fotowiderstand

Benötigte Komponenten

F√ľr die Helligkeitsermittlung werden einige¬†Komponenten ben√∂tigt, welche (wie beim vorangegangen Szenario auch) f√ľr unter 30 Euro erh√§ltlich sind:

Wer das vorangegangene Szenario aus HowTo Teil 2¬†als Ausgangspunkt verwendet, ben√∂tigt f√ľr das folgende Setup lediglich die beiden¬†letztgenannten Komponenten aus obiger Liste, die mit weniger als einem Euro zu Buche schlagen und bspw. auch im Set Funduino UNO 8 (Affiliate-Link) B00P0UMEE0 enthalten sind.

Vorbereitung der Hardware

Sp√§testens jetzt kommt das bisher noch nicht zwingend notwendige Breadboard zum Einsatz, um die Sensoren „geordnet“ mit dem Arduino-Board zu verbinden. Neben dem Bewegungsmelder aus HowTo Teil 2 nehmen nun also auch der Fotowiderstand und der 1K Ohm Widerstand auf dem Breadboard direkt nebeneinnder¬†Platz.

Steckplatinenskizze Fotosensor

Wie bereits angesprochen, werden die beiden neuen Komponenten in Reihe geschaltet, sodass die anliegende Spannung des Arduino-Boards zwischen den Komponenten aufgeteilt wird.

Bewegungsmelder Fotowiderstand

Das eine Ende des Fotowiderstands wird mit +5 V (VCC) verbunden, das andere Ende mit dem analogen Pin A0 des Arduino.

Der 1K Ohm Widerstand, welcher jetzt bereits auch mit einem Ende an +5 V angeschlossen ist, wird jetzt noch √ľber das andere Ende mit GND / GROUND verbunden, sodass der Stromkreis geschlossen wird.

Arduino Board Bewegungsmelder Fotowiderstand

Erstellung des Arduino-Programmcodes

Genutzt wird die bereits in HowTo Teil 2 erstellte Programmlogik, welche nun erweitert wird.

Der komplette Sketch kann nachfolgend auch direkt als Arduino-Datei heruntergeladen werden:   sketch_udp_helligkeitssensor.ino (1101 Downloads)

Teil 1 – Grundeinstellungen und Variablendeklaration

Mit dem Befehl „int Helligkeitssensor = 0;“ wird der gerade installierte Fotowiderstand definiert. Weiterhin werden einige weitere Variablen deklariert, die f√ľr die sp√§tere Auswertung der Messwerte des Fotowiderstands¬†notwendig sind. Sie werden als eine Art Puffer genutzt, sodass nicht sofort bei geringen Helligkeits√§nderungen ein UDP-Befehl in Richtung Smart-Home-Server abgesetzt wird, sondern erst dann, wenn sich die Messwerte seit der letzten √úbertragung um¬†„int HelligkeitssensorSchwellwert = 5;“ √§ndern.

Mit „char msg[25];“ wird noch eine weitere Variable vom Typ Charakter festgelegt, welche f√ľr die UDP-√úbertragung der analogen Messwerte als Zeichenkette ben√∂tigt wird.

#include <SPI.h>
#include <Ethernet.h>
#include <EthernetUdp.h>

// PIN Settings
#define Bewegungsmelder 2

// Variable Declaration
char BewegungsmelderState = 0;
int Helligkeitssensor = 0;
int HelligkeitssensordIdle = 100;
int HelligkeitssensorCounter = 0;
int HelligkeitssensorSchwellwert = 5;
int HelligkeitssensorObergrenze = 0;
int HelligkeitssensorUntergrenze = 0;
char msg[25];

// Network Settings
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
IPAddress ip(192, 168, 3, 19);
IPAddress gateway(192, 168, 3, 1);
IPAddress subnet(255, 255, 255, 0);

// Local UDP port to listen on
unsigned int localPort = 7002;

// Recipient IP
IPAddress RecipientIP(192, 168, 3, 11);

// Recipient UDP Port
unsigned int RecipientPort = 7001;

// buffers for receiving and sending data
char packetBuffer[UDP_TX_PACKET_MAX_SIZE];

// An EthernetUDP instance to send and receive packets over UDP
EthernetUDP Udp;

Teil 2 – Setup

Der Setup-Teil bleibt im Vergleich zum vorhergehenden Szenario unverändert.

void setup()
{
 // for debug only
 Serial.begin(9600);

 // start Ethernet
 Ethernet.begin(mac,ip);

 // Start UDP
 Udp.begin(localPort);

 // Bewegungsmelder 
 pinMode(Bewegungsmelder, INPUT);

 // send UDP Ready 
 sendUDP("UDP Ready");
}

Teil 3 – Programmablauf (loop)

An dieser Stelle wird es richtig spannend. Zuerst wird bei jedem „loop“-Durchlauf der aktuelle Helligkeitswert mit „Helligkeitssensor=analogRead(A0);“ ermittelt.¬†W√§hrenddessen z√§hlt ein Counter mit, welcher die Variable „HelligkeitssensorCounter“ bei jedem Durchlauf um den Wert 1 erh√∂ht, was sp√§ter wichtig sein wird.

Als n√§chstes fragt eine if-Schleife ab, ob der gerade gemessene Wert „Helligkeitssensor“ entweder gr√∂√üer oder gleich dem Wert „HelligkeitssensorObergrenze“ oder kleiner gleich dem Wert „HelligkeitssensorUntergrenze“ ist. Damit wird verhindert, dass jede kleinste Helligkeits√§nderung eine UDP-Nachricht ausl√∂st. √úber die Variable „HelligkeitssensorSchwellwert“, welche am Anfang festgelegt wurde, kann dieser Schwellwert entsprechend eingestellt werden.¬†Sofern nun keine der Bedingungen zutrifft, passiert nichts weiter.

Sofern sich aber¬†mindestens eine Bedingung bewahrheitet,¬†kommt sofort die n√§chste if-Abfrage ins Spiel.¬†Dabei wird gepr√ľft, ob der Wert der Variable „HelligkeitssensorCounter“ mindestens genauso gro√ü ist wie der Wert der Variable „HelligkeitssensordIdle“. Ist¬†der initial¬†festgelegte Wert¬†von „HelligkeitssensordIdle“ gro√ü genug,¬†kann so sichergestellt werden, dass nach dem Senden einer UDP-Mitteilung etwas Zeit vergeht, bevor eine neue Nachricht abgesendet werden kann. Damit¬†wird verhindert, dass der Empf√§nger zu viele kurz getaktete Nachrichten hintereinander erh√§lt, sofern sich die Lichtverh√§ltnisse in k√ľrzester Zeit (z.B. Strobo-Licht) drastisch √§ndern.

Die eigentliche UDP-Nachricht wird dann √ľber „sprintf(msg, „WZ.Helligkeitssensor: %d“, Helligkeitssensor);“ zusammengesetzt.¬†Dieser „Umweg“¬†ist notwendig, da die „sendUDP“-Funktion den eingelesenen Helligkeitswert direkt als String¬†erwartet. W√ľrde man die Variable „Helligkeitssensor“ hingegen direkt in der Funktion selbst angeben, w√ľrde der korrekte Wert nicht √ľbermittelt werden.

Zum Schluss werden die neuen Ober- und Untergrenzen („HelligkeitssensorObergrenze“ und „HelligkeitssensorUntergrenze“) f√ľr den n√§chsten Durchlauf berechnet und der „HelligkeitssensorCounter“¬†auf 0 zur√ľckgesetzt.

void loop()
{

 // Bewegungsmelder (Send)
 if (digitalRead(Bewegungsmelder) == LOW && BewegungsmelderState != 0)
 {
  sendUDP("WZ.Bewegungsmelder: 0");
  BewegungsmelderState = 0;
 }

 if (digitalRead(Bewegungsmelder) == HIGH && BewegungsmelderState != 1)
 {
  sendUDP("WZ.Bewegungsmelder: 1");
  BewegungsmelderState = 1;
 }

 // Helligkeitssensor (Send)
 Helligkeitssensor=analogRead(A0);

 HelligkeitssensorCounter = HelligkeitssensorCounter + 1;

 if (Helligkeitssensor >= HelligkeitssensorObergrenze || Helligkeitssensor <= HelligkeitssensorUntergrenze)
 {
 if (HelligkeitssensorCounter >= HelligkeitssensordIdle)
  {
  sprintf(msg, "WZ.Helligkeitssensor: %d", Helligkeitssensor);
  Serial.println(msg);
  sendUDP(msg);

  HelligkeitssensorObergrenze = Helligkeitssensor + HelligkeitssensorSchwellwert;
  HelligkeitssensorUntergrenze = Helligkeitssensor - HelligkeitssensorSchwellwert;
  HelligkeitssensorCounter = 0;
  }
 }

 delay(20);
}

Teil 4 – UDP-Sendefunktion

Die¬†Sendefunktion f√ľr die UDP-Nachrichten bleibt im Vergleich zum vorangegangenen Szenario unver√§ndert.

// Function to send UDP packets
void sendUDP(String text)
{
 Udp.beginPacket(RecipientIP, RecipientPort);
 // Udp.write("Test");
 Udp.print(text);
 Udp.endPacket();
}

Programmpr√ľfung per „Seriellem Monitor“

Nach dem Flashen des Arduino-Boards bietet die Arduino-Software mit dem „Seriellen Monitor“ ein praktisches Tool, um die Programmierung zu √ľberpr√ľfen. Mit Klick auf „Werkzeuge“ -> „Serieller Monitor“ wird ein Fenster ge√∂ffnet, in welchem die vom Arduino an den PC √ľbertragenen Daten angezeigt werden k√∂nnen.

Damit entsprechende Daten vom Arduino gesendet werden, muss eine Verbindung zum PC hergestellt (am einfachsten per USB-Kabel) und im Setup-Teil des Sketches die Anweisung „Serial.begin(9600);“ enthalten sein.

Weiterhin m√ľssen die gew√ľnschten Informationen, bspw. die ermittelten Messwerte, √ľber „Serial.println(msg);“ im „loop“-Teil¬†definiert¬†werden und k√∂nnen dann per „Seriellem Monitor“ bequem kontrolliert werden.

Arduino IDE Serieller Monitor

Einrichtung des Smart-Home-Servers

In der¬†Loxone-Config l√§sst sich¬†dann ein neuer¬†„Virtueller UDP Eingang Befehl“, in diesem Fall mit dem Namen „WZ.Helligkeitssensor“ und der Befehlskennung „WZ.Helligkeitssensor: v“, analog zum Beispiel im vorausgegangen Blogpost anlegen und zusammen mit dem Bewegungsmelder aus dem vorangegangen Szenario am¬†virtuellen „Treppenlichtschalter“ anschlie√üen. Er sperrt die Eing√§nge des¬†Treppenlichtschalters solange er einen Wert kleiner 200 aufweist. Erst ab einem h√∂heren Wert kann der Bewegungsmelder das Licht einschalten.

Loxone Config Virtueller UDP Eingang Befehl Helligkeitssensor

Pr√ľfen von¬†Widerst√§nden

Noch kurz¬†zum Thema Widerst√§nde: Man liest recht h√§ufig, dass gerade g√ľnstige Widerst√§nde (Affiliate-Link) durch Produktionsungenauigkeiten teilweise Schwankungen aufweisen.

Widerstaende 200 Ohm

Obwohl das sicher nicht die Regel darstellt, wird an dieser Stelle empfohlen den¬†angegebenen Ohm-Wert von¬†Widerst√§nden (in diesem Fall ein 1K Ohm Widerstand) vorab mithilfe eines Digitalmultimeters (Affiliate-Link) B000VE5QPY zu √ľberpr√ľfen, da man bei Widerst√§nden mit zu geringen Ohm-Werten¬†seine Komponenten durch √úberspannung gef√§hrdet.

Multimeter 1K Ohm Widerstand

G√ľnstige Multimeter sind zwar auch nur beginnt genau, dennoch sollte das f√ľr den Privatanwender mehr als ausreichend sein.

Aus meinem täglichen Leben

Das oben beschriebene Setup habe ich jetzt auch erst seit Kurzem im Einsatz, da ich den Programmcode mehrfach abge√§ndert habe. Grund war schlicht die Tatsache, dass ich weder zu viele¬†unn√∂tige, noch zu wenige Messwerte per UDP in Richtung Loxone Miniserver schicken wollte. Die obige Logik muss sich zwar erst noch bew√§hren, ich denke aber, dass die Kombination aus „√ľbermittle erst, wenn sich neue¬†erst ein St√ľck weit von den alten Messwerten unterscheiden“ und „√ľbermittle erst, wenn etwas Zeit seit der letzten √úbertragung vergangen ist“ dauerhaft vern√ľnftig funktionieren sollte. Wer einen besseren Vorschlag hat, gerne wie immer her damit per Kommentarfunktion.

Die ermittelten Messwerte sollten sich irgendwo bei 90 bei Dunkelheit und 800 bei Helligkeit einpendeln. Diese Werte können, je nach eingesetzten Widerständen, jedoch auch abweichen. Auf Basis der Messwerte habe ich jetzt meinen Loxone Miniserver entsprechend konfiguriert. Bei Bewegung wird erst dann die Beleuchtung eingeschaltet, sofern die Helligkeit unter den Wert 200 fällt.

Um auf obige Logik zur√ľckzukommen. Grundlegend gibt es zwei M√∂glichkeiten um festzulegen, welche Parameter dar√ľber entscheiden, unter welchen Voraussetzungen neue Messwerte (per UDP) √ľbertragen werden.¬†Gew√∂hnlich werden¬†neue Messwerte einfach in regelm√§√üigen Abst√§nden¬†√ľbertragen, auch wenn sich ein Wert¬†nicht oder nur unwesentlich¬†vom vorherigen¬†Wert unterscheidet.

Die hier angewendete¬†Vorgehensweise, nicht direkt bei jeder unwesentlichen¬†Helligkeitsschwankung sofort einen UDP-Befehl zu √ľbertragen, sondern erst dann, sobald sich der aktuelle Messwert um einen¬†festgelegten Schwellwert¬†seit der letzten √úbertragung ge√§ndert hat, halte ich in diesem Fall f√ľr eine¬†elegantere L√∂sung.

Auf diese Weise werden „unn√∂tige“ Nachrichten vermieden, die nichts anderes tun, als den bisherigen (identischen) und bereits √ľbertragenen Wert¬†auf Seiten des Smart-Home-Servers zu best√§tigen. Auf der anderen Seite k√∂nnen bei h√∂heren, schnell aufeinanderfolgenden Messwert√§nderungen, die den vorgegebenen Schwellwert √ľberschreiten, schnell getaktete UDP-Befehle hintereinander abgesetzt werden, was jedoch durch obige Logik dennoch¬†gewollt¬†begrenzt werden kann. Auf diese Weise ist die Smart-Home-Zentrale immer auf dem Laufenden und kann verz√∂gerungsfrei reagieren und bspw. sofort das Zimmerlicht einschalten, sobald die Rollos herunterfahren und den¬†Raum verdunkeln.

Weiter geht es in der Blogserie mit HowTo Teil 4: Status-LED per UDP ansteuern.

Affiliate-Links

[easyazon_image align=“none“ height=“82″ identifier=“B00P0UMEE0″ locale=“DE“ src=“https://www.meintechblog.de/wordpress/wp-content/uploads/2015/06/5145YSBb9mL.SL110.jpg“ tag=“meintechblog-150618-21″ width=“110″][easyazon_image align=“none“ height=“110″ identifier=“B00PC9RJJE“ locale=“DE“ src=“https://www.meintechblog.de/wordpress/wp-content/uploads/2015/06/41KRcnJfRXL.SL110.jpg“ tag=“meintechblog-150618-21″ width=“110″][easyazon_image align=“none“ height=“110″ identifier=“B00INTBOHS“ locale=“DE“ src=“https://www.meintechblog.de/wordpress/wp-content/uploads/2015/06/519o3W8FoUL.SL110.jpg“ tag=“meintechblog-150618-21″ width=“110″][easyazon_image align=“none“ height=“110″ identifier=“B000VE5QPY“ locale=“DE“ src=“https://www.meintechblog.de/wordpress/wp-content/uploads/2015/06/41rr9f8pkdL.SL110.jpg“ tag=“meintechblog-150618-21″ width=“110″]

Loxone im Einsatz? Dann schau dir unseren LoxKurs an und profitiere von unserem Wissen!

Verpasse keine Inhalte mehr! Trage dich in den Newsletter ein und folge uns auf Facebook.

Was ist ein Affiliate-Link? Wenn du auf einen Affiliate-Link klickst und √ľber diesen Link einkaufst, bekomme ich vom betreffenden Online-Shop oder Anbieter eine Provision, was mich u.A. bei den laufenden Kosten den Blogs unterst√ľtzt. F√ľr dich ver√§ndert sich der Preis nicht.

Jörg

hat meintechblog.de ins Leben gerufen, um seine Technikbegeisterung und Erkenntnisse zu teilen. Er veröffentlicht regelmäßig Howtos in den Bereichen Smart Home und Home Entertainment. Mehr Infos

14 Gedanken zu „Arduino im Smart Home – HowTo Teil 3: Helligkeitssensor per UDP an Loxone anbinden“

  1. Moin, moin,
    Danke f√ľr die ausf√ľhrlichen Berichte. Auch wenn ich nicht alles verstehe, so finde ich es hoch interessant. Habe gerade erst angefangen mich in die Thematik PI einzuarbeiten. Installation ist aufgrund der vielseitigen Anleitungen problemlos gelungen.
    Eine Frage, m√∂glich das sie dumm erscheint, oder ich habe die Antwort √ľberlesen,
    warum „ARDUINO“? K√∂nnte das nicht auch √ľber einen PI mit FHEM laufen?
    Gruß Michael

    1. Hi Michael,
      deine Frage ist keineswegs unbegr√ľndet oder dumm. Die Gr√ľnde, warum ich den Arduino (nebem einem RPi mit FHEM) einsetzen m√∂chte, habe ich augenscheinlich noch nicht genug herausgearbeitet. Vieles ist auch mit einem RPi √ľber dessen Pins (GPIO) m√∂glich, da hast du Recht. Der Arduino hat aber gerade f√ľr die hier beschriebenen Anwendungsf√§lle (Sensorik und Aktorik) einige Vorteile, wenn man ihn als Gateway einsetzen m√∂chte.

      Ein Arduino-Board verbraucht aufgrund seines gering getakteten Microcontrollers viel weniger Strom als ein RPi, was gerade dann relevant sein kann, wenn man (wie ich) den Plan verfolgt, jeden Raum mit mindestens einem Arduino als Gateway zwischen den zu installierenden Sensoren/Aktoren und der Smart-Home-Zentrale (z.B. FHEM auf einem RPi oder Loxone) auszustatten. Dadurch sollte auch die W√§rmeentwicklung ein St√ľck geringer ausfallen, was bei hohen Umgebungstemperaturen von entscheidendem Vorteil sein kann, um einer √úberhitzung des Systems zu entgehen.

      Weiterhin gibt es durch die verschiedenen Arduino-Modelle mehr Handlungsspielraum. Der Arduino Nano (Affiliate-Link) – Kostenpunkt um die 6 Euro – ist bspw. wesentlich kompakter als ein RPi und kann damit auf kleinstem Raum (z.B. in einem Unterverteiler) verbaut werden. Arduino Mega (Affiliate-Link) – Kostenpunkt unter 20 Euro -, welcher gr√∂√üentechnisch auf dem Niveau einen RPi ist, hat hingegen mehrere Dutzend Pins, sodass eine Vielzahl von Sensoren und Aktoren (Temperatur, Luftfeuchte, CO2, Niederschlag, Anwesenheit, Helligkeit, Lautst√§rke, Infrarot, Relais, Displays…) gleichzeitig angebunden werden k√∂nnen.

      Ein weiterer Punkt ist die Software. Der gesamte Programmcode eines Arduino umfasst eine √ľberschaubare Anzahl an Codezeilen und kann so mit vertretbarem Aufwand exakt auf die eigenen Bed√ľrfnisse hin angepasst werden, wodurch auch langfristig die Wartung vereinfacht werden sollte. Dabei bringt ein Arduino seinen eigenen Programmspeicher mit und ben√∂tigt keine (auf lange Sicht) fehleranf√§lligere SD-Karte.

      Schließlich ist es auch so, dass der Arduino eine riesige Community besitzt, die sich mit ähnlichen Themen (wenn auch meist nicht im Smart-Home-Kontext) beschäftigen, sodass man eigentlich immer eine passende Lösung zu einem Problem im Netz findet.

      Sicherlich gibt es noch mehr Gr√ľnde einen Arduino einzusetzen, evtl. werde ich dazu auch noch einmal eigenen Blogpost aufsetzen. Hoffe das hilft dir aber erstmal etwas weiter, um meine Beweggr√ľnde nachvollziehen zu k√∂nnen und den Arduino in den Gesamtkontext des Smart Home einzuordnen. Wenn du weitere Fragen hast, z√∂gere nicht sie zu stellen.

      Gr√ľ√üe
      Jörg

  2. Hallo,

    ich finde die Beitr√§ge auf meintechblog SEHR GUT (1,0). Ich w√ľrde mich SEHR freuen wenn ein HowTo mit FHEM statt Loxone noch entstehen w√ľrde!?! Da ich schon l√§nge auf der suche bin aber micht noch nicht getraut habe mir ein Arduino zu kaufen. (Liegt wohl an der gro√üen Auswahl der Boards und der Pakete).

    Weiter so.

    1. Hi Frederic,
      freut mich, dass die Artikel insgesamt gut anzukommen scheinen. Da ich mich erst seit Kurzem in die Arduino-Materie einarbeite, wollte ich vorerst die Integration mit Loxone in Angriff nehmen, da ich damit bereits Erfahrungen mit UDP in Sende- und Empfangsrichtung gesammelt habe und gleichzeitig nicht noch mehrere Baustellen aufmachen wollte. FHEM steht aber definitiv auf meiner Liste, sp√§testens wenn andere √úbertragungstechniken (z.B. RS485 Funk) zum Einsatz kommen. Auch Christoph wird k√ľnftig bestimmt dar√ľber bloggen, da er sich jetzt ebenfalls verst√§rkt mit dem Thema Arduino besch√§ftigt und FHEM als prim√§re Smart-Home-Zentrale einsetzt.

      Gr√ľ√üe
      Jörg

  3. Hallo Jörg,

    kann man die Schaltungen auch kompakter gestalten? Das man die ganzen Komponeten verwenden kann, ist wirklich klasse! Nur möchte ich nicht immer so ein eher nicht so schönes Board dran haben. Gibt es da eine Lösung?

    Gruß

    Sebastian

    1. Hi Sebastian,
      gute Anmerkung. Diesen Punkt habe ich wohl noch nicht klar genug herausgestellt. Alle Aufbauten, die bisher beschrieben wurden, stellen lediglich eine tempor√§re Testumgebung dar, um die Funktionen zu testen und bei Bedarf schnell √Ąnderungen am Hardwaresetup vornehmen zu k√∂nnen. Sobald der gesamte Aufbau einmal fertig ist, sollen die Komponenten dann permanent auf einer selbst gesignten Leiterplatte, auch PCB (printed circuit board) genannt, ihren Platz finden. Wie das dann aussehen kann, wird im nachfolgenden YouTube-Video ab Minute 01:55 deutlich: https://www.youtube.com/watch?v=durXAuJWGk4

      Bis ich jedoch an diesem Punkt angelangt bin, wird sicherlich noch einige Zeit vergehen, da ich mich erst noch tiefer in die Materie einarbeiten muss, um alle Funktionen nach meinen W√ľnschen umsetzen zu k√∂nnen. Aber hey, der Weg ist das Ziel und mit jeder neuen Erkenntnis wird das ganze Thema nur noch spannender. Den Weg dorthin m√∂chte ich dabei eifrig dokumentieren und hier zur Verf√ľgung stellen.

      Gr√ľ√üe
      Jörg

  4. Moin Jörg,
    Sehr interessant Deine Ausf√ľhrung.
    Wenn ich Dich richtig verstehe ist diese Variante sehr gut f√ľr z. B. Temperaturen geeignet. Ein Vorhaben ist es eine Brennraumtemperatur Mittels Thermoelement zu messen und als Diagramm zu visualisieren.
    Frage: Ist das direkt mit dem PI machbar? ich denke eher nicht, da ein Meßumformer benötigt wird Рoder?
    Mit einem Arduino in Verbindung eines MAX 6675 sollte es aber möglich sein.
    Kann ich das dann unter FHEM mit dem PI nutzen? Wenn ja wie.
    Gruß Michael

    1. Hi Michael,
      der RPi hat sechs Pins, die als analoge Eing√§nge f√ľr genau solche Zwecke genutzt werden k√∂nnen. Sowas habe ich zwar noch nicht selbst umgesetzt, dein Vorhaben sollte aber mit einem FHEM, dem Thermoelement und dem Messumformer am RPi zu realisieren sein. Wie genau, kann ich dir aktuell in einem Satz leider nicht beantworten. Als Einstieg kann dir aber vielleicht der Artikel Raspberry Pi: GPIOs schalten im FHEM-Wiki weiterhelfen.

      Gr√ľ√üe und viel Erfolg
      Jörg

  5. Sehr schöner und informativer Artikel !
    Dennoch habe ich eine Bitte.
    Empfehle bitte keine Multimeter dieser Qualität und Preisklasse.
    Diese Dinger sind f√ľr Bastler bis 9 Volt okay.
    Aber sie sind ebenso rausgeworfenes Geld.
    Wenn man sich mal den Spaß macht und durchaus etwas teurere Voltcraft, UniT oder ähnliche Geräte öffnet, friert einem auch hier noch oft das Blut in den Adern augenblicklich ein.
    Es sagt auch niemand, dass es gleich bei Fluke oder Keysight/Agilent enden muss.
    Bei Reviews kommen beispielsweise Extech und Amprobe relativ gut weg.

    Vern√ľnftige Messleitungen, Eingangsschutz, 0,5% Grundgenauigkeit sind hier schon f√ľr 50 ‚ā¨ zu haben!

    1. Hi Stephan,
      hast du einen konkreten Produktvorschlag f√ľr ein Messger√§t, was deiner Meinung nach preislich noch erschwinglich ist?

      Gr√ľ√üe
      Jörg

  6. Hallo,

    Ich bin gerade √ľber dieses HowTo gestolpert. Ich finde es sehr gut geschrieben und auch detailliert genug f√ľr Anf√§nger. Aber im ersten Teil steht dass die Spannung flie√üt. Ich will nicht kleinlich sein, aber das sollte unbedingt ge√§ndert werden. Spannung liegt an und Strom flie√üt. Ansonsten Daumen hoch f√ľr den Aufwand.

  7. Hallo Jörg,
    als Loxone User der gerade anfängt mit Arduinos zu experimentieren ist das eine perfekte Anleitung. Ich glaube das muss ich heute doch mal nachbauen!

  8. Moin Jörg,

    auf Grund deines Beitrages bin ich auf die Idee gekommen mit ein Arduino zu holen um hier mal etwas zu experimentieren. Ich selbst habe auch Loxone bei mir im Haus verbaut.
    Ein Super Blog hat du hier. Mach weiter so.
    Ich habe aber auch mal eine Frage, h√§ttest du einen Ansatz f√ľr mich, wie ich Analogwerte mit dem Loxone Sende (z.B. Temperatur) und die mit dem Arduino empfange? Das w√ľrde mir f√ľr mein Projekt sehr weiter helfen.
    Gruß
    Stefan

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert