Smart Home System mit Mikrocontrollertechnik Arduino und Raspberry

So wie in der Industrie „Industrie 4.0“ in aller Munde ist, so ist es beim trauten Heim das Thema „Smart Home“. Gemeint ist hierbei das Vernetzen unterschiedlicher Funktionen im Haushalt. Darunter fallen z.B. Beleuchtung, Heizungsregelung oder Rollladensteuerung. Ziel ist es meist die täglichen Abläufe zu automatisieren, Energie effizienter zu nutzen und die Wohn- und Lebensqualität zu erhöhen. Inzwischen ist der Markt für Smart Home Produkte ziemlich unübersichtlich geworden. Es gibt viele Hersteller und noch mehr Lösungen um die Automatisierungsaufgaben umzusetzen. Doch alle haben Sie eins gemein: Wer sein komplettes Haus automatisieren will muss tief in die Tasche greifen. Hier setze ich an – mit selbstgebauten Lösungen aus Mikrocontrollern bzw. Arduino und Raspberry Pi.

Im Rahmen meiner Weiterbildung zum staatlich geprüften Techniker habe ich für das Fach „Mikrocontrollertechnik“ dieses Thema als „kleine“ Projektarbeit gewählt. Es ist noch lange nicht fertig und wird auch Stück für Stück erweitert werden. Dennoch möchte ich euch heute schon einmal einen kleinen Einblick geben, was bisher entstanden ist. (Diese Onlinedokumentation wird nach und nach erweitert)

Der Hardwareaufbau erfolgt Großteils mit Arduinotypischen Komponenten. Ebenso wird der Code mit der Arduino Umgebung geschrieben.

Zielsetzung und Anforderungen

  • Einbau auch in Häusern möglich in denen kein BUS System wie z.B. KNX vorhanden ist
  • Einfacher Austausch der vorhandenen Elektroinstallation durch die entwickelten Smart Home Komponenten
  • „Look and Feel“ also das Aussehen und die Bedienbarkeit sollte denen kommerzieller Produkte nahekommen
  • Gehäuseteile mit 3D-Drucker herstellbar
  • Möglichkeit der Produktion einer Kleinserie

Allgemeiner Entwicklungsprozess der Smart Home Module

Bei allen Modulen des Smart Home Systems erfolgt die Entwicklung stufenweise.

Benötigte Komponenten ermitteln

Als erstes wurden Gedanken über die spätere Funktionsweise und die daraus benötigten Hardwarekomponenten angestellt. Anschließend wurde ein Prototyp auf dem Steckbrett realisiert, um die allgemeine Funktionsweise zu testen. Dieser Schritt ist wichtig, da hier sehr gut die Nutzbarkeit der Komponenten unter Beweis gestellt wird. Oft musste hier schon auf andere Hardware ausgewichen werden, da z.B. ein Temperatursensor zu ungenau oder die zur Verfügung stehenden Bibliotheken schlecht bzw. nicht ausgereift waren.

Schaltplan erstellen

Hat es der Hardwareaufbau über diese erste Alphaphase geschafft ging es daran den Schaltplan mit einer CAE Software zu erstellen. Verwendet wird hier EAGLE von Autodesk.
Der Schaltplan basiert auf der Minimalbeschaltung des in allen Modulen eingesetzten Mikrocontrollers ATmega328P. Die Zusatzkomponenten wurden nach den empfohlenen Hardwaredesignrichtlinien des jeweiligen Herstellers (im Datenblatt zu finden) an den Mikrocontroller angebunden.

Platinen entwickeln und fertigen

Die Platine wurde mit der gleichen Software unter Berücksichtigung mechanischer Gesichtspunkte entworfen und dann bei einem Leiterplattenhersteller gefertigt.

Platinen bestücken und löten

Da die meisten Bauteile wegen des Platzbedarfes als SMD (Surface Mounted Device = Oberflächenmontiertes Bauelement) gewählt wurden und sich diese nur schlecht/aufwendig von Hand löten lassen erfolgt das Löten mit dem Reflow-Lötverfahren.

Programm erstellen und auf den Mikrocontroller übertragen

Als erstes muss auf den fabrikneuen Mikrocontroller ein Bootloader mithilfe eines ISP-Programmes aufgespielt werden. Erst dann lässt sich über einen USB-zu-Seriell-Wandler das eigentliche Programm direkt aus der Arduino IDE flashen.

Hardwarewahl

Bei den einzelnen Modulen des Smart Home Systems werden zur Kosteneinsparung (Mengenrabatt) und zur Vereinfachung des Entwicklungsprozesses die gleichen Hardwarekomponenten verwendet (bei gleicher Funktion). Im Folgenden werden die Vorteile und damit die Wahl der entsprechenden Komponente aufgezeigt

