Desktop Anwendungen

CANoe Client

Technologie: C#, .NET, WPF

Dieses Tool kann via UDP mit einer Vector CANoe-Box kommunizieren. Es kann die Werte der Signale anzeigen und es erlaubt das Beschreiben der Werte. Außerdem bietet es einen UDS-Gateway mit einer TCP-Schnittstelle. UDS-Anfragen an den Client werden an die CANoe-Box via UDP weitergeleitet und dessen Antwort via TCP an den Anfragesteller zurückgeliefert.

RolloutScriptBuilder

Technologie: C#, .NET, Forms

Dieses Tool erzeugt ein PowerShell-Skript welches automatisiert beliebige Chocolatey-Packages auf einem Rechner ausrollen kann. Auf der linken Seite werden alle Packages aus dem gewünschten Repo aufgelistet und können per Drag&Drop auf die rechte Seite ins Skript gezogen werden. Über Skript-Blöcke kann man das Skript in mehrere Bereiche unterteilen. Für jedes Package kann eingestellt werden ob es installiert, deinstalliert, reinstalliert oder aktualisiert werden soll. Mithilfe von Skript-Elementen kann man im Skript dann auf Benutzereingaben warten, den Rechner neustarten bzw. diesen herunterfahren. Abschließend kann man sich dann ein PowerShell-Skript erzeugen lassen. Funktionen wie Neu, Öffnen, Speichern und Speichern unter stehen ebenfalls zur Verfügung.

Kafka-Client

Technologie: C#, .NET, Konsole

Dieses Tool kann sich entweder als Producer oder als Consumer an einem Kafka-Server anmelden und Messages senden bzw. empfangen. Dem Tool können die Parameter von außen übergeben werden. Dadurch ist der Einsatz von PowerShell, Batch oder anderen Skripten möglich.

ServiceRestarter

Technologie: C#, .NET, Service, Forms

Ein Dienst welches den Arbeitsspeicherverbrauch eines gewünschten Prozesses überwacht und diesen bei Überschreitung einer definierten Grenze neustartet. Der Verbrauch und die Neustarts werden mitgeloggt. Außerdem gibt es eine separate UI welches die geloggten Daten des ServiceRestarters in einem filterbaren Chart darstellt.

EKS-IB-Tool

Technologie: C#, .NET, Forms

Ein Tool welches sich mit einem EKS-Reader verbinden und die Seriennummer von EKS-Schlüsseln (Chip) auslesen kann. Der Seriennummer kann dann eine Benutzer-ID, -Name und -Rolle zugeordnet und in einer verschlüsselten Benutzerliste gespeichert werden. Benutzer in verschlüsselten Benutzerlisten können auch ohne Verbindung zum EKS-Reader erstellt, bearbeitet und gelöscht werden. In der Konfigurationsdatei können mehrere Pfade zu verschiedenen Benutzerlisten, die Benutzerrollen, dass verschlüsselte Programmpasswort und die IP zum EKS-Reader festgelegt werden.

Starter

Technologie: C#, .NET, Forms

Dieses Tool stellt sicher, dass beliebig viele Dienste überwacht und ggfs. gestartet werden falls diese nicht laufen. Außerdem kann es eine gewünschte Applikation starten, wenn alle definierten Dienste laufen bzw. gestartet wurden. Somit kann sichergestellt werden, dass eine bestimmte Applikation erst dann gestartet wird, wenn abhängige Dienste vorher gestartet wurden.

BackupMaker

Technologie: C#, .NET, Forms

Ein Tool welches anhand eines Template sowohl allgemeine als auch kundenspezifische Dateien/Ordner sammeln und in einer ZIP-Datei verpacken kann. Die Quell-Verzeichnisstruktur kann ebenfalls übernommen werden.

Admin-Tool für Bildungsplattform

Technologie: C#, .NET, Forms

Hierbei handelt es sich um das Standalone Admin-Tool für das Web-Projekt „Bildungsplattform“ welches das Administrieren der Rechte-, Rollen-, Benutzer-, Gruppen- und Klassenverwaltung ermöglicht. Hierbei läuft alles über eine API-Schnittstelle.

VC840-Logger

Technologie: C#, .NET, Forms

Dieser Logger empfängt die Daten von einem Multimeter (VC840) über RS232. Im Logger wird das Display mit allen Zeichen emuliert. Außerdem werden die Daten in Echtzeit in einem Chart dargestellt welche auch gespeichert und wieder geladen werden kann.

