Für einen Kunden aus der Bühnentechnik wurde eine Portierung der Programmlogik von einer alten PIC18 basierten Hardware auf eine ESP32 basierende, neue Produktgeneration vorgenommen. Im Rahmen der Produktmodernisierung wurde die bestehende Programmlogik von C auf C++ portiert, sowie eine Schnittstelle für OTA-Firmwareupdates via HTTP implementiert.
Es handelt sich um eine Embedded Gerätesoftware für ein über Ethernet steuerbares Lichtzeichen auf ESP32 Basis. Das Lichtzeichen verfügt über eine LED-Matrix und wird über ein Custom-Protokoll von verschiedenen Netzwerkteilnehmern über Ethernet geschalten.
Meine Aufgaben dabei:
· Portierung des C Custom-Protocol Stacks von PIC18 auf ESP32 in C++
· Konfiguration der Hardware
· Einrichtung und Dokumentation der Entwicklungsumgebung
· Anbindung der LED-Treiber an die Hardware
· Auslesen und berechnen der Akkukapazität, Restladezeit und Restlaufzeit
· Implementierung Firmware Update Over The Air
Aktivitäten:
Requirements Engineering, Implementierung, Test, Dokumentation
Technologien:
C/C++, ESP32, TCP, UDP, Multicast, I2C, OTA
Tools:
VS Code, Platform.io, Wireshark, Gitlab
Für einen Hersteller von Bahntechnik wurde eine WPF Applikation entwickelt, die über USB HID und DFuSe automatisch Mikrofon-Hardware des Herstellers erkennt und einen Firmwareupdate durchführt.
Des Weiteren wurde die Firmware des Mikrofons um ein automatisiertes Software-Update für einen eingebetteten VICCom 2 Audioprozessor über RS232 realisiert. Die Binaries des Audioprozessors wurden hierfür in die Firmware des STM32 Chips integriert.
Meine Aufgaben dabei:
· Requirements Engineering
· Konzept Software Architektur und Datenstrukturen
· Konzept UI/UX, Mockups
· Implementierung automatischer DFU Update Wizard
· Implementierung USB-HID Geräteschnittstelle
· Implementierung Firmwareupdate des Audioprozessors via RS232
· Code- und Entwicklerdokumentation
· Gestaltung der WPF Oberfläche
· Portierung, Erweiterung und Wartung von Legacy Code
·
Identifizierung
von Softwareständen sowie Versionierung der Stände mit Git
Aktivitäten:
Requirements
Engineering, Design, Architektur, Implementierung, Test, Dokumentation
Technologien:
C#, WPF, C, USB
HID, RS232, STM32, DFuSe, VICCom 2
Tools:
Visual Studio, IAR
Workbench, VS Code, DfuSeCmd, ST-Link
Modulare WPF MVVM Desktop-Applikation für das Zusammenstellen, Konfigurieren und Durchführen von Prüfschritten für die Qualitätssicherung von Werkstücken. Über die Applikation werden verschiedenste Prozeduren der Bildverarbeitungssoftware Halcon geladen, parametriert und in eine gewünschte Prüfschritt-Ablaufreihenfolge gebracht. Der Output jeder einzelnen Prozedur wird als Bild visualisiert, ausgegebene Parameter werden bewertet und beeinflussen das Gesamtprüfergebnis. Der erstellte Prozedurablauf kann als JSON Datei exportiert und wieder geladen werden. Die Ansichten und Funktionen der Oberfläche sind abhängig von der vom Endanwender freigeschaltenen Lizenz-Stufe verfügbar.
Meine Aufgaben dabei:
· Requirements Engineering
· Konzept Software Architektur und Datenstrukturen
· Konzept UI/UX, Mockups
· Implementierung Authentifizierungs- und Lizensierungs-Service
· Implementierung Service für zentrales Logging
· Implementierung Service für Dateisystem-Handling
· Code Reviews
· Code- und Benutzerdokumentation
· Gestaltung der WPF Oberfläche
· Schreiben von Unit Tests mit NUnit
· Aufgabenkoordinierung
Aktivitäten:
Requirements Engineering, Design, Architektur, Implementierung, Test, Dokumentation
Technologien:
C#, WPF, .NET 5, Halcon, Prism, JSON, BCrypt
Tools:
Visual Studio, MVTec Hdevelop, NUnit
Übernahme und Erweiterung einer bestehenden, vom Vorgänger nicht mehr gepflegten Gerätesoftware für vernetzte Lautsprecher auf PIC32 Basis. Das Gerät wird über ein Custom-Protokoll über Ethernet konfiguriert und gesteuert. Es verarbeitet Multicast Audiostreams und gibt diese wieder. Über eine RS485 Schnittstelle können die Lautstärke manuell vom Endanwender angepasst und Info-Texte ausgegeben werden.
Meine Aufgaben dabei:
· Erweiterung und Wartung der Geräte-Steuerlogik auf PIC32-Microcontroller
· Erweiterung der Firmwareupdatefunktion in der Bootloader Software
· Problemanalysen, Bugfixing und Verifizierung
· Realisierung eines Fehler-Tracings
· Wartung von Legacy-Code
· Konzeption und Implementierung eines ethernetbasierten Custom-Protokolls.
· Erstellen von Wireshark Dissektoren für das Custom-Protokoll
· Anbindung einer externen Lautstärkeregelung über RS485 mit bidirektionalem Custom-Steuer-Protokoll
Aktivitäten:
Requirements
Engineering, Design, Implementierung, Test, Dokumentation
Technologien:
C, PIC18, UDP,
TCP, Sockets, RS485
Tools:
MPLAB X IDE, Wireshark,
TeraTerm, DevOps Server
Bereitstellung einer Open API REST-Schnittstelle zum Filtern, Transformieren und Abrufen von Material- und Medikament-Prüfergebnissen aus kundeninternen Datenbanken für externe Anwender. Die Ursprungsdaten liegen im XML-Format über mehrere kundeninterne Datenbanken verteilt vor und sind von der Datenstruktur nicht konsistent. (Legacy Problem ? über Jahrzehnte gewachsenes System).
Um eine einheitliche Datenbasis für externe Kunden (Prüfer) bereitstellen zu können, müssen die Daten von der API in JSON-Dokumente nach eindeutigen JSON-Schemata transformiert werden. Der Zugriff auf die API ist konfigurierbar über Active Directory Group Policies für den Endanwender einschränkbar.
Die Validierung der transformierten JSON-Prüfergebnisse kann über automatisierte Unit-Tests inhaltlich mit den offiziellen Prüfbericht-Dokumenten im Excel-Format abgeglichen werden.
Meine Aufgaben dabei:
· Konzept Software Architektur und Datenstrukturen
· Konzept Open API Swagger-Dokumentation
· Code Review
· API End to End Tests
· Abgleich von XML-Prüfberichten mit transformierten JSON-Ergebnissen über NUnit Tests
· Aufgabenabstimmung und Aufgabenkoordinierung
·
Requirements
Engineering
Aktivitäten:
Projektmanagement,
Testing, Design, Architektur, Requirements Engineering
Technologien:
C#, .NET 6, JSON
/ JSON Schema, Nunit, REST API, ASP.NET.Core, SQL, XML
Tools:
Visual Studio, DevOps,
Git, Swagger UI, Postman, SQL Server Management Studio
Abstraktion generisches Datenmodell einer beliebigen Folienblasanlage als JSON Template
Realisierung einer Templating-Engine in Java zur Generierung von custom Kibana-Dashboards auf Basis eines Anlangentemplates im JSON Format
Generierung von JSON Config Files für einen custom OPC UA Datenkollektor auf Basis eines Anlagentemplates im JSON Format über eine Java Applikation.
Inhalte: Zu lesende OPC UA Datenpunkte, Daten-Subscription oder Polling-Intervall, Anzeigenamen für Datenpunkte, Metainformationen, JSON Dokumentstruktur, Elasticsearch-Zielinstanzen, zu verwendende Elasticsearch-Index-Schemata, zu verwendende Index-Mappings
Programmierung eines OPC UA Clients (Datenkollektor) in C++ auf Basis des ?open62541? SDK.
Aufsetzen der containerisierten Projektumgebung als Docker Schwarm (swarm) für den Betrieb im Cluster
Skalierung des Systems für Single-Computer und On-Premise Cluster
Schaffung einer Python-basierten Commandline Middleware zur zentralen Steuerung des Stacks (Build, Test, Deploy, Debug, Statistics, Web-Requests)
Formulieren von Alerting-Regeln in Elasticsearch/Kibana für definierte Maschinendaten und Systemereignisse
Authentifizierung von Benutzern über Basic Authentication
Deployment der Platform auf Systemen des Herstellers
Systemstests, Problemanalysen, Bugfixing und Verifizierung
Aktivitäten:
Requirements Engineering, Design, Implementierung, Systemtest, Dokumentation, DevOps, Support
Technologien:
C, C++, Java, Python, REST, Debian, SSH, Elasticsearch, Kibana, Logstash, Beats, Grafana, NGINX, OPC UA, OPC UA Server/Client, open62541, Docker-Container, JSON, YAML
Tools:
VS Code, Postman, Azure Devops Server, Bash, Docker, Docker-Compose, Pylint, Shellcheck, Hadolint, Google Test, Jenkins, Gitlab
Embedded Gerätesoftware für ein über Ethernet steuerbares Lichtzeichen auf PIC18 Basis. Das Lichtzeichen verfügt über eine LED-Matrix und wird über ein Custom-Protokoll von verschiedenen Netzwerkteilnehmern über Ethernet geschalten.
Meine Aufgaben dabei:
· Konzept Software Architektur
· Anbindung des Ethernet Bausteins in die Applikation
· Verarbeitung von UDP, TCP und Multicast Paketen
· Anbindung der LED-Treiber mit I2C
· Konzeption und Implementierung eines Custom-Protokolls über Ethernet
· Erstellen von Wireshark Dissektoren für das Custom-Protokoll
Aktivitäten:
Requirements Engineering, Design, Implementierung, Test, Dokumentation
Technologien:
C, PIC18, TCP, UDP, Multicast, I2C
Tools:
MPLAB IDE, VS Code, Wireshark, DevOps Server
Embedded Gerätesoftware für eine Tastatur mit beleuchtbaren Tasten auf STM32 Mikrocontroller Basis. Die Tastatur steuert mit einem Custom-Protokoll via Ethernet eine Vielzahl an Netzwerkteilnehmern. Die Tastenbelegung sowie Tastenfarbe werden von einer Dritt-Anwendung über das Protokoll gesteuert.
Meine Aufgaben dabei:
· Konzept Software Architektur
· Anbindung des Ethernet Bausteins in die Applikation
· Verarbeitung von UDP, TCP und Multicast Paketen
· Konzeption und Implementierung eines ethernetbasierten Custom-Protokolls.
· Erstellen von Wireshark Dissektoren für das Custom-Protokoll
· Ansteuerung und Mapping von verketteten 16-Bit LED-Treibern über SPI
· Implementierung einer Tastenerkennung mit Entprellung für Tasten in Matrizenschaltung
· Auswerten von analogen Eingangssignalen
Ausgabe von regelbaren PWM Signalen
Aktivitäten:Requirements Engineering, Design, Implementierung, Test, Dokumentation
Technologien:C, STM32, UDP, TCP, Multicast, LWIP, RAW Sockets, SPI, I2C, PWM
Tools:STM32 Cube IDE, GNU Toolchain, Wireshark, DevOps Server
Embedded Gerätesoftware für eine Steuerplatine auf PIC18 Basis. Die Platine beherbergt einen Drehgeber mit Button sowie ein mehrzeiliges LC-Display. Die Anwendereingaben am Drehgeber werden erfasst und über ein Custom-Protokoll via RS485 an eine Lautsprecherplatine übertragen.
Meine Aufgaben dabei:
· Konzept Software Architektur
· Realisierung einer Logik zum störfreien Auslesen von Encoder-Rotationen und Button Events
· Anbindung eines TFT Displays über I2C
· Konzeption und Implementierung eines Custom-Protokolls über RS485
· Senden von Encoder und Button Events über RS485
· Empfangen von Displayinformationen über RS485
· Überwachung des RS485 Status über eine Heartbeat Funktion
Aktivitäten:
Requirements Engineering, Design, Implementierung, Test, Dokumentation
Technologien:
C, PIC18, RS485, I2C
Tools:
MPLAB IDE, VS Code, TeraTerm, DevOps Server
Für einen großen Gerätehersteller im Pharma-Bereich wurde eine Desktop-Anwendung in WPF entwickelt, mit welcher die Mitarbeiter RFID Tags an Maschineneinsätzen manipulieren können. Es können mehrere Parameter in die Tags geschrieben werden. Als Unterstützung für die Mitarbeiter kann eine Vielzahl der Parameter über einen DMC-Leser in die Applikation eingelesen werden, sodass nicht jeder Wert per Hand eingetippt werden muss.
Meine Aufgaben dabei:
· Konzept Software Architektur
· Requirements-Engineering
· Software Requirements Specification
· Definition von Systemtests
· Coaching und fachliche Führung des Junior-Entwicklers
Realisierung eines WPF Moduls für die Benutzeroberfläche im Rahmen eines Systems zur automatischen Kalibrierung von Laserablenkeinheiten
Meine Aufgaben dabei:
· Verwaltung der Maschinentypen- und ?parameter
· Steuerung der Kalibrierung
· Anzeige von Ablauf- und Diagnoseinformationen
· Prototypentwicklung mit Mock-Objects
· Schnittstelle für Wrapper-Schicht zur Anbindung von C++ Bibliotheken
· Problemanalysen, Bugfixing und Verifizierung
Aktivitäten: Requirements Engineering, Design, Implementierung, Test
Technologien: C#, .NET, WPF, Prism
Tools: Visual Studio, TFS, Git
Aktivitäten
Requirements Engineering, Design, Implementierung, Systemtest, Dokumentation, DevOps
Technologien
REST, Debian, Elasticsearch, Kibana, Logstash, Beats, NGINX, Docker-Container, JSON, YAML
Tools
Visual Studio Code, Postman, Azure Devops Server, Bash, Docker, Docker-Compose, Pylint, Shellcheck, Hadolint
Aktivitäten
Implementierung, Systemtest, Dokumentation, DevOps, Beratung
Technologien
Ubuntu, Docker-Container, Node.js, Angular, YAML
Tools
Azure Devops Server, Bash, Docker, Docker-Compose, Shellcheck, Hadolint, Apache2
Aktivitäten
Requirements Engineering, Design, Implementierung, Systemtest, Dokumentation
Technologien
C#, WPF, Prism, Prism.Unity, .NET 4.6.2, REST, OpenAPI, Web-Sessions, JSON, XML
Tools
Visual Studio 2019, Postman, Azure Devops Server, Swagger Editor, Sandcastle
Aktivitäten
Requirements Engineering, Design, Implementierung, Test
Technologien
C#, .NET 4.6.2, WPF, Prism
Tools
Visual Studio 2017, TFS, Git
Aktivitäten
Requirements Engineering, Design, Implementierung, Test, Dokumentation
Technologien
C#, .NET 4.6.2, VSTO, Windows Ribbon Framework, Restful API, Web-Sessions, Singleton Pattern,
Tools
Visual Studio 2017, Postman, TFS, Outlook 2016
Aktivitäten:
Implementierung, Testspezifikation, Integrationstest, Systemtest , Dokumentation
Technologien:
STM32, Embedded Linux, C11
Tools:
Eclipse mit STM32-Toolchain, STM32-CubeMx, ST-Link, git, Polarion, Doxygen
Aktivitäten
Implementierung, Test
Technologien
C, STM32
Tools
Eclipse mit STM32-Toolchain, ST-Link, STM32-CubeMx, git
Aktivitäten
Test, Dokumentation
Technologien
Embedded Linux
Tools
Mantis, TFS, Word
Software Engineer, Requirements Engineer
Industrie
Maschinenbau
Medizintechnik
Veranstaltungstechnik
Messtechnik
Direktester geht's nicht! Ganz einfach Freelancer finden und direkt Kontakt aufnehmen.