Mikrocontroller „ATmega 328P-AU TQFP-32“:

ATMega 328P

Bildquelle: www.microchip.com

  • Standard-Mikrocontroller der meisten Arduino Boards (UNO, Mini, Nano etc.) -> Massenprodukt dadurch sehr günstig
  • Volle Unterstützung durch die Arduino Umgebung (Bootloader, Arduino IDE)
  • Genügend Speicher und Anschlüsse für die meisten Module

Miniaturnetzteil „Mean Well IRM-01 3.3“:

MeanWell IRM-01 3.3
  • Sehr niedriger Eigenverbrauch und gute Effizienz (66%) (<0,075W) -> Wichtig, da der Schalter rund um die Uhr am Netz ist
  • Printmontage bei kleiner Baugröße -> Direktmontage auf einer Platine, welche in eine Standardinstallationsdose passt
  • Weitbereichseingang von 85-305VAC bei 47-63Hz -> In allen Teilen der Welt verwendbar
  • Voll integriert -> Keine weitere Entwicklungsarbeit beim Netzteil nötig
  • Ausgangsspannung von 3,3V -> Gewählte Systemspannung für Mikrocontroller und Zusatzmodule

Funkmodul „HopeRF RFM69“:

Bildquelle: www.hoperf.com

• Sehr gute Bibliotheken für Arduino verfügbar -> Einfache Ansteuerung und Integration möglich. Verwendet wird die RFM69 Bibliothek von „LowPowerlab“
• Hohe Sendeleistung von maximal 20dBm -> hohe Reichweite
• Kompaktes SMD Package -> Geringer Platzverbrauch auf der Platine
• Betriebsspannung von 1,8V – 3,6V -> Optimal für gewählte Systemspannung von 3,3V
• Integrierte Packetengine für Synchronwort, CRC, Scrambling und AES-Verschlüsselung -> Wenig Aufwand beim Senden und Empfangen der Daten (Vor allem Hardwaremäßige Verschlüsselung der Funkkommunikation)

Relais „FINDER 36.11.9.003.4011“:

Relais Finder 36.11.9.003.4011

• Spulenspannung von 2,2-3,9VDC -> Direkt mit der verwendeten Systemspannung von 3,3V schaltbar
• Schalten von Netzspannung mit maximal 10A möglich -> Ausreichend für Deckenlampen (beim Funk-Wandtaster) und die meisten Elektrogeräte (Funk-Steckdose)
• Kompakte Bauart

Quarz 8MHz

Bildquelle: www.tme.eu

• Taktung des Mikrocontrollers mit 8MHz da dies laut Datenblatt die maximal mögliche Taktung bei einer Spannungsversorgung von 3,3V ist
• Stromersparnis durch langsameren Takt als z.B. 16MHz
• Genauerer Takt als der interne Takt des Mikrocontrollers

OLED Display 0.96″

Bildquelle: www.buydisplay.com

• Ideale Größe der Anzeigefläche (23,8×12,9 mm) passend für die (durchsichtige) Tasterwippe
• Auflösung von 128×64 Pixel -> Scharfe Darstellung der Zeichen und Symbole
• Niedriger Energieverbrauch
• OLED Technologie -> guter Kontrast, sowohl bei direkter Sonneneinstrahlung wie auch im Dunkeln

