Files
ihk-ausbildung/2-Ausbildungsjahr/LF7-Cyber-physische-Systeme/LF7-Notizen.md

226 lines
4.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# LF 7: Cyber-physische Systeme ergänzen
> **2. Ausbildungsjahr** | Zeitrichtwert: **80 Stunden**
## Kernkompetenz
Die Schülerinnen und Schüler verfügen über die Kompetenz, die physische Welt und IT-Systeme funktional zu einem cyber-physischen System zusammenzuführen.
---
## Lernziele
Nach diesem Lernfeld kannst du:
- [ ] Ein CPS analysieren und dessen Komponenten beschreiben
- [ ] Datenfluss an Schnittstellen verstehen
- [ ] Sensoren und Aktoren auswählen und integrieren
- [ ] IoT-Kommunikationsprotokolle anwenden
- [ ] Energiebedarf berechnen
- [ ] System testen und dokumentieren
- [ ] Sicherheitsaspekte berücksichtigen
---
## Was ist ein CPS?
```
Cyber-Physical System (CPS)
├── PHYSISCHE WELT
│ ├── Sensoren (Messdaten erfassen)
│ └── Aktoren (physikalische Aktionen)
├── IT-SYSTEM
│ ├── Steuerung/Regelung
│ ├── Datenverarbeitung
│ └── Speicherung
└── KOMMUNIKATION
├── Netzwerkverbindung
└── Protokolle (MQTT, REST, etc.)
```
### CPS vs. IoT
| Merkmal | CPS | IoT |
|---------|-----|-----|
| Fokus | Steuerung + Regelung | Vernetzung + Daten |
| Bereich | Produktion, Auto | Consumer, Gebäude |
| Echtzeit | Oft kritisch | Meist weniger |
---
## Sensoren
### Typen
| Sensortyp | Messgröße | Anwendung |
|-----------|-----------|------------|
| Temperatursensor | °C/°F | Klimaanlage |
| Feuchtigkeitssensor | %rH | Gewächshaus |
| Drucksensor | bar/Pa | Hydraulik |
| Lichtsensor | Lux | Beleuchtung |
| Abstandssensor | cm/mm | Automatisierung |
| Füllstandssensor | % | Tank |
| Bewegungssensor | bool | Sicherheit |
### Schnittstellen
```
Sensor-Schnittstellen
├── Analog
│ ├── 0-10V
│ └── 4-20mA (Stromschleife)
├── Digital
│ ├── I2C (Two-Wire)
│ ├── SPI
│ ├── 1-Wire
│ └── UART
└── Funk
├── Zigbee
├── Bluetooth LE
└── LoRa
```
---
## Aktoren
### Typen
| Aktortyp | Funktion | Beispiel |
|---------|---------|---------|
| Relais | Schalten | Licht, Motor |
| Motor | Drehung | Roboterarm |
| Ventil | Durchfluss | Hydraulik |
| Heizelement | Wärme | 3D-Drucker |
| LED | Lichtsignal | Statusanzeige |
| Piezo | Tonalarm | Signalton |
---
## Mikrocontroller & Einplatinencomputer
### Vergleich
| Plattform | Prozessor | RAM | GPIO | OS |
|-----------|-----------|-----|------|-----|
| **Arduino Uno** | ATmega328P | 2KB | 14 | Nein |
| **Raspberry Pi 4** | ARM Cortex-A72 | 8GB | 40 | Linux |
| **ESP32** | Xtensa | 520KB | 34 | FreeRTOS |
| **BBC micro:bit** | ARM Cortex-M4 | 256KB | 19 | Keins |
### Programmierung
```python
# Raspberry Pi / Python Beispiel
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
GPIO.setup(18, GPIO.OUT)
try:
while True:
GPIO.output(18, True) # LED an
time.sleep(1)
GPIO.output(18, False) # LED aus
time.sleep(1)
except KeyboardInterrupt:
GPIO.cleanup()
```
---
## IoT-Kommunikationsprotokolle
### MQTT
**Publish/Subscribe-Prinzip:**
```
Publisher Broker Subscriber
│ │ │
│──Topic: temp───>│ │
│ │──temp───> │
│ │ │
│──Topic: temp───>│ │
│ │ │
```
**Beispiel (Python):**
```python
import paho.mqtt.client as mqtt
def on_connect(client, userdata, flags, rc):
client.subscribe("sensor/temperature")
def on_message(client, userdata, msg):
print(f"Temperatur: {msg.payload.decode()}")
client = mqtt.Client()
client.on_connect = on_connect
client.on_message = on_message
client.connect("broker.example.com", 1883)
client.loop_forever()
```
### REST API
```
HTTP-Methoden:
GET → Daten abrufen
POST → Daten erstellen
PUT → Daten vollständig ersetzen
PATCH → Daten teilweise ändern
DELETE → Daten löschen
```
---
## Energiebedarf
### Berechnung
```
P = U × I (Leistung = Spannung × Strom)
Beispiel:
Mikrocontroller: 5V × 0,5A = 2,5W
Stunden pro Tag: 24h
Verbrauch/Tag: 2,5W × 24h = 60Wh = 0,06kWh
Jahr: 0,06kWh × 365 = 21,9kWh
```
---
## Handlungsphasen
1. **Analysieren**: Bestehendes System verstehen
2. **Informieren**: Technische Dokumentation studieren
3. **Planen**: Komponentenauswahl, Konzept erstellen
4. **Implementieren**: Software, Hardware integrieren
5. **Testen**: Funktion prüfen, dokumentieren
6. **Reflektieren**: Optimierungsmöglichkeiten finden
---
## Prüfungsrelevanz
- Wichtig für Anwendungsentwicklung
- Projektion in LF 10a-12a
- Praxisbezug für Abschlussprojekt
---
## Querverweise
- [[2-Ausbildungsjahr/LF6-Serviceanfragen|Vorher: LF 6]]
- [[2-Ausbildungsjahr/LF8-Daten-bereitstellen|Nachher: LF 8]]
- [[IoT-Programmierung|IoT-Programmierung Vertiefung]]
---
*Stand: 2024 | Quelle: KMK Rahmenlehrplan 13.12.2019*