Rechnung Bäckerei

Technologie: VB6, Forms

Hier wurde ein Rechnungs-/Lieferschein-Programm für eine Großbäckerei realisiert. Es gibt ein Template für das Layout, eine Kundenverwaltung. Bestellt Artikel können erfasst, gespeichert, geladen und ausgedruckt werden.

Rechnung Werkstatt

Technologie: VB6, Forms

Hier wurde ein Rechnungsprogramm für eine Autowerkstatt realisiert. Es gibt ein Template für das Layout, eine Kundenverwaltung. Getätigte Arbeiten können erfasst, gespeichert, geladen und ausgedruckt werden.

SVCommunicator

Technologie: C#, .NET, Konsole

Dieses Tool ermöglicht es eine beliebige LabVIEW SharedVariable zu beschreiben und auszulesen. Dem Tool können die Parameter von außen übergeben werden. Dadurch ist der Einsatz von PowerShell, Batch oder anderen Skripten möglich.

BinaryImageExporter

Technologie: C#, .NET, Konsole

Das Tool exportiert Bilder, welche binär in einer SQL-Datenbank gespeichert sind. Beim Export werden die Bilder in gängigen Bildformaten inklusive der Ordner-Quellstruktur gespeichert. Der ConnectionString zur Datenbank wird in der Konfigurationsdatei eingetragen.

FileArchiver

Technologie: C#, .NET, Service/Konsole

Der Dienst extrahiert Seriennummer, Tag, Monat und Jahr aus dem Dateinamen von Dateien und erstellt mit diesen Daten eine Ordner-Struktur auf einem Zielverzeichnis. Die Daten werden dann in dieses Zielverzeichnis verschoben. Die Felder die aus dem Dateinamen extrahiert werden, sind frei konfigurierbar. Quell-, Zielverzeichnis und das Verschiebeintervall können ebenfalls konfiguriert werden.

DataFetcher

Technologie: C#, .NET, Konsole

Ein Tool welches die Seriennummer von Göpel-Can-Karten auslesen kann. In einer Datei kann auch eine Liste von Netzwerkrechnern eingetragen werden. Das Ergebnis wird zusätzlich in einer Textdatei gespeichert.

RaidMonitor

Technologie: C#, .NET, Konsole

Dieses Tool kann den Status eines Intel Raid Controllers auslesen und die Info in eine gewünschte LabVIEW SharedVariable eintragen.

RS232-PS2-Emulation

Technologie: C#, .NET, Konsole

Das Tool emuliert für reine RS232-Barcode-Scanner eine PS/2-Schnittstelle. Alle Daten die über die RS232-Schnittstelle empfangen werden, werden an die PS/2-Schnittstelle weitergereicht.

Embedded Anwendungen

HumiControl

Technologie: C

Hier wurde eine vollautomatische, taupunktgeregelte Kellerbelüftung realisiert. Das Projekt besteht aus vier Modulen. Ein batteriebetriebenes Außenmodul, welches die Außen-Temperatur und -Luftfeuchtigkeit misst. Ein Innen-Modul, welches die Keller-Temperatur und -Luftfeuchtigkeit misst. Ein Aktor-Modul welches die Lüfter steuert. Und ein Web-Modul, welches die Messwerte und Schaltzyklen in eine MySQL-Datenbank einträgt die dann auf einer Weboberfläche visualisiert werden. Diese vier Module kommunizieren untereinander per 433 MHz Funk. Alle Module besitzen die gleiche Firmware. Lediglich über eine Kennung im EPROM lässt sich die Rolle des Moduls festlegen.

Das Projekt habe ich Jahre später durch ESP8266-Module und eine Anbindung an mein Smart-Home abgelöst. Heute wird die Lüftung über ein JavaScript auf meinem Smart-Home Broker geregelt und visualisiert.

EyeBot 2012

Technologie: C, C#, .NET, Phone