17 Antworten auf „Smart Home System mit Mikrocontrollertechnik Arduino und Raspberry“

  1. Hallo, hätte eine Frage bezüglich des Systems. Ist das System bei Ihnen derzeit noch im Einsatz, können Sie die Software zur Verfügung stellen und wie genau wurde der Mikrocontroller programmiert und würden Sie heute immer noch den ATMEGA328P einsetzen oder eher auf einen ARM Cortex umsteigen? Danke im Vorraus

    1. Hallo,
      Ja das System ist im Einsatz (Testphase). Ich habe auch eine Teststation aufgebaut, um neue Softwarelösungen zu testen. Leider habe ich momentan wenig Zeit alles zu dokumentieren.
      Die Software kann ich zum aktuellen Zeitpunkt noch nicht herausgeben.
      Der Mikrocontroller wurde zuerst per AVR ISP mit einem Bootloader programmiert. Anschließend lässt er sich über die UART Schnittstelle direkt aus der Arduino Umgebung heraus programmieren.
      Ja ich würde immer noch auf den Atmega setzen. Die Leistung ist für diese Zwecke ausreichend, einfache Programmierung mit der Arduino Umgebung inkl. aller Bibliotheken usw. und vor allem günstige Anschaffungskosten.

  2. Sehr interessantes Projekt. Bin auf der Suche nach einem Tragring auf die Seite gestoßen.
    Würde mich für Deinen Tragring interessieren, kann man bei Dir eine Kopie der Druckdatei erwerben ?

  3. Hallo Florian,

    mich würde vor allem die Zutrittskontrolle interessieren. Gibt es hier Neuigkeiten? Außerdem ist mir die Liste der benötigten Bauteile des hier vorgestellten Projekts nicht ganz klar. So wie ich das sehe hast Du beim Arduino Gateway eine Ethernetplatine und das Funkmodul auf der Prototypenplatine verbaut. Welche Ethernetplatine kommt zum Einsatz oder ist das auch Eigenbau? Und wieso kann man nicht den Raspberry als Gateway und Server nehmen? Entschuldige wenn ich dumme Fragen stelle, aber ich mache mich gerade erst mit dem Thema vertraut.

    1. Hallo Sebastian,

      Die Zutrittskontrolle habe ich erst einmal auf Eis gelegt, da ich mir mit der verwendeten Hardware noch unschlüssig bin. Eigentlich wollte ich RFID verwenden, aber die für Arduino erhältlichen Chips sollen ziemlich leicht zu knacken/manipulieren sein.
      Beim Arduino Gateway benutze ich das Arduino Ethernetshield v1 (kein Eigenbau) , das Funkmodul ist auf einer Protypenplatine.
      Klar könnte man den Raspberry als Gateway und Server hernehmen, aber das war nicht mein Plan. Mein Plan ist es den Raspberry im Keller im Serverschrank unterzubringen (da der Serverschrank aus Metall ist, wäre hier schonmal gar kein Funk möglich) und die Gateways (jeweils ein Gateway pro Etage) im Haus zu verteilen. Das sorgt für bessere Funkabdeckung.

      1. Auf welchem Weg können die Chips gehackt werden? WLAN? Wenn man das ganze per Ethernet anbinden würde, wäre dann das Problem erledigt? Ich habe bisher nur gelesen, dass die Mifare Classics nicht besonders sicher sind. Bei Desfire soll das Problem angeblich nicht bestehen. Meinst Du das?

        1. Ja genau die Mifare Chips sollen nicht besonders sicher sein. Also die Chips die man normalerweise bei den Arduino Bauteilen bekommen. Und wenn ich damit die Haustüre sicher, dann sollte das schon „sicher“ sein.

  4. Hallo Florian,
    Ich planer derzeit auch eine Home-Automatik und suche schon länger nach Gehäusen für die UP-Dosen.
    Die Lösung ein aktuelles Gehäuse nachzudrucken ist genial.
    Würdest Du mir die STL und die Eckdaten der Platinengrößen zur Verfügung stellen?
    Ich benutze auch am liebsten den ATMega328, programmiere allerdings ausschließlich in Assembler.

    1. Gerne, wenn ich wieder daheim bin sende ich dir die STL Daten.
      Du programmierst nur in Assembler? Machbar aber durchaus sportlich. Assembler benutze ich nur für zeitkritische Dinge wie Interrupts und so. Für alles andere sind Hochsprachen wie C++ etc einfach komfortabler.

  5. Was für ein geniales Projekt, Respekt! Bin ebenfalls auf der Suche nach einem Tragring auf Deine Seite gestoßen. Könntest Du mir auch die STL-Datei zukommen lassen? Das wäre super nett… aber mal davon abgesehen, coole Projekte, bin gespannt was sonst noch alles kommen wird! Grüße, Michael

  6. Hallo Florian, du hast da ein sehr interessantes Projekt. Ich bin auf dein Projekt bei der Recherche nach Tastern gekommen. Ich selbst konstruiere Momentan einen WLAN Taster, welcher per MQTT spricht. Der Fortschritt liegt bei ca. 90%. Zur Zeit mache ich mir Gedanken über das Aussehen des Tasters. Version 1 habe ich dem Loxone TreeBus Taster nachempfunden. Ein Taster im KNX Style hat aber auch was 😉

    Ist dein Projekt Open Source? Falls ja, gibt es das Projekt irgendwo als Download?

  7. Hallo Florian,

    ich hoffe, Du hast momentan wieder etwas mehr Luft. Ich finde Dein Projekt wirklich genial und möchte es gerne in meinem Haus nutzen. Vielleicht entschließt Du Dich ja dazu, dieses Open Source zu machen, oder mir vielleicht Dateien zur Verfügung zu stellen? Ich würde mich sehr freuen.

  8. Servus Florian,

    ich habe Dein Projekt mittlerweile nachgebaut und bin froh, darauf gestoßen zu sein. Danke für Deine Mühe und auf weitere Projekte.

Fragen? Verbesserungsvorschläge? Einfach kommentieren...

Copyright © Hering Projects

%d Bloggern gefällt das: