Benutzer-Werkzeuge

Webseiten-Werkzeuge


themen:software:embedded_programming

Das Internet der Dinge

Neue Buzzwords braucht das Land. Einher mit „5G“ und „autonomen Fahren“ geht auch das „Internet der Dinge“ (IOT). Letzteres dümpelte aber schon seit Jahrzehnten als „Smart Home“ durch Technik-affine Kreise der Bevölkerung und scheiterte stets an Konnektivität, langsamen oder nicht vorhandenen Netzverbindungen und absurd hohen Kosten. Das könnte nun anders werden bzw. ist bereits in vielen Bereichen anders geworden und zeigt immer noch durch Unausgereiftheit vor allem hinsichtlich Sicherheit und Zuverlässigkeit Probleme auf, die man ohne diese Technologie gar nicht hatte - bei bislang recht begrenztem Nutzen.

Hier möchte ich erst einmal ganz allgemein auf evolutionäre Entwicklung, Problembereiche und grundsätzliche Funktion der Technik „Digitalisierung“ eingehen. Wie verhalten sich „analoge“ Menschen und Tiere gegenüber „digitalen“ Maschinen ?

Tiere, Menschen und Roboter

Nachdem die Psychologie unter Freud und Jung Menschen tiefenpsychologisch über Bewusstsein und Unterbewußtsein analysierten, führte die naturwissenschaftliche Ausrichtung der Wissenschaft bei Verhaltensforschern und Psychologen wie Pawlow, Watson und Skinner zu einem :de:Behaviorismus genanntem Ansatz. Dabei betrachtet man tierisches und menschliches Verhalten in einem „Black Box“ Modell, wo äußere Reize ein konditionierbares Verhalten triggern und zu recht voraussagbaren Aktionen führen.

„Falsches“ Verhalten könnte man so durch geeignete Konditionierung schneller heilen, als tiefenpsychologisch „unterbewussten“ Verhaltensmustern auf den Grund zu gehen. So mechanistisch und primitiv dieser Ansatz auch ist, werden einfache „Störungen“ wie Phobien auch heute noch mit behavioristischen Methoden behandelt. Moderne Richtungen der Psychologie (z.B. kognitive Verhaltens-Psychologie, Beck/Ellis) haben aber komplexere Verhaltensmodelle, wie etwa die :de:ABCDE-Theorie, die im Kern aber immer noch Skinner's Black box erkennen lassen:

Was Tiere und Menschen jedenfalls von Maschinen unterscheidet, sind recht vielschichtige Emotionen, die meist nicht rational begründbar und zuverlässig planbar „programmiert“ werden können - Phänomene wie Liebe, Eifersucht oder kognitive Dissonanz sind bei Robotern erst mal nicht zu erwarten und sie „verhalten“ sich auch bei Konditionierung per „Deep Learning“ (ein weiteres Buzzword der künstlichen Intelligenz) noch wirklich „behavioristisch“ (also in Ermangelung von Empathie psychopathisch). Moralische Entscheidungen sollte man diesen Maschinen also besser nicht überlassen.

Da die Behavioristen ihre Modelle und Menschenbild bereits vor dem Einfluss einer Industriegesellschaft entwickelten, sahen sie in Mensch und Tier jedenfalls auch nur leicht manipulierbare Maschinen und so ist es nicht verwunderlich, dass ihr Menschenbild so genau jenem entspricht, das Informatiker und Techniker von ihren Robotern, Computern und IoT- Geräten haben. Das kann man ganz allgemein nämlich so darstellen:

Mit Energie gegen die Zeit

Ganz wichtig im Bild oben sind die Zeit-Achse und die durch einen Blitz dargestellte Energie- Zufuhr. In jedem System dieses Universums gilt der zweite Hauptsatz der Thermodynamik, auch Entropie-Satz genannt. Aus diesem folgt, das jede Zustandsänderung an einem System (Erzeugung von Entropie/Ordnung) Wärme (Extropie) verursacht. Es wird also eine Energiequelle benötigt (im Bild oben als Blitz dargestellt), welche dem Controller Änderungen des Systemzustands (intern wie extern) ermöglicht und dabei fällt Wärme ab - je mehr Zustandsänderungen (Arbeit) pro Zeiteinheit (Leistung) erfolgen, desto mehr Energie wird in Wärme „zerstrahlt“. In einigen Anwendungsfällen (etwa Multimedia, KI) benötigt man schnelle Verarbeitungs - bzw. Reaktionszeiten bei einem hohen Datendurchsatz bzw. komplexen Sensordaten - Energieumsatz bzw. Wärmeentwicklung setzen hier aber natürliche Grenzen. Das Kühlen heißer Elektronik verschlingt dabei noch mehr Energie als die von der Hardware geleistete „Arbeit“. Das gilt auch für Quantencomputer die dank Supraleitung nicht mehr durch Leitungswiderstände belastet sind - dafür aber ständig auf Temperaturen nahe der absoluten Minimaltemperatur von -273.15°C herunter gekühlt werden müssen.

