Projekt “Video-Kommunikationsplattform für gemeinnützige Organisationen”

Online-Kommunikationsoberfläche als Alternative zu kommerziellen Anbietern ( Google, Skype, etc. ), selbst gehostet.

Im Sommersemester 2017 wurde im Rahmen eines Praxis-Projektes eine erste technische Grundlage zur Entwicklung einer Kommunikationsoberfläche auf Grundlage der Technologie WebRTC aufgebaut. Continue reading “Projekt “Video-Kommunikationsplattform für gemeinnützige Organisationen””

CamDroid

Wir haben dieses APP für Android entwickelt, um uns diesem schnell wachsenden und sehr interessanten Gebiet zu nähern. Nach anfänglichen Problemen und durcharbeiten vieler Tutorials und der veröffentlichten API zu Android, haben wir ein sehr brauchbares, stabiles und für das erste Release doch gut funktionales APP fertigstellen können.

Nämlich eine APP mit der wir das Bild, welches die Kamera unseres Androiden sieht, in die Welt streamen können.

So ist es möglich mit einem M-JPEG fähigem Browser (Firefox, Chrome, Safari) oder Player (VLC, MPlayer) den Stream zu sehen.

Der erste Screenshot zeigt die Einstellungsmaske unseres APPs.

Wir haben dort die Möglichkeit, die:

  • Auflösung (Resolution)
  • Bildwiederholrate (Frequency)
  • Bildqualität (Quality)
  • und den Port

einzustellen.

Natürlich kann man nach erfolgreichem einstellen den Vorgang auch starten.

Das sieht dann so aus:

Dort sieht man dann auch die Adresse, die man in einem M-JPEG fähigen Browser oder Player eingeben kann, um sich so den Stream anzuschauen.

Ein Zusatz ist, dass man jederzeit zur Laufzeit die Einstellungen verändern kann.

Wir haben auch noch einige ToDo’s auf unsere Liste, denen wir uns in Zukunft widmen wollen:

  • Perfomance boost
  • Unterscheidung Querformat/Hochformat
  • Unterstützung durch das eingebaute Flashlight (manuell/automatisch)

CamDroid Projekt Seite @Google Code

Laufschriftanzeige

Das Android App wurde entwickelt um eine Laufschrift vom Smartphone aus in Echtzeit steuerbar zu machen. Die Laufschriftrichtung und Laufschriftgeschwindigkeit sind einstellbar. Die Laufschrift wird auf dem PC simuliert. Für die simulierte Laufschriftoberfläche wurde Microsoft Visual Basic .NET 2010 verwendet. Der Zeichenstring wird per WLAN vom Smartphone auf den PC übertragen und dort angezeigt.

fotofun (Android)

Auf den ersten Blick schien das Projekt leicht überschaubar und realisierbar. Unterschätzt wurde dabei die “spezielle” Ausrichtung von Java auf die Objektorientierung. Zwar ist der Syntax zu C/C++ sehr verwandt, aber keine Programmiersprache gleicht der anderen. Zudem hat es einige Zeit in Anspruch genommen sich alle Komponenten zusammen zu suchen. Zwar hätte man z.B. den Dateibrowser selbst programmieren können, allerdings wäre auf diese Weise das “Rad neu erfunden wurden”. Trotz des Scheitern des Projektes wurde durch diese Vorlesung ein guter Eindruck von

  • Projektmanagment
  • Dokumentation
  • Android-Entwicklung unter Java

gewonnen. Der wohl wichtigste Eindruck ist gewesen, dass die Planung des Arbeitsaufwandes noch Defizite hat und dass Java nicht gleich Java ist.
So ist die Programmierung nicht erfolgreich gewesen, dafür ist ein erster Einblick in die Android Programmierung erfolgt und der persönliche Lerneffekt ist vorhanden gewesen, was wohl das wichtigste ist.
Nichtsdestotrotz wird die Entwicklung der Applikation nach kauf eines HTC/Android Gerätes weitergehen, auch wenn es solche Programme sicherlich wie Sand am Meer gibt.

iPhone OpenGL ES 3D “exploration”

Zur Realisierung einer “erlaufbaren” 3D-“Welt” wurde auf dem iPhone die OpenGL ES-API verwendet. Die Objekte werden zunächst sehr einfach als header-files importiert, welche das Modell in Form dreier Datenarrays enthalten. Hier sind über Vertexe, Faces und Normalen die verschiedenen zusammenhängenden Polygone definiert.

Da komplexere Modelle nicht mehr mit der Hand erzeugt werden können, bedient man sich hierbei eines 3D-Modellers, wie zum Beispiel Blender 3D. Zusätzlich gibt es ein Python-Script von Jeff Lamarche, mit welchem aus Blender komplette Modelle im wavefront.obj-Format direkt als iPhone-Header-Datei exportiert werden können.

Die Idee war die Modellierung eines virtuellen Stonehenge, beispielhaft für eine zu erkundende Umgebung. Die Erkundung erfolgt durch Anpassung der Kameraperspektive und der Modellausrichtung. Hierzu werden entweder der Kompaß des Telefons und/oder Touch-Events auf dem Display des Telefons verwendet.

Als weitere Ausbaustufe wäre die Maßstabsgetreue Modellierung eines echten Objektes denkbar, welches dann mittels GPS grundsätzlich lokalisiert und mit zusätzlichen Telefonbewegungen oder Touch-Events weiter erkunden werden könnte. Mit einem transparenten Hintergrund und einem aktuellen Kamerabild landet man dann schnell bei der Idee von “agmented reality”.

