Embedded Software Engineering

Design von Embedded Systemen und Software Entwicklung in C/C++

Technologien

C/C++, Bluetooth Low Energy, Bluetooth Mesh, WiFi, NFC, MQTT, I2C, SPI, UART

Software Entwicklung in C/C++

Die dominanten Programmiersprachen im Embedded Umfeld sind C und C++, da sie Hardware-nahe Entwicklung und gute Performance erlauben.

Konnektivität

Embedded Systems müssen häufig mit ihrer Umwelt kommunizieren. Dabei kommen Busse wie I2C und UART oder drahtlose Technologien wie Bluetooth Low Energy zum Einsatz.

Internet-of-Things

Durch Verbinden von Embedded Systeme mit dem Internet können völlig neue Use-Cases entstehen. Diese reichen von OTA Updates bis zur periodischen Übermittlung von Sensordaten.

Technologische Expertise

kombiniert mit fachlichen Verständnis der Probleme des Kunden

C/C++

Nahezu alle Projekte auf Embedded Basis verwenden C oder C++ als Programmiersprache, da diese direkten Zugang zur Hardware erlauben und mehr Kontrolle über Ressourcen wie Speicher und Prozessorzyklen erlauben als die meisten anderen Sprachen. Darüber hinaus wird C und C++ Code von Compiler für die entsprechende Platform optimiert, sodass der Speicherverbrauch reduziert und die Performance verbessert wird.

Expertise in komplexer Softwarearchitektur

Expertise in komplexer Softwarearchitektur

Bluetooth Low Energy

Eine der wichtigsten Technologien im Embedded Umfeld ist Bluetooth Low Energy. Es erlaubt den drahtlosen Datenaustausch zwischen zwei Geräten, wie Bluetooth Classic, benötigt aber nur einen Bruchteil der Energie. Basierend auf einem Client-Server Modell lassen sich beliebige Use-Cases implementieren, zum Beispiel das Bereitstellen von Sensordaten, das Konfigurieren von Geräten oder OTA Updates der Embedded Firmware. 

WiFi

Um Embedded Systeme mit dem Internet zu verbinden, kommt meist WiFi zum Einsatz. Darüber hinaus ist WiFi als Internetzugang weit verbreitet, so findet sich in fast jedem Haushalt und öffentlichem Gebäude ein Access Point. Wenn ein Embedded System mit einem WiFi Netzwerk verbunden wird lassen sich interessante Use-Cases implementieren, so kann ein Gerät mit einem Cloud-Backend kommunizieren oder OTA Updates installieren.

Expertise in komplexer Softwarearchitektur

Expertise in komplexer Softwarearchitektur

Jonas Wolf

Als Experte für Embedded Systeme und IoT bin ich seit vielen Jahren als freiberuflicher Berater und Softwareentwickler tätig. Ich beschäftige mich mit Softwareengineering von komplexen Softwarearchitekturen, agiler Softwareentwicklung und Usability. Als System-Designer habe ich Erfahrung in der Entwicklung von vernetzten Produkten, die Bluetooth Low Energy oder WiFi zur Konnektivität nutzen.