Hierbei handelt es sich um meine Technikerarbeit. Ein Kettenfahrzeug welches im Automatikmodus mithilfe von Optokopplern einer Linie folgen kann. Dabei kann es über einen Ultraschallsensor an der Front Hindernisse erkennen, anhalten und bei freier Bahn die Fahrt selbstständig wieder aufnehmen. Auf Befehl kann es die richtige Abzweigung nehmen und sich in seine Parkposition begeben wo es dann bis zum nächsten Kommando in Standby wartet. Eine auf dem Fahrzeug montierte, schwenkbare Kamera liefert zu jeder Zeit eine Live-Videoübertragung welches man in der Smartphone-App betrachten kann. Über die App kann man außerdem Kommandos an das Fahrzeug senden wie z.B. Parkmodus, Automatik-/Handbetrieb. Im Handbetrieb kann man das Fahrzeug über die App steuern. Hierzu wird ein virtueller Analog-Joystick bereitgestellt, mithilfe man das Fahrzeug nur mit einem Daumen sanft in Kurven fahren lassen kann oder auch auf der Stelle drehen lassen kann. Die Kamera auf dem Fahrzeug kann durch das Tippen auf den Videorand in die jeweilige Richtung geschwenkt werden.

Barbecue-Monitor

Technologie: C, Java

Mit einem ESP8266, 3 Wägesensoren (HX711), 3 Wägezellen (5kg) und einem Klimasensor (SHT31) wird über das Gewicht einer Gasflasche der Inhalt ermittelt. Der Klimasensor wird für die Temperaturkompensation verwendet. Das Inhaltsgewicht der Gasflasche per MQTT an eine Smart-Home Plattform übertragen, wo es dann für beliebige Automationsroutinen zur Verfügung steht.

Stepper-Control

Technologie: C, C#, .NET, Forms

Mit einem ATmega8, einem Bluetooth-Modul (BTM222) und einem Motortreiber (L293D) kann ein Schrittmotor über eine Windows-Anwendung drahtlos und mit variabler Geschwindigkeit im Halb- oder Vollschritt gesteuert werden.

Garagentor-Erweiterung

Technologie: C

Mit einem ESP8266 und 2 Endschaltern wird der Status eines Garagentors ermittelt und per MQTT an eine Smart-Home Plattform übertragen, wo es dann für beliebige Automationsroutinen zur Verfügung steht. Außerdem kann das Garagentor über die Smart-Home Plattform per Telefonanruf geöffnet und geschlossen werden. Über eine White-List kann das Garagentor nur durch definierte Rufnummern geöffnet bzw. geschlossen werden.

Waage

Technologie: C

Mit einem ATmega8, 1 Wägesensor (HX711), 1 Wägezelle (5kg) und eines Grafikdisplays eine Küchenwaage realisiert. Sie misst auf einem Gramm genau.

Binary-Clock

Technologie: C

Mit einem ATmega8 wird die aktuelle Uhrzeit mit Sekunden binär auf einer LED-Matrix angezeigt. Die Uhrzeit kann über drei Tasten eingestellt werden. Durch addieren des jeweiligen Zeilenwerts, kann die Uhrzeit bestimmt werden. Die jeweiligen LEDs werden über die jeweiligen Zeilen und Spalten im Multiplexbetrieb angesteuert. Die Taktung ist so hoch, dass man kein Flimmern wahrnehmen kann. LEDs mit logisch 0 leuchten Schwächer als LEDs mit logisch 1. Somit kann man die Uhr auch bei Dunkelheit ablesen.

Binary-Clock-Erweiterung

Technologie: C

Mit einem ESP8266 wird täglich und beim Einschalten die aktuelle Uhrzeit von einem Router ausgelesen und die Binary-Clock (siehe oben) über die UART-Schnittstelle synchronisiert.

Lego Bot

Technologie: C, Java

Hierbei handelt es sich um einen Bastelprojekt mit meinem Sohn. Ein Lego-Roboter (ähnlich Rasenmähroboter), gesteuert durch einen ATmega8 und einen Motortreiber L293D, welcher sich über eine Android-App fernsteuern lässt. Hier wurde ebenfalls ein virtueller Analog-Joystick realisiert. Dadurch ist das steuern sehr intuitiv und einfach.

TeachRobot-Remote

Technologie: C, C#, .NET, Forms

Hier wurde eine Steuerung für einen Robotergreifarm realisiert. Ein ATmega8 wertet die Impulse der Achsmotoren aus, steuert über die Motortreiber L293D die Motoren an und kommuniziert über die RS232-Schnittstelle mit der C# Anwendung. In der C# Anwendung können die Achsen entweder über Buttons oder über ein an den PC angeschlossenen Joypad gesteuert werden. Eine Referenzfahrt, Grundstellungsfahrt und einfach automatische Abläuft sind ebenfalls möglich.

UltrasonicMeter

Technologie: C