Natürlich konnte die Leistung über die letzten Jahrzehnte durch Miniaturisierung bis herunter zu Leitungslängen im Nanometer-Bereich um etliche Zehnerpotenzen erhöht werden, aber dafür schalten und walten in Prozessor-Chip AMD Ryzen 7 inzwischen auch 5 Milliarden Transistoren, die unter Last bis zu 95 Watt Strom verheizen. Gegenüber der „natürlichen“ Intelligenz sehen auch solche Prozessor - Boliden energetisch noch immer recht alt aus - viel mehr als die „Intelligenz“ einer Stubenfliege ist hier leider noch nicht zu erwarten. Das man mit wesentlich weniger leistungsfähigen Prozessoren autonome Autos ausrüsten will, die in Krisensituationen moralische Entscheidungen treffen müssen (welche Menschenleben riskiert man bei einem nicht mehr zu vermeidendem Unfall) gibt schon zu denken.

Immer taktvoll

Im obigen Modell ist noch eine Uhr mit dem Controller verbunden. Damit ist eine Taktquelle bzw. eine zeitliche Synchronisierung gemeint. Nicht nur verbundene Computersysteme sondern auch menschliche Gesellschaften funktionieren nicht ohne zeitliche Synchronisierung (Stichwort: alljährliche Zeitumstellung). Das setzt sich sogar bis in unsere biologischen Nervensysteme fort, wo auch Frequenzen wie Alpha- bis Theta- Wellen den Datefluss zwischen den Neuronen synchronisieren. Wie im menschlichem Gehirn gibt es in den Controllern eine Vielzahl von Taktquellen und mindestens ein extern zugeführtes Taktsignal. Auch die Schnittstellen zur Außenwelt sind meist getaktet und alle Controller mit Internet- Anschluss benötigen die koordinierte Weltzeit UTC zur korrekten Funktion. Synchronisation ist vor allem kritisch, wenn Sensoren Daten über mehrere parallel geschaltete Datenleitungen (Busse) weitergeben, denn dann müssen zu bestimmbaren Zeitabständen an all diesen Leitungen neue Daten anliegen. Das ist so aufwändig, dass für hohe Datenraten eher seriell über eine Leitung (teilweise mit zusätzlicher Taktleitung) Daten übertragen werden. Moderne Digital-Schnittstellen von Microcontrollern wie USB, IIC, HDMI, SPI, SATA, Ethernet und CAN sind ausnahmslos seriell getaktet und haben langsame und sperrige Parallel-Busse wie PATA, SCSI und Centronics weitestgehend verdrängt.

Das Matroschka-Prinzip

Wenn man in eine dieser russischen Püppchen schaut, findet man darin eine weitere, etwas kleinere. So ist es mit dem „Innenleben“ eines Controllers oder Sensors auch. In einem modernen „System on a Chip“ wie ein Espressif ESP32 oder auch einem Intel Core i Prozessor finden sich eine Vielzahl von Subsystemen - die Blackbox enthält viele weitere Blackboxen. Viele Sensoren, von einfachen Thermometern oder Drucksensoren bis hin zu Kameramodulen liefern bereits aufbereitete oder gar komprimierte Daten über eines der oben genannten seriellen Busse (häufig etwa IIC). Dazu benötigt der Sensor selbst schon einen Controller, der die gemessenen/erfassten Rohdaten digitalisiert und über diesen Bus getaktet überträgt. Ähnliches gilt natürlich auch für die Aktoren. Die Anforderungen an Sensoren und Aktoren sind häufig ganz anders als die an den schnellen Hauptcontroller, dafür muss etwa ein simples Timing zwar vergleichsweise langsam, aber sehr präzise eingehalten werden. Der Hauptprozessor verarbeitet meist viele Prozesse quasi simultan und läuft unter einem Nicht-„Echtzeit“-fähigem Betriebssystem wie Linux. Ein primitiver 8-Bit- AVR-Controller (wie im Arduino) eignet sich zur Steuerung etwa eines (Schritt-)Motors echt besser. Natürlich kann ein „Aktor“ auch erheblich leistungsfähiger als der Computer sein, der ihn steuert. Moderne Graphikkarten und VR-Headsets etwa haben in ihrem Spezialgebiet mehr Prozessorleistung als der PC, der sie ansteuert und werden deshalb auch für KI- Aufgaben oder zum „Schürfen“ von Bitcoins genutzt.

Big Data

