Neue Themen

1 Entwurfsmuster[1]

In der Softwareentwicklung gelten einige fundamentale Prinzipien, die auch die Basis für die viele Entwurfsmuster sind. Entwurfsprinzipien:

  • Einfachheit vor Allgemeinverwendbarkeit
    Mit der Allgemeinverwendbarkeit steigt auch die Komplexität einer Lösung. Deshalb eher einfache Lösungen anstreben, diese sind einfacher wartbar.
  • DRY - Don't Repeat Yourself
    Struktur und Logik nicht wiederholen.
  • Prinzip der minimalen Verwunderung
    Lösungen müssen leicht verständlich sein.
  • Prinzip der einzelnen Verantwortlichkeit
    Jede Klasse sollte nur für eine Aufgabe konzipiert werden.
  • Offen-Geschlossen-Prinzip
    Komponenten sollten offen für Erweiterungen, aber geschlossen gegenüber Veränderungen sein. Eher eine Klasse hinzufügen, als Code zu modifizieren, nur Korrekturen und Verbesserungen werden durchgeführt. (siehe auch Prinzip der einzelnen Verantwortlichkeit)
  • Prinzip der gemeinsamen Wiederverwendung
  • Keine zirkulären Abhängigkeiten

Dokumentationsprinzipien

  • aus der Sicht des Lesers
  • Warum beschreiben, nicht Wie!

1.1 Erzeugungsmuster[2]

  • Singleton[3] - nur eine Instanz einer Klasse. Problematisch.
  • Multiton[4] ???

1.2 Strukturmuster[5]

1.3 Verhaltensmuster[7]

Eilebrecht, Karl [Verfasser]: Patterns kompakt  : Entwurfsmuster für effektive Softwareentwicklung / von Karl Eilebrecht, Gernot Starke . - 5. Aufl. 2019 , 2019 . - 1 Online-Ressource (XIII, 239 S. 65 Abb) . - (IT kompakt). ISBN: 978-3-662-57937-4

Freeman, Eric [Verfasser]: Entwurfsmuster von Kopf bis Fuß . - 2. Aufl , 2015 . - Online-Ressource (689 S.). ISBN: 9783955619879

Gamma, Erich [Verfasser]: Design Patterns  : Entwurfsmuster als Elemente wiederverwendbarer objektorientierter Software . - 1., 2015 , 2015 . - Online-Ressource (480 S.) . - (mitp Professional). ISBN: 9783826699030

2 https://de.wikipedia.org/wiki/Prinzipien_objektorientierten_Designs

- SOLID-Prinzipien

3 Hausautomation

3.1 openHAB

3.2 ESPEasy

ESPEasy ist eine Firmware für den ESP8266, die über ein Web-Interface konfiguriert wird.

  • Download der aktuellen Version von https://github.com/letscontrolit/ESPEasy/releases und entpacken
  • Flashen Sie mit dem Programm bin/FlashESP8266.exe die Firmware ESP_Easy_mega-20xxxxxx_dev_ESP8266_4096.bin auf den ESP (ausführliche Anleitung).
  • ESP reset
  • Verbinden Sie sich mit dem WLAN-AP des ESP und öffnen Sie die Seite http://192.168.4.1
  • Verbinden Sie jetzt den ESP mit Ihrem WLAN - nutzen Sie Ihren eigenen Hotspot.

Jetzt können Sie Ihren ESP über das Web-Interface (http://ESP-Easy-0) konfigurieren.

Achten Sie darauf, dass das ESPEasy-Web-Interface nur aus dem lokalen Netz erreichbar ist - nicht aus dem Internet!

3.3 Tasmota

https://github.com/arendst/Sonoff-Tasmota

4 I2C Interface

I2C 128 Adressen

4.1 Adresse ermitteln

https://arduino-projekte.webnode.at/i2c-scanner/ kann die Adressen der angeschlossenen I2C-Geräte ermitteln und gibt diese hexadezimal im Seriellen Monitor aus.

4.2 InfluxDB

  • ... den Unterschied zwischen einer Relationalen und einer Time-Series-Datenbank erläutern.
  • ... Messdaten mit einem ESP8266 in einer InfluxDB speichern.
  • ... Daten in einer InfluxDB verwalten.

  1. Laden Sie die Binaries für Ihren Computer herunter: https://portal.influxdata.com/downloads/ und entpacken Sie diese
  2. Starten Sie C:\influxdb-1.7.4-1\influxd.exe - anschließend steht Ihnen die Datenbank auf Port 8086 zur Verfügung.
  3. Fügen Sie in der Arduino-IDE über die Bibliotheksverwaltung die Library 'ESP8266 Influxdb' hinzu.
  4. Öffnen Sie das Beispiel Datei - Beispiele - ESP8266 InfluxDB - examples - Writing_Single.