Das Projekt selber wurde mit dem Status der lauffähigen Erkundung in 3D eingefroren und zur Bewertung freigegeben. Die Weiterentwicklung wird sicherlich an diversen Abenden privat erfolgen…….. 🙂

m+h

3D-Anaglyph für androidfähige Smartphones

Idee:

Es soll eine Handy-Software entwickelt werden, die es ermöglicht aus zwei geschossen Bildern ein
3D-Bild (Anaglyph) zu erzeugen.
Zielplattform:

Als Zielplattform bietet sich Android an, da uns die entsprechende Hardware zur Verfügung steht.
Realisierung:

Zunächst werden mit der integrierten Kamera zwei Bilder geschossen. Diese werden anschließend in
ein Anaglyph-Bild konvertiert und am Bildschirm angezeigt. Der Benutzer kann dieses Bild mit einer
Anaglyph-Brille dreidimensional wahrnehmen.
Problematik:

Um mit der Kamera ein Anaglyph fähiges Bild erzeugen zu können, müssen gewisse Anforderungen,
wie z.B. horizontaler Bildversatz, eingehalten werden. Diese einzuhalten erfordern sowohl eine
Anleitung als auch eine benutzerfreundliche Handhabung der Software.
Mögliche Erweiterungen:

Evtl. soll es auch möglich sein, aus zwei lokal vorhandenen stereoskopischen Bildern ein Anaglyph-
Bild sich anzeigen zu lassen.
Vorschau:

https://www.assembla.com/code/cwSZ7a9BWr35B-eJe5cbLA/subversion/nodes

Leistungsdiagnose auf einem Smartphone

Körperliche Betätigung ist ein wichtiger Bestandteil unseres alltäglichen Lebens, um gesund und leistungsfähig zu bleiben. Viele Menschen verfolgen aus verschiedenen Gründen, ob nun als Hobby oder aus beruflichen Gründen, eine erhöhte körperliche Leistungsfähigkeit.
Bei intensivem Training kann es jedoch dazu kommen, dass man es „übertreibt“ und damit das Training die Gesundheit eher negativ als positiv beeinflusst. Um dies zu verhindern, kann man verschiedene Vitalwerte während des Trainings überprüfen und auswerten. Zu diesen Werten gehören unter anderem der Lactatwert, der Blutdruck und die Herzfrequenz und für die Auswertung stehen verschiedene Leistungstests zur Verfügung.

Das Projekt behandelt nun die Erstellung einer Leistungsdiagnose mittels des sogenannten Conconi-Tests auf einem Smartphone. Dabei wird die Herzfrequenz des Probanden mit einem Pulsgurt ausgelesen und über den Test ausgewertet.
Der Test ermöglicht die Bestimmung der aeroben Schwelle und der maximalen Herzfrequenz, mit denen sich unterschiedliche Trainingspläne erstellen lassen.
Eine genauere Erklärung zum Test kann hier gefunden werden:
https://www.assembla.com/wiki/show/bht_puls_gurt/Conconi-Test

Das Ergebnis des Projektes ist eine Applikation für Windows Mobile, die die Leistungsdiagnose steuert und auswertet. Sie verfügt über eine, leicht zu bedienende, graphische Oberfläche für die Steuerung des Tests. Man kann den Tests starten, stoppen und die Schwierigkeit einstellen.
Neben den Eingaben verfügt die Applikation noch über mehrere Ausgaben. Sie zeigt die vergangene Zeit, den Akkuladestand des Pulsgurtes, die Herzfrequenz, die zu erbringende Leistung und die graphische Auswertung des Tests an. An dem Graphen der Auswertung kann man selbständig den gesuchten Deflexionspunkt (Punkt mit der aeroben Schwelle) ablesen.
Um die Durchführung des Tests zu vereinfachen wurde eine akustische Warnung eingebaut, die bei jeder Erhöhung der Stufen erklingt.

Weitere Informationen zum Porjekt, der Umsetzung und dem Test sind im folgenden Wiki zu finden:

https://www.assembla.com/wiki/show/bht_puls_gurt/d4h7py8-ur35KseJe5cbLA

Bluetooth Authentication

Das Projekt Bluetooth Authentication zeigt, in wie fern man Android zum automatischen Anmelden an einem Windows-Rechner verwenden kann.

Die Idee besteht darin, dass man mit seinem Smartphone in die Nähe seines Rechners kommt und dieser dann automatisch einen zugeordneten Benutzer anmeldet.

Sobald sich der Benutzer wieder vom Rechner entfernt wird der Benutzer abgemeldet.

Notwendige Anwendungen:

* Windows Credential Provider zum Anmelden an Windows.

* Anwendung zur Smaprtphone/Benutzer-Zuordnung und zum Konfigurieren des Credential Providers
* Android Anwendung, die die Verbindung zum Windowsrechner aufnimmt und die An- und Abmeldung steuert.

OCR App für Android

Eine Android App mit serverbasierter Erkennung von fotografierten Texten,
welche im Rahmen der Lehrveranstaltung Embedded Systems an der BHT Berlin entstanden ist.

Weitere Informationen zu den Features und zur Entwicklung finden Sie im Assemblaeintrag:

http://www.assembla.com/wiki/show/AndroidOCR/d-pWtw6pKr36CpeJe5cbLr

Der Source-Code befindet sich in folgendem SVN Repository:

http://www.assembla.com/code/AndroidOCR/subversion/nodes


Design der OCR App nach dem Start


OCR App, nachdem ein Foto aufgenommen wurde


OCR App, nachdem ein Text erkannt wurde. Das Ergebnis schwankt sehr u.a. von der Belichtung.