Jeder Controller benötigt zur Darstellung seines internen Zustands zumindest ein wenig Speicher. Hier müssen flüchtiger (RAM), beschreibbarer (Flash) und Nur-Lese-Speicher (ROM) in verschiedenen Geschwindigkeiten unterschieden werden. Der schnellste Speicher kann (etwa als „Register“) direkt von Maschinenbefehlen des Prozessors genutzt werden, dann gibt es noch unterschiedlich getaktete Caches (die schnellsten werden mit Prozessortakt getaktet) und schließlich nur über Daten- und Adressbus direkt adressierbaren Arbeitsspeicher. Moderne Microcontroller und SOCs integrieren all das im Chip, wobei Microcontroller keinen vollständigen Adressbus oder Datenbus für parallel adressierten externen Speicher heraus führen. Speichererweiterung geht hier nur über serielle Busse, per SPI können zum Beispiel auch schon die populären SD- Speicherkarten angeschlossen werden. Hier kann man dann aber eher schon von „Massenspeicher“ (wie auch eine mechanische Harddisk) sprechen. Für Desktop-Rechner verwendete SOCs (etwa Intel's Pentium Silver/Gold) haben natürlich noch klassische parallele Address/Daten-Busse zwecks flexibler Systemarchitekturen bei guter Performance.

Spätestens wenn Massenspeicher (also nicht mehr direkt per Prozessorbefehl erreichbarer Speicher) ins Spiel kommt, wird die Software so aufwändig, dass man ein leistungsfähiges Betriebssystem zur Speicherverwaltung braucht. Das gilt um so mehr für Netzwerkschnittstellen.

Nichts geht mehr ohne Netzwerke

Noch ist ein Großteil der von Microcontrollern gesteuerten Geräte nicht vernetzt. Dadurch bleiben die Anforderungen an die Software- und Hardware- Leistungen recht bescheiden. Hier legte man Wert auf geringe Kosten und recht simpel gestrickte Bedienoberflächen. Nur selten findet man hier graphische (Touch-)Displays und eher primitive LED/LCD-Displays und nur ein paar Tasten. Die „Generation Smartphone“ will und kann von solch einer Benutzerschnittstelle - wie man sie noch besonders bei Uhren, Mikrowellenherden, Food-Prozessoren, Fernsehgeräten und Auto-Entertainment findet nichts mehr wissen. Sie möchte diese Geräte selbstverständlich über ihr geliebtes Smartphone steuern können - damit kann man inzwischen ja sogar recht billige Spielzeugdrohnen fliegen.

Das ist mit den häufig in solchen Geräten noch verbauten 8- oder 16- Bit Microcontrollern aber nicht zu schaffen, besonders wenn die Ansteuerung per Handy über das heimische WLAN- Netzwerk funktionieren soll. Die WLAN- Kommunikationsprotokolle gehören wie das Kabel-gebundene Ethernet zum IP- „Protokollstapel“, sind also ein Teil der schichtenweise aufgebauten Internet- Protokolle. Um sie zu nutzen, müssen zumindest alle Schichten dieses Stapels von der Anwendungsschicht bis herunter zum konkreten Funkprotokoll, das kleine Datenpakete über Antenne sendet und empfängt in den Arbeitsspeicher geladen sein. 8-Bit oder 16-Bit Microcontroller unterscheiden oft noch Programmspeicher und Datenspeicher und haben von letzterem nur ein paar Kilobyte. Mehr als 10 KB davon werden für die einfachsten Protokollstapel zwar nicht gebraucht, aber die Anwendung will auch noch etwas haben. Ein Bluetooth- Stapel ist deutlich weniger anspruchsvoll, weshalb manche Geräte nur das unterstützen und für eine Smartphone- Steuerung reicht das auch - wenn man das fummelige „paaren“ des Geräts mit einem bestimmten Smartphone in Kauf nehmen will.

Schließlich möchte man manches Gerät auch erreichen können, wenn man sich nicht zuhause aufhält. Alarmanlagen die bei Feuer oder Einbruch keine Mitteilung an den Bewohner schicken sind sinnlos, eine Heizungs- oder Klimaanlage will man vielleicht auf dem Heimweg schon einschalten. Wenn letztlich alle Bewohner alle Geräte - bis zur Beleuchtung - in der Wohnung mit dem eigenen Smartphone oder auf Zuruf an „Alexa“ oder eine ihrer Schwestern steuern können, ist das sicher attraktiv. Das ist ohne eine aufwändige und vor allem standardisierte Netzwerkarchitektur wie IP aber sicher kaum realisierbar. Die alten Smart-Home Ansätze kranken hauptsächlich an fehlender Inteoperabilität. Wo jeder Hersteller sein eigenes Süppchen mit proprietären Protokollen fährt, kann das nicht funktionieren- oder es wird sehr teuer, weil jeder dieser Hersteller alles selbst entwickeln muss.

Feind hört mit

Wenn das ganze lokale Netzwerk mit all seinen Geräten nun auf eine Internet-Verbindung zugreifen kann, bedeutet das ein eklatantes Sicherheitsproblem, denn nun kann weltweit jeder Verbrecher all seine Finten einsetzen, um dies lokale Netz zu hacken und zu kompromittieren. Identitätsdiebstahl und Erpressbarkeit gehören dabei zu den schwerwiegendsten Problemen. Aber auch trotz einer mit viel Getöse und den Nutzer nur mit nervenden Cookie-Akzeptanz-Klickorgien Datenschutz -Grundverordnung (DSGVO)

themen/software/embedded_programming.txt · Zuletzt geändert: 2019/04/07 20:20 von kzerbe