Internet of Things

1 Einstieg in die Programmierung mit C++

Nach Bearbeitung dieses Kapitels können Sie ...

  • ... Abläufe in Einzelschritte zerlegen und strukturieren.
  • ... Konsolenprogramme erstellen, die nach erfolgter Eingabe Berechnungen durchführen. Hierbei werden u.a. Kontrollstrukturen und Schleifen verwendet. Anschließend erfolgt eine Ausgabe.

Zunächst wird auf die Grundlagen der Programmierung eingegangen und die erforderlichen Programmschritte in einem Programmablaufplan mit Hilfe des PAP-Designers dargestellt. Anschließend werden die Programme für die Konsole in der Sprache C++ erstellt.

Hilfe finden unter 'Links und Videos'.

Für das Erstellen des Programms gibt es verschiedene Möglichkeiten:

  • Nutzen Sie einen C++-Online-Compiler oder ...
  • ... laden Sie eine geeignete IDE (Integrierte Entwicklungsumgebung) für C++ herunter und installieren Sie diese auf Ihrem PC. Z.B.:
    • Qt. Für diese Einführung reicht die Komponente 'MinGW 5.3.0 32-bit' aus.
      Ein neues Projekt erstellen Sie über: 'Datei - Neu... - Projekt ohne Qt - Reine C++-Anwendung - Build-System: qmake'
      Hilfe erhalten Sie in der Dokumentation oder im Qt wiki
    • Dev C++
    • eclipse IDE for C/C++

Arbeitsauftrag:

  • Bearbeiten Sie die Übungsaufgaben aus den Kapiteln 1 und 2. Bearbeiten Sie zu jedem Thema mindestens drei Aufgaben und kommentieren Sie den Quelltext .
    Speichern Sie den erstellten Programmcode unter der zugehörigen Nummer ab.

Links und Videos:

2 Mikrocontroller-Programmierung

In diesem Kapitel lernen Sie den Umgang mit dem Arduino, Programmierung in C++ und die Verwendung der digitalen und analogen Eingänge und schalten diverser Aktoren.

Zum Kapitel Mikrocontroller-Programmierung...

3 Mikrocontroller mit einem Netzwerk verbinden

Der in diesem Abschnitt verwendete ESP8266 lässt sich weitgehend mit den gleichen Befehlen programmieren wie der ATmega328. Zusätzlich enthält der Chip ein WiFi-Modul, mit dem sich umfangreiche Möglichkeiten ergeben auf die Ein- und Ausgänge zuzugreifen.

Zum Kapitel Netzwerk-Anbindung mit ESP8266...

4 Umgang mit Daten

In diesem Abschnitt geht es um die verschiedenen Arten Daten zu speichern und sinnvoll auszuwerten. Behandelt werden sowohl relationale wie auch nicht-relationale Datenbanken.

Zum Kapitel BigData...

5 Raspberry Pi

Der Raspberry Pi hat ebenfalls digitale Ein- und Ausgänge. Da er im Vergleich zum Arduino auch einen sehr leistungsfähigen Prozessor hat, kann er im IoT-Umfeld auch andere Aufgaben, z.B. als MQTT-Broker, übernehmen.

Zum Kapitel Raspberry Pi...

6 Node-RED

Hierbei handelt es sich um ein grafisches Entwicklungswerkzeug, das auf einem beliebigen Server installiert werden kann und über seine Vielzahl an Ein- und Ausgangsknoten Verbindungen im Internet der Dinge herstellen kann.

Zum Kapitel Node-RED...


7 Themenübergreifende Aufgaben

  1. Simulieren Sie mit dem Arduino eine Schaltschranküberwachung. Schließen Sie einen Temperaturfühler an. Der Lüfter wird durch eine LED simuliert. Das Öffnen der Schaltschranktür wird durch einen Taster simuliert.
    Die Drehzahl des Lüfters soll temperaturabhängig gesteuert werden. Sobald die Tür geöffnet wird, soll der Lüfter abgeschaltet werden und die rote LED soll blinken. Nach dem Schließen der Tür erlischt die rote LED und der Lüfter läuft weiter.
    Kommentieren Sie den Quellcode und speichern Sie diesen unter dem Namen 'Schaltschrank_01.c' ab.

8 Platinen gestalten und produzieren

Bisher haben wir das Laborboard mit dem Arduino benutzt. Dieses Board eignet sich nicht für reale Projekte. Üblicherweise werden die für das Projekt benötigten Bauteile auf einer Steckplatine (engl.: breadboard) verdrahtet und die Funktion getestet. Anschließend wird mit einer Software, z.B. fritzing oder Eagle, die optimale Verbindung der Bauteile ermittelt (routing). Auf dieser Grundlage kann die Leiterplatte (engl.: PCB - printed circuit board) hergestellt werden.

AISLER stellt Platinen auch in kleinen Auflagen her.

Aufgaben:

  1. Laden Sie fritzing herunter und entpacken Sie es auf Ihrem PC.
  2. Erstellen Sie für die Ampelschaltung ein geeignetes Layout. (Unter Learning finden Sie ausführliches Tutorials.)
  3. Erstellen Sie für weitere Projekte ebenfalls ein Layout.

9 Links

10 Literatur*

  1. Erik Bartmann: Mit Arduino die elektronische Welt entdecken. Bombini Verlag, Bonn 2017, ISBN: 978-3-946496-00-7[3]
  2. Michael Magolis: Arduino Kochbuch. O’Reilly Verlag, Köln 2012, ISBN: 978-3-86899-353-0
  3. Jürgen Wolf: C von A bis Z. Rheinwerk Computing, Bonn 2009, ISBN: 978-3-8362-1411-7 (OpenBook)

[*] Bei der angegebenen Literatur handelt es sich nicht um Schulbücher. Der Erwerb ist für den Unterricht nicht erforderlich und nicht vorgeschrieben. Die Bücher geben die Möglichkeit, sich tiefer in ein Teilgebiet ein zu arbeiten.
[**] Der Erwerb ist für den Unterricht nicht erforderlich und nicht vorgeschrieben. Es gibt jedoch die Möglichkeit, sich tiefer in ein Teilgebiet ein zu arbeiten und auch außerhalb des Unterrichts zu experimentieren.