2024:
-----
Projekt:
Privates Projekt: SDR Zeitmessung für den Modellbausport
Aufgabe:
Entwicklung eines MYLaps RCx kompatiblen Decoders. Das
MYLaps Zeitmeßsystem ist weit verbreitet im Modllbau- und auch
Motorradrennsport. Daher sind die entsprechenden Transponder
weit verbreitet. Ziel ist es, das Signal dieser Transponder
auszuwerten und damit eine Zeitmessung zu realisieren.
Die von der "Detection Loop" empfangenen signale werden mit
Hilfe eines SDRvs (HackRf, NESDR) aufgenommen (IQ Sampling)
und anschließend mit einem Pythonprogram dekodiert. Die
Information vom Transponder (also die Transponder-ID) ist
BPSK moduliert (5Mhz Träger) und Viterbi codiert.
Tools:
HackRF One, NESDR, GNU-Radio, PySDR, NumPy, Mathplotlib
Projekt:
Privates Projekt: "PainlessMesh Bridge"
Aufgabe:
Entwicklung eines PainlessMesh (gitlab.com/painlessMesh/painlessMesh)
"Bridge Nodes". Dieser dient der Verbindung von Mesh und einem "normalem"
Netzwerk.
Zugriff auf die Meshnodes hauptsächlich über Mqtt, dabei werden die
Informationen nach der Homie Convention (homieiot.github.io)
strukturiert.
Daneben ist es möglich, TCP/IP verbindungen auf die Nodes zu tunneln,
z.b. um eine HTTP verbindung zu einem Knoten aufzubauen.
Die Meshknoten sind ESP32 basiert (z.b. Tasmota Switches, ULANZI Pixel
Display) die Bridge wird auf der Paspberry Pi Platform realisiert.
Tools:
GCC C++, STL, Boost-libs (async-io), Valgrind, HostAP, WPA-Supplicant,
Dnsmasq, Homie Convention, HomeAssistant, mqtt-explorer
2022 bis 2024:
--------------
Projekt:
Jerg Feuerwehrtechnik: Bau eines Einsatzleitwagens (ELW2) für die
Feuerwehr Mühlheim.
Aufgabe:
Anforderungsanalyse (Plichten- und Lastenheft). Entwicklung der
Stromversorgung ("Landanschluß 400V", eingebauter SET Generator,
Notstrom über Batterie+Studer Inverter). Erstellung der Schaltpläne
für Energieversorgung, Netzwerk (Ethernet+Glasfaser),
Fahrzeugsteuerung (EDSC) und die Funktechnik. Integration von
RescueTrack Einsatzleitsystem, Funkerarbeitsplätz mit SINUS MECC
und Kienzle Funktechnik, Axion 360 Kamerasystem, Beleuchtung,
Kameras, Sat-TV, Sat-Telefonie (Iridium) usw.
Tools:
KiCad, AmpereSoft ProPlan, FreeCad, Checkmk, CanBus/EDSC, Python, Cygwin
Projekt:
Privates Projekt: Aufbau einer PV-Insel/ESS für mein Haus.
Aufgabe:
Installation und Integration von PV, Victron MPPT Ladereglern,
Victron RS, Victron Multiplus und eines Eigenbau 48V LiFePo
Stromspeicher.
Steuerung durch Victron Venus-OS welches auf einem Raspberry Pi
läuft.
In diesem Rahmen sind einige OpenSource Projekte enstanden:
* github.com/ErwinRieger/venus-os-dbus-serialbattery: Zum Auslesen
des Daly BMS, steuert den Ladeprozess des Stromspeicher (DVCC) und
das "Cell-Balancing".
* github.com/ErwinRieger/venus-os-dbus-pvcontrol: Steuerung eines
Victron MultiPlus (Ein/Aus) in abhängigkeit von der aktuellen
Leistungsanforderung.
* github.com/ErwinRieger/venus-os-dbus-cell-logger: Logging der
zellspannungen der LiFePo Batterie in einer CSV Datei zur
späteren auswertung.
* github.com/ErwinRieger/venus-os-dbus-ess: Steuerung eines
Warmwasser Boilers über einen Tasmota Dimmer. Nutzung
PV-überschuss in abhängigkeit von Batterieladezustand und Netzbelastung.
* github.com/ErwinRieger/venus-os-dbus-up5000-hybrid: Integration
eines Offgridtech UP5000 Hybrid Inverters in das Venus-OS system.
Dieser ist über RS485 und Modbus angebunden.
* venus-os-dbus-neey (noch nicht veröffentlicht): Steuerung eines
"Neey Active Balancer" über Bluetooth. Aktivierung des Balancers
in abhängigkeit von Zellspannung und Ladestrom. Dies dient der
Realisierung eines "balance-when-charged" Schemas.
Tools:
Victron Venus-OS, Python, DBus/pydbus, Mqtt, ESP32/Tasmota, GLib,
BlueZ, QTQuick/QML, RasPi-OS
2019 bis 2022:
--------------
* Diverse Projekte im Linux/Embedded/Yocto umfeld.
* Kleinere Hardware projekte mit AVR Atmega Controllern, z.b. Hardware integration
Jerg Feuerwehrtechnik XCat.
* Projekte im Bereich 3D-Druck (FDM), CAD Design (OpenScad), Gehäuse drucken.
* Entwicklung einer 3D-Druck (FDM) firmware mit "extruder process control"
http://github.com/ErwinRieger/ddprint (AVR Atmega und STM32 Platformen).
2018:
-----
Projekt:
Siemens Scalance Geräte:
Aufgabe:
Integration einer Userspace-Softwarekomponente (WLAN Configuration
Daemon) in das BSP.
Yocto python patch zur Unterbindung von Checksum-Warnings.
Implementierung eines I2C Host-Treibers unter Linux für einen in einem
CPLD implementierten I2C-Controller. Test der korrekten Funktion mit
einem angeschlossenen SFP.
Aktivieren der Treiber für USB Host-Funktionalität sowie Inbetriebnahme
eines USB Mass Storage Device an der entsprechenden Schnittstelle des
Scalance TSN.
Automatische mount von USB Mass Storage Device Bootvorgang.
Entwicklung Testscript für Hardware-Testzwecke, kontinuierliches
Schreiben und Lesen von Daten auf dem USB Mass Storage Device.
Aktivieren der Ausgabe von Testsignalen über das USB-Hostinterface, die
zur Messung der elektrischen Eigenschaften verwendet werden können.
Untersuchung Dateisystem korruption auf JFFS2 Flash. Suche der Ursache
für defektes Dateisystem und Erarbeiten von Vorschlägen um das Auftreten
solcher Defekte im Feld zu vermeiden oder die Auswirkungen zu reduzieren.
Erstellung eines entsprechenden linux treiber patches.
Untersuchung der Möglichkeiten für einen NFS-Boot des Gerätes um die
Softwareentwicklung und das Debugging zu erleichtern.
Verbesserungen an der Yocto-Buildumgebung, Yocto-Update.
Tools:
YOCTO, Git, I2C, JFFS2, die üblichen GNU Entwickler Tools unter
Debian Linux.
2017:
-----
Projekt:
Siemens Scalance Geräte:
Aufgabe:
Portierung von BSP und Softwaremodulen für ein zukünftiges
Scalance W-Gerät in eine Buildumgebung basierend auf Yocto.
Anpassung U-Boot an die neue Hardware, erstellung device-tree,
hardware erkennung (auslesen aus EEPROM) und auswahl des
entsprechenden device-trees, weitergabe der entsprechenden
Parameter an den linux-kernel, erstellung linux device tree.
Entsprechende änderungen an U-Boot und linux kernel.
Bring-up neuer hardware in zusammenarbeit mit HW development,
Hilfe bei der identifizierung und behebung von bugs im HW-design
Definition und implementierung einer schnittstelle zum auslesen
von temperatursensoren (u.A.) über I2C. Erstellung eines entsprechenden
Linux Treibers.
änderungen am HAL und die Implementierung entsprechender treiber
zum Ansteuernd von Panel-LEDvs und zum auslesen von Signalkontakten.
Interfaces zur Powersupply überwachung.
Anpassung eines Softwaremoduls zur initialisierung des Netzwerk-
Switch-ASICvs (Broadcom).
Integration des Broadcom Wifi-Treibers in das BSP.
Tools:
YOCTO, Git, I2C, die üblichen GNU Entwickler Tools unter Debian Linux.
2017:
-----
Projekt:
Liebherr Einsatzplaner
Aufgabe:
Neukonzeption/Portierung Liebherr Einsatzplaner (C++, Windows GDI)
auf Python, PyQt und QT/QTQuick.
Laufzeit:
1/2017 - 7/2017
Tools:
Python 2.x, Python 3.x, QT 5.8 mit QML/QTQuick (QTQuick Controls
2.1), PyQt 5.8, OmniOrb 4.2, Windows Visual Studio 2015, die üblichen GNU
Entwickler Tools unter Debian Linux.
2016:
-----
Projekt:
Rohde+Schwarz Signalgeneratoren
Aufgabe:
* Erstellung Yocto Demo Distribution anhand eines Raspberry Pi 3 und
eines entsprechenden Tutorials.
* Erweiterung Installations-/Updateprozess: Einführung signierte
Installationspakete.
* Chainloading Grub2 von Grub1 (Legacy) aus.
* Erstellung eines "U-Boot Stage2 Bootloaders" mit Hilfe des U-Boot
APIvs, Backporting Flash- und Yaffs2 Treiber in U-Boot version
1.1.6.
Tools:
YOCTO/Openembedded (1.8, 2.1), OpenSSL, Raspberry Pi, U-Boot
Entwicklungsumgebung, PowerPC und X86 CPUvs, Ubuntu Linux, Git,
Lauterbach JTAG Debugger.
2015:
-----
Projekt:
Rohde+Schwarz Signalgeneratoren
Aufgabe:
Update der Yocto Umgebung von Version 1.8 auf Yocto 2.1 Krogoth
Tools:
Linux Kernel Debugging mit GDB/QEmu(KVM), Image Test mit Virtual Box,
Ubuntu Linux, Git.
2014:
-----
Projekt:
Rohde+Schwarz Signalgeneratoren, umstellung des proprietären
Buildprozesses für Signalgenerator Firmware Images auf YOCTO/Openembedded.
Aufgabe:
* Umstellung Generierung Linux Firmware Images auf Yocto/Openembedded.
* Emulation der generierten Firmware Images unter QEmu und VirtualBox.
* Design Rollout Prozess der Platform SDKvs (ADKvs) an die Firmware
Entwickler.
* Lösung soll auch für andere Abteilungen nutzbar sein, desshalb
entsprechende Strukturierung der Yocto Layer.
Laufzeit:
11/2014 - heute
Tools:
YOCTO/Openembedded (1.7.2 vDizzyv, Poky), die üblichen GNU/Linux Tools
(git, svn, make, CMake, gcc, gdb, strace/ltrace, valgrind, Eclipse,
Vim, Bash, Python, C, C++, X11/XOrg, netcat etc) Ubuntu Linux 14.X,
Mercurial.
2013:
-----
Projekt:
Entwicklung Standalone WebApplikation für Mobile Geräte, Kransuche für
Mobilkrane
Aufgabe:
Entwurf und Programmierung der JQery WebApplikation für die mobile
Kransuche.
Laufzeit:
3/2013 - 10/2014
Tools:
HTML5 Webtechniken (z.B. Indexed DB), JQuery Mobile, Intel XDK,
Javascript.
2012:
-----
Projekt:
SVFuA Gerätebedieneinheit, GB
Aufgabe:
* Entwicklung der Software für die sog. Gerätebedieneinheit (GB) unter
Windows.
* Portierung der GB Software auf PC-Linux (Debian).
* Crosscompilierung und Deployment der GB Software auf die Zielhardware
(Gerätebedieneinheit GB5000, ARM i.MX51 basiert). Dabei kam die
Buildroot Umgebung (http://buildroot.uclibc.org) und das BSP von
UltraTronik zum Einsatz.
* Einrichtung Testumgebung für automatisierte Applikationstests mit
Squish Gui Tester.
* Planung und Entwicklung einer Plugin-Architektur auf der Basis von
QT-Plugin.
* Erstellung eines spezialisierten Wireshark Plugins zur Analyse des
Corba Datenverkehrs mit hilfe von "idl2wrs".
* Erweiterung des Wireshark Corba ANY Dissectors, damit dieser auch die
transportierten Daten anzeigt.
Laufzeit:
25 Monate, 3/2012 - 5/2014
Tools:
Windows 7, ClearCase, ClearQuest, QT 4.8 + QT Embedded, ACE/TAO Corba
Orb, Visual Studio 2005/2008, Squish GUI Tester, XML/XPath/XMLSpy,
WireShark (+idl2wrs), CentOS, GNU Compiler Toolchain, Cygwin, .Net/C#,
IIOP.Net Corba für C#, XSLT, Freescale ARM i.MX51 Target, Linux (Debian,
CentOS 6).
2011:
-----
Projekt:
Einsatzplaner für Mobilkrane
Aufgabe:
Integration der "FreeImage" Bibliothek (http://freeimage.sourceforge.net)
in das Microwindows GUI Toolkit (http://www.microwindows.org).
Laufzeit:
2 Monate, 10/2011 - 11/2011
Tools:
Windows, Linux (Debian), GNU Tools, Microsoft Visual C++, C++, GNU
Autoconf+Automake.
2011:
-----
Projekt:
Erweiterung des OpenSource Projekts "QEmu" um eine weitere PPC 440
Platform.
Aufgabe:
Erweiterung des OpenSource Projekts "QEmu" um eine weitere PPC 440
Platform zum Test von Kundenspezifischen PPC440 Images. Dazu wurde die
"virtex-ml507" Qemumaschine um spezielle Treiber für Framebuffer,
Ethernet (ethlite), PS2-Maus und PS2-Keyboard erweitert.
Laufzeit:
2 Monate, 10/2011 - 11/2011
Tools:
Linux (Debian), GNU Tools, C++, GNU Autoconf+Automake, Diff, die üblichen
Kommandozeilentools.
Projekt:
Erweiterung Einsatzplaner für Mobilkrane, neue Methode des Kran-Rüstens
(Rüsten2), Anzeige der Kran-Traglasten als Kurvenschar mit
Vergleichsmodus.
Laufzeit:
9 Monate, 02/2011 - 10/2011
Tools:
Windows XP, Linux (Debian, RedHat), GNU Tools,
Microsoft Visual C++, C++, Doxygen, Corba (OmniOrb), Busybox, Embedded
system, Denx ELDK.
2010:
-----
Projekt:
Entwicklung eines Portablen GUI Frameworks. Framework gestattet einen
einheitlichen Zugriff auf verschiedene native GUI-Backends: Windows-GDI,
Microwindows und TCL/TK. Das Framework ist portabel und wird auf
verschiedenen Windows Systemen sowie unter Linux (sowohl auf PC als auch
Embedded System/MPC) eingesetzt. Besonderer Wert wurde auf geringen
Resourcen-Verbrauch und gutes Laufzeitverhalten gelegt.
Laufzeit:
12 Monate, 01/2010 - 12/2010
Tools:
Windows, Linux (Debian), GNU Tools, Microsoft Visual C++, C++, GNU
Autoconf+Automake.
2008:
-----
Projekt:
Neukonzeption Einsatzplaner für Mobilkrane auf
Client/Server basis. Portable Architektur für den Einsatz
unter Windows, PC-Linux und Power-PC-Linux. Atomotive.
Laufzeit:
6 Monate, 04/2008 - 09/2008
Tools:
Windows XP, Linux (Gentoo, RedHat), GNU Tools,
Microsoft Visual C++, C++, Doxygen, Corba (OmniOrb), Busybox, Embedded
system, Denx ELDK.
2007:
-----
Projekt:
Hard- und Softwareprojekt, Entwicklung und Realisierung einer
Unterbrechungsfreien Stromversorgung für Feuerwehreinsätze.
Laufzeit:
3 Monate, 06/2007 - 09/2007
Tools:
Lötkolben, Eagle Platinenrouter, J-Control (Embedded Java Controller).
2006:
-----
Projekt:
Erweiterung Einsatzplaner für Mobilkrane LTR Krane, Branche Automotive.
Aufgabe:
Implementierung Unterstützung für die neuen LTR Krane.
Laufzeit:
1 Monat, 05/2006 - 07/2006
Tools:
Windows XP, Linux (Gentoo, RedHat), GNU Tools,
Borland C++ Builder, C++, Doxygen.
Projekt:
Erweiterung Einsatzplaner für Mobilkrane Synchronmode, Branche
Automotive.
2005:
-----
Projekt:
Implementierung Homepage für einen Pferdezüchter.
Aufgabe:
Design und Implementierung der Webpräsenz für eine Pferdezucht.
Laufzeit:
2 Monate, 01/2005 - 03/2005
Tools:
PHP, Mysql, LAMP.
Projekt:
Erweiterung Einsatzplaner für Mobilkrane schiefe Ebene, Branche
Automotive.
2004:
-----
Projekt:
Kommandozeilenprogramm zur Kranmodellberechnung, Branche Automotive.
Laufzeit:
1 Monat, 01/2004 - 2/2004
Tools:
Windows XP, Linux (Gentoo, RedHat), GNU Tools,
Borland C++ Builder, C++, Doxygen, STL.
2003:
-----
Projekt:
Portierung Einsatzplaner für Mobilkrane auf PowerPC Embedded System,
Branche Automotive.
Laufzeit:
6 Monate, 01/2003 - 06/2003
Tools:
BusyBox, Windows XP, Linux (Gentoo, RedHat), GNU Tools,
Borland C++ Builder, C++, Doxygen, STL.
2002:
-----
Projekt:
Portierung Einsatzplaner für Mobilkrane von DOS auf Windows und Linux,
Branche Automotive.
Laufzeit:
6 Monate, 01/2002 - 06/2002
Tools:
Windows XP, Linux (Gentoo, RedHat), GNU Tools,
Borland C++ Builder, C++, Doxygen, STL.
2001:
-----
Projekt:
Freiberufliche Tätigkeit, Branche E-Commerce.
Aufgabe:
* Debugging/Test Openshop Business Software
* Konsolidierung Build Prozess der Openshop Business Software durch
Einführung der GNU Autoconf Tools (configure script). Dazu
notwendige Umstrukturierungen an der Openshop Business Software,
Dokumentation.
* Fertigstellung und Pflege Java Connector
* Erweiterungen Load Balancing Server, Multi Threading, OSB2.5
Skalierbarkeitsguide
* Support für PZWO - Corba unter Windows / Testing
* Support TSI ERP Anbindung
Laufzeit:
7 Monate, 03/2001 - 10/2001
Tools:
Microsoft Windows, Linux, Solaris, UML, SilkPerformer, MySQL, HTML,
Apache, Java, GNU Tools, GnuPlot, JDBC, Cygwin.
2000 und früher:
----------------
Projekt:
Freiberufliche Tätigkeit, Branche E-Commerce.
Aufgabe:
* Realisierung Openshop Business CORBA Schnittstelle. Anbindung der
Openshop Business Software an das IOS PZwo Katalogsystem über
deren Corba Schnittstelle, Realisierung Ersatzteile Shop für
Severin Haushaltsgeräte. Entwicklung CORBA SDK für OSB.
* Implementierung Load Balancing Server für Openshop Business
Software, Erstellung Skalierbarkeitsguide, Messungen
(SilkPerformer), Interpretation, Dokumentation. Realisierung
"Cluster Admin Tool".
* Entwicklung Microsoft COM Schnittstelle für Openshop Business
Software, Anbindung an PsiPenta. Entwicklung COM SDK für OSB.
* Entwicklung einer Debugging-Bibliothek zur Speicherverwaltung
(Bounds Checked Malloc).
Laufzeit:
12 Monate
Tools:
Microsoft COM, CORBA (JACORB, MICO), DOC++, Solid-DB, ADABAS-DB, Oracle,
Cobalt, Windows NT, UML, SilkPerformer, Linux, Solaris, MySQL, HTML,
Apache, Java, ODBC.
Projekt:
Grusskarten Tool, Branche E-Commerce.
Aufgabe:
Implementierung Webseite zum Erstellen und Versenden von Grusskarten.
Laufzeit:
1 Woche
Tools:
Linux, MySQL, HTML, Perl.
Projekt:
PMT - Page Management Tool, Branche E-Commerce.
Aufgabe:
Entwicklung eines Werkzeuges zur Erzeugung und Verwaltung von dynamisch
generierten Webseiten.
Laufzeit:
1 Monat
Tools:
Linux, MySQL, HTML, Apache, OpenShop Shoppingsystem.
Projekt:
Freiberufliche Tätigkeit, Branche Softwareentwicklung/Qualitätssicherung.
Aufgabe:
Programmierung, Datenbankdesign, Installation/Wartung beim kunden
Laufzeit:
24 Monate
Tools:
AIX, HPUX, Linux, Oracle Datenbanken (auch ESQL), Python (auch native
C-Schnittstellen), Kartenleser.
Projekt:
Kopplung Materialdatenerfassung/Betriebsdatenerfassung -
Fertigungssteuerung, Branche Automotive.
Aufgabe:
Entwicklung eines Moduls zur Erfassung der Maschinenmelungen von
Fertigunslinien für das Fertigungsleitsystem. In Folge verschiedene
Erweiterungen und Anpassungen.
Laufzeit:
6 Monate
Tools:
DEC DCE/RPC, Oracle, Oracle ESQL.
Projekt:
Prozessdaten Archivierung, Branche Automotive.
Aufgabe:
Entwicklung eines Moduls zur Erfassung, Archivierung und Komprimierung
von Prozessdaten. In Folge verschiedene Erweiterungen und Anpassungen.
Laufzeit:
6 Monate
Tools:
HPUX, C, Oracle/ESQL, DecNetRpc, MQSeries.
Projekt:
BQF - Bezugsquellen Freigabe, Branche Automotive.
Aufgabe:
Access Datenbankanwendung zur Verwaltung von Material - Bezugsquellen
mit kundenspeziefischen Suchabfragen.
Programmierung im Zweierteam.
Laufzeit:
3 Monate
Tools:
Windows, Access.
Besonderes Interesse an UNIX/Linux, Embedded, MDA / Generativer Programmierung, 3D-Druck (FDM)
Betriebssysteme:
Software Tools:
Programmiersprachen:
Hardware Platformen:
Standards:
Branchen:
Erfahrung:
2024:
-----
Projekt:
Privates Projekt: SDR Zeitmessung für den Modellbausport
Aufgabe:
Entwicklung eines MYLaps RCx kompatiblen Decoders. Das
MYLaps Zeitmeßsystem ist weit verbreitet im Modllbau- und auch
Motorradrennsport. Daher sind die entsprechenden Transponder
weit verbreitet. Ziel ist es, das Signal dieser Transponder
auszuwerten und damit eine Zeitmessung zu realisieren.
Die von der "Detection Loop" empfangenen signale werden mit
Hilfe eines SDRvs (HackRf, NESDR) aufgenommen (IQ Sampling)
und anschließend mit einem Pythonprogram dekodiert. Die
Information vom Transponder (also die Transponder-ID) ist
BPSK moduliert (5Mhz Träger) und Viterbi codiert.
Tools:
HackRF One, NESDR, GNU-Radio, PySDR, NumPy, Mathplotlib
Projekt:
Privates Projekt: "PainlessMesh Bridge"
Aufgabe:
Entwicklung eines PainlessMesh (gitlab.com/painlessMesh/painlessMesh)
"Bridge Nodes". Dieser dient der Verbindung von Mesh und einem "normalem"
Netzwerk.
Zugriff auf die Meshnodes hauptsächlich über Mqtt, dabei werden die
Informationen nach der Homie Convention (homieiot.github.io)
strukturiert.
Daneben ist es möglich, TCP/IP verbindungen auf die Nodes zu tunneln,
z.b. um eine HTTP verbindung zu einem Knoten aufzubauen.
Die Meshknoten sind ESP32 basiert (z.b. Tasmota Switches, ULANZI Pixel
Display) die Bridge wird auf der Paspberry Pi Platform realisiert.
Tools:
GCC C++, STL, Boost-libs (async-io), Valgrind, HostAP, WPA-Supplicant,
Dnsmasq, Homie Convention, HomeAssistant, mqtt-explorer
2022 bis 2024:
--------------
Projekt:
Jerg Feuerwehrtechnik: Bau eines Einsatzleitwagens (ELW2) für die
Feuerwehr Mühlheim.
Aufgabe:
Anforderungsanalyse (Plichten- und Lastenheft). Entwicklung der
Stromversorgung ("Landanschluß 400V", eingebauter SET Generator,
Notstrom über Batterie+Studer Inverter). Erstellung der Schaltpläne
für Energieversorgung, Netzwerk (Ethernet+Glasfaser),
Fahrzeugsteuerung (EDSC) und die Funktechnik. Integration von
RescueTrack Einsatzleitsystem, Funkerarbeitsplätz mit SINUS MECC
und Kienzle Funktechnik, Axion 360 Kamerasystem, Beleuchtung,
Kameras, Sat-TV, Sat-Telefonie (Iridium) usw.
Tools:
KiCad, AmpereSoft ProPlan, FreeCad, Checkmk, CanBus/EDSC, Python, Cygwin
Projekt:
Privates Projekt: Aufbau einer PV-Insel/ESS für mein Haus.
Aufgabe:
Installation und Integration von PV, Victron MPPT Ladereglern,
Victron RS, Victron Multiplus und eines Eigenbau 48V LiFePo
Stromspeicher.
Steuerung durch Victron Venus-OS welches auf einem Raspberry Pi
läuft.
In diesem Rahmen sind einige OpenSource Projekte enstanden:
* github.com/ErwinRieger/venus-os-dbus-serialbattery: Zum Auslesen
des Daly BMS, steuert den Ladeprozess des Stromspeicher (DVCC) und
das "Cell-Balancing".
* github.com/ErwinRieger/venus-os-dbus-pvcontrol: Steuerung eines
Victron MultiPlus (Ein/Aus) in abhängigkeit von der aktuellen
Leistungsanforderung.
* github.com/ErwinRieger/venus-os-dbus-cell-logger: Logging der
zellspannungen der LiFePo Batterie in einer CSV Datei zur
späteren auswertung.
* github.com/ErwinRieger/venus-os-dbus-ess: Steuerung eines
Warmwasser Boilers über einen Tasmota Dimmer. Nutzung
PV-überschuss in abhängigkeit von Batterieladezustand und Netzbelastung.
* github.com/ErwinRieger/venus-os-dbus-up5000-hybrid: Integration
eines Offgridtech UP5000 Hybrid Inverters in das Venus-OS system.
Dieser ist über RS485 und Modbus angebunden.
* venus-os-dbus-neey (noch nicht veröffentlicht): Steuerung eines
"Neey Active Balancer" über Bluetooth. Aktivierung des Balancers
in abhängigkeit von Zellspannung und Ladestrom. Dies dient der
Realisierung eines "balance-when-charged" Schemas.
Tools:
Victron Venus-OS, Python, DBus/pydbus, Mqtt, ESP32/Tasmota, GLib,
BlueZ, QTQuick/QML, RasPi-OS
2019 bis 2022:
--------------
* Diverse Projekte im Linux/Embedded/Yocto umfeld.
* Kleinere Hardware projekte mit AVR Atmega Controllern, z.b. Hardware integration
Jerg Feuerwehrtechnik XCat.
* Projekte im Bereich 3D-Druck (FDM), CAD Design (OpenScad), Gehäuse drucken.
* Entwicklung einer 3D-Druck (FDM) firmware mit "extruder process control"
http://github.com/ErwinRieger/ddprint (AVR Atmega und STM32 Platformen).
2018:
-----
Projekt:
Siemens Scalance Geräte:
Aufgabe:
Integration einer Userspace-Softwarekomponente (WLAN Configuration
Daemon) in das BSP.
Yocto python patch zur Unterbindung von Checksum-Warnings.
Implementierung eines I2C Host-Treibers unter Linux für einen in einem
CPLD implementierten I2C-Controller. Test der korrekten Funktion mit
einem angeschlossenen SFP.
Aktivieren der Treiber für USB Host-Funktionalität sowie Inbetriebnahme
eines USB Mass Storage Device an der entsprechenden Schnittstelle des
Scalance TSN.
Automatische mount von USB Mass Storage Device Bootvorgang.
Entwicklung Testscript für Hardware-Testzwecke, kontinuierliches
Schreiben und Lesen von Daten auf dem USB Mass Storage Device.
Aktivieren der Ausgabe von Testsignalen über das USB-Hostinterface, die
zur Messung der elektrischen Eigenschaften verwendet werden können.
Untersuchung Dateisystem korruption auf JFFS2 Flash. Suche der Ursache
für defektes Dateisystem und Erarbeiten von Vorschlägen um das Auftreten
solcher Defekte im Feld zu vermeiden oder die Auswirkungen zu reduzieren.
Erstellung eines entsprechenden linux treiber patches.
Untersuchung der Möglichkeiten für einen NFS-Boot des Gerätes um die
Softwareentwicklung und das Debugging zu erleichtern.
Verbesserungen an der Yocto-Buildumgebung, Yocto-Update.
Tools:
YOCTO, Git, I2C, JFFS2, die üblichen GNU Entwickler Tools unter
Debian Linux.
2017:
-----
Projekt:
Siemens Scalance Geräte:
Aufgabe:
Portierung von BSP und Softwaremodulen für ein zukünftiges
Scalance W-Gerät in eine Buildumgebung basierend auf Yocto.
Anpassung U-Boot an die neue Hardware, erstellung device-tree,
hardware erkennung (auslesen aus EEPROM) und auswahl des
entsprechenden device-trees, weitergabe der entsprechenden
Parameter an den linux-kernel, erstellung linux device tree.
Entsprechende änderungen an U-Boot und linux kernel.
Bring-up neuer hardware in zusammenarbeit mit HW development,
Hilfe bei der identifizierung und behebung von bugs im HW-design
Definition und implementierung einer schnittstelle zum auslesen
von temperatursensoren (u.A.) über I2C. Erstellung eines entsprechenden
Linux Treibers.
änderungen am HAL und die Implementierung entsprechender treiber
zum Ansteuernd von Panel-LEDvs und zum auslesen von Signalkontakten.
Interfaces zur Powersupply überwachung.
Anpassung eines Softwaremoduls zur initialisierung des Netzwerk-
Switch-ASICvs (Broadcom).
Integration des Broadcom Wifi-Treibers in das BSP.
Tools:
YOCTO, Git, I2C, die üblichen GNU Entwickler Tools unter Debian Linux.
2017:
-----
Projekt:
Liebherr Einsatzplaner
Aufgabe:
Neukonzeption/Portierung Liebherr Einsatzplaner (C++, Windows GDI)
auf Python, PyQt und QT/QTQuick.
Laufzeit:
1/2017 - 7/2017
Tools:
Python 2.x, Python 3.x, QT 5.8 mit QML/QTQuick (QTQuick Controls
2.1), PyQt 5.8, OmniOrb 4.2, Windows Visual Studio 2015, die üblichen GNU
Entwickler Tools unter Debian Linux.
2016:
-----
Projekt:
Rohde+Schwarz Signalgeneratoren
Aufgabe:
* Erstellung Yocto Demo Distribution anhand eines Raspberry Pi 3 und
eines entsprechenden Tutorials.
* Erweiterung Installations-/Updateprozess: Einführung signierte
Installationspakete.
* Chainloading Grub2 von Grub1 (Legacy) aus.
* Erstellung eines "U-Boot Stage2 Bootloaders" mit Hilfe des U-Boot
APIvs, Backporting Flash- und Yaffs2 Treiber in U-Boot version
1.1.6.
Tools:
YOCTO/Openembedded (1.8, 2.1), OpenSSL, Raspberry Pi, U-Boot
Entwicklungsumgebung, PowerPC und X86 CPUvs, Ubuntu Linux, Git,
Lauterbach JTAG Debugger.
2015:
-----
Projekt:
Rohde+Schwarz Signalgeneratoren
Aufgabe:
Update der Yocto Umgebung von Version 1.8 auf Yocto 2.1 Krogoth
Tools:
Linux Kernel Debugging mit GDB/QEmu(KVM), Image Test mit Virtual Box,
Ubuntu Linux, Git.
2014:
-----
Projekt:
Rohde+Schwarz Signalgeneratoren, umstellung des proprietären
Buildprozesses für Signalgenerator Firmware Images auf YOCTO/Openembedded.
Aufgabe:
* Umstellung Generierung Linux Firmware Images auf Yocto/Openembedded.
* Emulation der generierten Firmware Images unter QEmu und VirtualBox.
* Design Rollout Prozess der Platform SDKvs (ADKvs) an die Firmware
Entwickler.
* Lösung soll auch für andere Abteilungen nutzbar sein, desshalb
entsprechende Strukturierung der Yocto Layer.
Laufzeit:
11/2014 - heute
Tools:
YOCTO/Openembedded (1.7.2 vDizzyv, Poky), die üblichen GNU/Linux Tools
(git, svn, make, CMake, gcc, gdb, strace/ltrace, valgrind, Eclipse,
Vim, Bash, Python, C, C++, X11/XOrg, netcat etc) Ubuntu Linux 14.X,
Mercurial.
2013:
-----
Projekt:
Entwicklung Standalone WebApplikation für Mobile Geräte, Kransuche für
Mobilkrane
Aufgabe:
Entwurf und Programmierung der JQery WebApplikation für die mobile
Kransuche.
Laufzeit:
3/2013 - 10/2014
Tools:
HTML5 Webtechniken (z.B. Indexed DB), JQuery Mobile, Intel XDK,
Javascript.
2012:
-----
Projekt:
SVFuA Gerätebedieneinheit, GB
Aufgabe:
* Entwicklung der Software für die sog. Gerätebedieneinheit (GB) unter
Windows.
* Portierung der GB Software auf PC-Linux (Debian).
* Crosscompilierung und Deployment der GB Software auf die Zielhardware
(Gerätebedieneinheit GB5000, ARM i.MX51 basiert). Dabei kam die
Buildroot Umgebung (http://buildroot.uclibc.org) und das BSP von
UltraTronik zum Einsatz.
* Einrichtung Testumgebung für automatisierte Applikationstests mit
Squish Gui Tester.
* Planung und Entwicklung einer Plugin-Architektur auf der Basis von
QT-Plugin.
* Erstellung eines spezialisierten Wireshark Plugins zur Analyse des
Corba Datenverkehrs mit hilfe von "idl2wrs".
* Erweiterung des Wireshark Corba ANY Dissectors, damit dieser auch die
transportierten Daten anzeigt.
Laufzeit:
25 Monate, 3/2012 - 5/2014
Tools:
Windows 7, ClearCase, ClearQuest, QT 4.8 + QT Embedded, ACE/TAO Corba
Orb, Visual Studio 2005/2008, Squish GUI Tester, XML/XPath/XMLSpy,
WireShark (+idl2wrs), CentOS, GNU Compiler Toolchain, Cygwin, .Net/C#,
IIOP.Net Corba für C#, XSLT, Freescale ARM i.MX51 Target, Linux (Debian,
CentOS 6).
2011:
-----
Projekt:
Einsatzplaner für Mobilkrane
Aufgabe:
Integration der "FreeImage" Bibliothek (http://freeimage.sourceforge.net)
in das Microwindows GUI Toolkit (http://www.microwindows.org).
Laufzeit:
2 Monate, 10/2011 - 11/2011
Tools:
Windows, Linux (Debian), GNU Tools, Microsoft Visual C++, C++, GNU
Autoconf+Automake.
2011:
-----
Projekt:
Erweiterung des OpenSource Projekts "QEmu" um eine weitere PPC 440
Platform.
Aufgabe:
Erweiterung des OpenSource Projekts "QEmu" um eine weitere PPC 440
Platform zum Test von Kundenspezifischen PPC440 Images. Dazu wurde die
"virtex-ml507" Qemumaschine um spezielle Treiber für Framebuffer,
Ethernet (ethlite), PS2-Maus und PS2-Keyboard erweitert.
Laufzeit:
2 Monate, 10/2011 - 11/2011
Tools:
Linux (Debian), GNU Tools, C++, GNU Autoconf+Automake, Diff, die üblichen
Kommandozeilentools.
Projekt:
Erweiterung Einsatzplaner für Mobilkrane, neue Methode des Kran-Rüstens
(Rüsten2), Anzeige der Kran-Traglasten als Kurvenschar mit
Vergleichsmodus.
Laufzeit:
9 Monate, 02/2011 - 10/2011
Tools:
Windows XP, Linux (Debian, RedHat), GNU Tools,
Microsoft Visual C++, C++, Doxygen, Corba (OmniOrb), Busybox, Embedded
system, Denx ELDK.
2010:
-----
Projekt:
Entwicklung eines Portablen GUI Frameworks. Framework gestattet einen
einheitlichen Zugriff auf verschiedene native GUI-Backends: Windows-GDI,
Microwindows und TCL/TK. Das Framework ist portabel und wird auf
verschiedenen Windows Systemen sowie unter Linux (sowohl auf PC als auch
Embedded System/MPC) eingesetzt. Besonderer Wert wurde auf geringen
Resourcen-Verbrauch und gutes Laufzeitverhalten gelegt.
Laufzeit:
12 Monate, 01/2010 - 12/2010
Tools:
Windows, Linux (Debian), GNU Tools, Microsoft Visual C++, C++, GNU
Autoconf+Automake.
2008:
-----
Projekt:
Neukonzeption Einsatzplaner für Mobilkrane auf
Client/Server basis. Portable Architektur für den Einsatz
unter Windows, PC-Linux und Power-PC-Linux. Atomotive.
Laufzeit:
6 Monate, 04/2008 - 09/2008
Tools:
Windows XP, Linux (Gentoo, RedHat), GNU Tools,
Microsoft Visual C++, C++, Doxygen, Corba (OmniOrb), Busybox, Embedded
system, Denx ELDK.
2007:
-----
Projekt:
Hard- und Softwareprojekt, Entwicklung und Realisierung einer
Unterbrechungsfreien Stromversorgung für Feuerwehreinsätze.
Laufzeit:
3 Monate, 06/2007 - 09/2007
Tools:
Lötkolben, Eagle Platinenrouter, J-Control (Embedded Java Controller).
2006:
-----
Projekt:
Erweiterung Einsatzplaner für Mobilkrane LTR Krane, Branche Automotive.
Aufgabe:
Implementierung Unterstützung für die neuen LTR Krane.
Laufzeit:
1 Monat, 05/2006 - 07/2006
Tools:
Windows XP, Linux (Gentoo, RedHat), GNU Tools,
Borland C++ Builder, C++, Doxygen.
Projekt:
Erweiterung Einsatzplaner für Mobilkrane Synchronmode, Branche
Automotive.
2005:
-----
Projekt:
Implementierung Homepage für einen Pferdezüchter.
Aufgabe:
Design und Implementierung der Webpräsenz für eine Pferdezucht.
Laufzeit:
2 Monate, 01/2005 - 03/2005
Tools:
PHP, Mysql, LAMP.
Projekt:
Erweiterung Einsatzplaner für Mobilkrane schiefe Ebene, Branche
Automotive.
2004:
-----
Projekt:
Kommandozeilenprogramm zur Kranmodellberechnung, Branche Automotive.
Laufzeit:
1 Monat, 01/2004 - 2/2004
Tools:
Windows XP, Linux (Gentoo, RedHat), GNU Tools,
Borland C++ Builder, C++, Doxygen, STL.
2003:
-----
Projekt:
Portierung Einsatzplaner für Mobilkrane auf PowerPC Embedded System,
Branche Automotive.
Laufzeit:
6 Monate, 01/2003 - 06/2003
Tools:
BusyBox, Windows XP, Linux (Gentoo, RedHat), GNU Tools,
Borland C++ Builder, C++, Doxygen, STL.
2002:
-----
Projekt:
Portierung Einsatzplaner für Mobilkrane von DOS auf Windows und Linux,
Branche Automotive.
Laufzeit:
6 Monate, 01/2002 - 06/2002
Tools:
Windows XP, Linux (Gentoo, RedHat), GNU Tools,
Borland C++ Builder, C++, Doxygen, STL.
2001:
-----
Projekt:
Freiberufliche Tätigkeit, Branche E-Commerce.
Aufgabe:
* Debugging/Test Openshop Business Software
* Konsolidierung Build Prozess der Openshop Business Software durch
Einführung der GNU Autoconf Tools (configure script). Dazu
notwendige Umstrukturierungen an der Openshop Business Software,
Dokumentation.
* Fertigstellung und Pflege Java Connector
* Erweiterungen Load Balancing Server, Multi Threading, OSB2.5
Skalierbarkeitsguide
* Support für PZWO - Corba unter Windows / Testing
* Support TSI ERP Anbindung
Laufzeit:
7 Monate, 03/2001 - 10/2001
Tools:
Microsoft Windows, Linux, Solaris, UML, SilkPerformer, MySQL, HTML,
Apache, Java, GNU Tools, GnuPlot, JDBC, Cygwin.
2000 und früher:
----------------
Projekt:
Freiberufliche Tätigkeit, Branche E-Commerce.
Aufgabe:
* Realisierung Openshop Business CORBA Schnittstelle. Anbindung der
Openshop Business Software an das IOS PZwo Katalogsystem über
deren Corba Schnittstelle, Realisierung Ersatzteile Shop für
Severin Haushaltsgeräte. Entwicklung CORBA SDK für OSB.
* Implementierung Load Balancing Server für Openshop Business
Software, Erstellung Skalierbarkeitsguide, Messungen
(SilkPerformer), Interpretation, Dokumentation. Realisierung
"Cluster Admin Tool".
* Entwicklung Microsoft COM Schnittstelle für Openshop Business
Software, Anbindung an PsiPenta. Entwicklung COM SDK für OSB.
* Entwicklung einer Debugging-Bibliothek zur Speicherverwaltung
(Bounds Checked Malloc).
Laufzeit:
12 Monate
Tools:
Microsoft COM, CORBA (JACORB, MICO), DOC++, Solid-DB, ADABAS-DB, Oracle,
Cobalt, Windows NT, UML, SilkPerformer, Linux, Solaris, MySQL, HTML,
Apache, Java, ODBC.
Projekt:
Grusskarten Tool, Branche E-Commerce.
Aufgabe:
Implementierung Webseite zum Erstellen und Versenden von Grusskarten.
Laufzeit:
1 Woche
Tools:
Linux, MySQL, HTML, Perl.
Projekt:
PMT - Page Management Tool, Branche E-Commerce.
Aufgabe:
Entwicklung eines Werkzeuges zur Erzeugung und Verwaltung von dynamisch
generierten Webseiten.
Laufzeit:
1 Monat
Tools:
Linux, MySQL, HTML, Apache, OpenShop Shoppingsystem.
Projekt:
Freiberufliche Tätigkeit, Branche Softwareentwicklung/Qualitätssicherung.
Aufgabe:
Programmierung, Datenbankdesign, Installation/Wartung beim kunden
Laufzeit:
24 Monate
Tools:
AIX, HPUX, Linux, Oracle Datenbanken (auch ESQL), Python (auch native
C-Schnittstellen), Kartenleser.
Projekt:
Kopplung Materialdatenerfassung/Betriebsdatenerfassung -
Fertigungssteuerung, Branche Automotive.
Aufgabe:
Entwicklung eines Moduls zur Erfassung der Maschinenmelungen von
Fertigunslinien für das Fertigungsleitsystem. In Folge verschiedene
Erweiterungen und Anpassungen.
Laufzeit:
6 Monate
Tools:
DEC DCE/RPC, Oracle, Oracle ESQL.
Projekt:
Prozessdaten Archivierung, Branche Automotive.
Aufgabe:
Entwicklung eines Moduls zur Erfassung, Archivierung und Komprimierung
von Prozessdaten. In Folge verschiedene Erweiterungen und Anpassungen.
Laufzeit:
6 Monate
Tools:
HPUX, C, Oracle/ESQL, DecNetRpc, MQSeries.
Projekt:
BQF - Bezugsquellen Freigabe, Branche Automotive.
Aufgabe:
Access Datenbankanwendung zur Verwaltung von Material - Bezugsquellen
mit kundenspeziefischen Suchabfragen.
Programmierung im Zweierteam.
Laufzeit:
3 Monate
Tools:
Windows, Access.
Besonderes Interesse an UNIX/Linux, Embedded, MDA / Generativer Programmierung, 3D-Druck (FDM)
Betriebssysteme:
Software Tools:
Programmiersprachen:
Hardware Platformen:
Standards:
Branchen:
Erfahrung: