Firmware

Aus homeautomation.x-api.de
Version vom 7. Oktober 2017, 10:01 Uhr von Robertadmin (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „Mit Firmware wird die Software bezeichnet, die mit einem Gerät an den Anwender ausgeliefert wird. Im eigentlichen Sinn des Wortes ist es nur die Software, die…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche

Mit Firmware wird die Software bezeichnet, die mit einem Gerät an den Anwender ausgeliefert wird. Im eigentlichen Sinn des Wortes ist es nur die Software, die auf dem Gerät selbst fest eingespeichert ist und ggf. durch ein sog. Update verändert werden kann. Es werden hier aber auch die Softwareanteile dazu gerechnet, die ein Gerät spezifisch bedienen, also z.B. eine spezielle APP auf einem Smartphone für die Wartung eines bestimmten Gerätes.

Aber auch die Software, mit der Standardgeräte (Smartphones, Tablets, PCs, Smart Watches, Wearables, etc.) in die dezentrale Heimautomatisierung integriert werden, fallen hier unter den Begriff Firmware. Damit wird die Unterscheidung zu der Software getroffen, die ein Anwender selbst entwickeln kann, um seine Heimautomatisierung an individuelle Vorstellungen anzupassen. Die Gestaltung einer entsprechenden Programmierschnittstelle ist wiederum ein Bestandteil der Firmware.

Entwicklungsumgebung

Heutzutage werden von den meisten Mikrocontroller-Herstellern die Software-Entwicklungssysteme kostenlos zur Verfügung gestellt. Hat sich ein Gerätehersteller auf den Einsatz eines bestimmten Mikrocontrollers bzw. einer bestimmten Mikrocontroller-Familie festgelegt, so ist das zugehörige Entwicklungssystem sicher eine sehr gute Wahl für die Softwareentwicklung.

Für die Ausbildung und/oder im Rahmen eines universell anwendbaren Projektes ist die Festlegung auf einen bestimmten Mikrocontroller und das zugehörige Entwicklungssystem allerdings der falsche Weg. Hier ist der richtige Ansatz, ein bestimmtes Entwicklungssystem gut zu beherrschen und das für die Softwareentwicklung mit beliebigen Mikrocontrollern einzusetzen. Sehr gute Ansätze sind dabei u.a. die Konzepte von Arduino und PlatformIO. Beide lassen sich auch mit anderen Freeware-Entwicklungssystemen wie Eclipse oder mit Programm-Editoren wie Visual Studio Code kombinieren.

Es soll im Rahmen dieses Projektes keine Bevorzugung eines bestimmten Entwicklungssystems oder Mikrocontrollers erfolgen. Das beste Entwicklungssystem ist immer das, mit dem der Anwender am besten umgehen kann und das er ohne unverhältnismäßig großen Aufwand für die Programmierung beliebiger Mikrocontroller anpassen kann. Hier werden die Entwicklungssysteme (bzw. Konzepte) vorgestellt, mit denen der eine oder andere Teilnehmer am Projekt der dezentralen Heimautomatisierung gute Erfahrungen gemacht hat.