Mit einem ESP8266 und einem Ultraschallsensor (HC-SR04) wird die Entfernung zu einem Objekt in cm ermittelt und per MQTT an eine Smart-Home Plattform übertragen, wo es dann für beliebige Automationsroutinen zur Verfügung steht.

KeyPad

Technologie: C

Mit einem ATtiny25 und einer Ziffern-Tastatur wurde ein PIN-Schloss realisiert. Die Schaltung ist so klein, dass sie in eine Abzweigdose passt. Für die Zifferntastatur werden nur 3 Leitungen benötigt. Die PIN lässt sich über die Ziffern-Tastatur durch eine bestimmte Abfolge ändern (####).

KeyPad-Diagnose

Technologie: C

Dieses Diagnose-Gerät wurde nachträglich für den KeyPad gebaut um sich über die UART-Schnittstelle Messwerte wie z.B. Widerstandswerte der Zifferntastatur an einem LCD-Bildschirm anzeigen zu lassen. Das Gerät bezieht seine Stromversorgung ebenfalls vom KeyPad.

Klimasensor

Technologie: C

Mit einem ESP8266 und einem Klimasensor (SHT31) wird die Außentemperatur und die Außenluftfeuchtigkeit gemessen und die Werte per MQTT an eine Smart-Home Plattform übertragen, wo es dann für beliebige Automationsroutinen zur Verfügung steht. In diesem Fall ist es ein Teil einer vollautomatischen taupunktgeregelten Kellerbelüftung.

Post-Erkennung

Technologie: C

Mit einem ESP8266 und 5 IR-Lichtschranken (TCRT5000) wird der Schlitz eines Briefkastens überwacht. Bei Erkennung von Post, wird eine Meldung per MQTT an eine Smart-Home Plattform übertragen, wo es dann für beliebige Automationsroutinen zur Verfügung steht.

MovementDetection

Technologie: C

Mit einem ESP8266 und einem Radar (RAD165) werden Bewegungen in der Umgebung erkannt und per MQTT an eine Smart-Home Plattform übertragen, wo es dann für beliebige Automationsroutinen zur Verfügung steht.

Ampel

Technologie: C

Hierbei handelt es sich um einen Bastelprojekt mit meinem Sohn. Eine Spielzeugampel, gesteuert durch einen ATtiny25, welche einen Fußgängertaster besitzt. Sobald man den Taster betätigt, bekommen die Fußgänger nach gewisser Zeit für eine bestimmt Dauer „grün“. Danach bekommen die Autofahrer wieder „grün“.

Web Anwendungen

Bildungsplattform

Technologie: JS, React, Node.js

Für eine Bildungseinrichtung wurde eine Plattform entwickelt. Die Lehrer können den Bildungsstand, Hausaufgaben und die Noten ihrer Schüler verwalten und mit den Eltern kommunizieren. Die Eltern können über die Plattform den Bildungsstand ihrer Kinder einsehen, ihre Kinder entschuldigen und Fragen an die Einrichtung stellen. Die Schüler können ihre Hausaufgaben und ihren Bildungsstand einsehen. Die Plattform hat eine Rechte und Rollenverwaltung. Die Administration kann sowohl über die Weboberfläche als auch über ein Standalone-Anwendung erfolgen.

Reservations-Plattform

Technologie: PHP, JS

Während der Corona-Zeit mussten alle öffentlichen Einrichtungen die Anwesenheit ihrer Besucher dokumentieren. Über diese Webseite konnten sich die Besucher für ein bestimmtes Datum mit ihrem Namen und ihrer Rufnummer anmelden. Der Besucher hat dann ein QR-Code und eine Reservationsnummer bekommen, mit dem dann die Einrichtung betreten werden konnten. Die Einrichtung konnte ebenfalls über die gleiche Webseite die Besucher validieren und beim Betreten der Einrichtung abhaken. Daten älter 4 Wochen wurden automatisch aus der Datenbank gelöscht.

Storage-Manager

Technologie: PHP

Über diese Webseite kann man den Inhalt seiner Sortiment-Kästen verwalten. Kategorien und eine Suchfunktion helfen dabei Bauteile schnell zu finden.

Mobile Anwendungen

Signal-Plotter

Technologie: Kotlin

Mit dieser App können Sinus-, Rechteck-, Dreieck und Sägezahn-Kurven dargestellt werden. Über zwei Slider können außerdem Amplitude und Frequenz der Kurven verändert werden.

© 2024 eXaware. Alle Rechte vorbehalten.