... | ... | @@ -6,7 +6,7 @@ |
|
|
2.2 [UseCases](#usecases)
|
|
|
3. [Mockups und Systemskizzen](#mockups-und-systemskizzen)
|
|
|
4. [Verwendete Hardware](#verwendete-hardware)
|
|
|
5. [AmbientBox](#ambientbox-1)
|
|
|
5. [AmbientBox](#ambientbox)
|
|
|
5.1 [Architektur](#architektur)
|
|
|
5.2 [Frontend und Backend](#frontend-und-backend)
|
|
|
5.3 [Betriebssystem](#betriebssystem)
|
... | ... | @@ -107,8 +107,15 @@ Abbildung XX, XX: Variante 1 und 2 der Systemskizze des Hardwareprototyps |
|
|
|
|
|
# AmbientBox
|
|
|
|
|
|
In den nachfolgenden Kapiteln wird die Umsetzung der AmbientBox genauer beschrieben. Zuerst wird in [Kapitel 5.1](#architektur) ein Überblick über die Architektur der AmbientBox gegeben. [Kapitel 5.2](#frontend-und-backend) geht danach genauer auf die Frontend und Backend-Komponenten der AmbientBox ein. In den Kapiteln [5.3](#betriebssystem) und [5.4](#hardware) wird genauer auf die verwendeten Hardwarekomponenten der AmbientBox eingegangen, sowie das Betriebssystem behandelt.
|
|
|
|
|
|
## Architektur
|
|
|
|
|
|
Das Kernstück der AmbientBox bildet ein Raspberry Pi. Auf diesem werden die Software-Komponenten der AmbientBox ausgeführt. Dies umfasst einen Backend-Server, Python Childprozesse und eine Webapplikation.Der Backend-Server ist über eine Socket-Verbindung mit dem Accelerator verbunden. Über einen Middleware-Router und einen Socket-Server kommuniziert dieser ebenfalls mit der Webapplikaton, welche das UI der AmbientBox bildet. Über die Webapplikation findet die WebRTC-Kommunikation, sowie die Konfiguration der Hardware statt. Dafür werden eine Kamera, ein Mikrofon und ein Lautsprecher angesprochen. Das Backend verwendet zudem zur Darstellung von unterschiedlichen Stadien der AmbientBox eine LED-Anzeige. Diese wird mit Python-Childprozessen angesprochen. Zusätzliche Komponenten des Systems sind eine Powerbank, mit welcher der Raspberry Pi betrieben wird und ein Bildschirm, über welchen die Ausgabe des Frontends visualisiert wird. In Abbildung X ist diese Architektur zu sehen.
|
|
|
|
|
|

|
|
|
Abbildung X: Systemübersicht der AmbientBox
|
|
|
|
|
|
## Frontend und Backend
|
|
|
|
|
|
 \
|
... | ... | @@ -123,12 +130,12 @@ Mithilfe der Schalter und Regler auf der Einstellungsseite können die diversen |
|
|
|
|
|
## Hardware
|
|
|
|
|
|
Die initiale Idee war es, für das System einen Arduino Microkontroller zu verwenden. Es zeigte sich allerdings schon bald, dass dessen Leistung und Funktionen für das Projekt nicht passend war. Stattdessen wurde sich also für einen Raspberry Pi Mini-Computer entschieden. Dieser unterscheidet sich vom Arduino durch deutlich höhere Rechenkapazität, erweiterten Kommunikationsmöglichkeiten wie einem eingebauten WLAN-Modul und mehrere Anschlüsse und durch ein vollständiges Betriebssystem, dem Raspbian OS.\
|
|
|
Es wird ein 3,5 Zoll TFT Touchscreen-Bildschirm verwendet. Dieser kann über Pins direkt mit dem Pi verbunden werden, in diesem Fall haben wurde sich aber dafür entschieden, den Pi mit einem kleinen Breadboard zur Weiterleitung der Signale zu verbinden und dann entsprechend den Bildschirm mit dem Breadboard zu verbinden. Der Bildschirm ist für das Projekt ausreichend, zeichnet sich allerdings durch mehrere Schwachstellen aus: Der Bildschirm ist ziemlich klein, was die Eingabe von beispielsweise dem Passwort einer WLAN-Verknüpfung erschwert. Zudem ist die Bildwiederholrate sehr niedrig, was zu einem ruckeligen Bild und entsprechend einer negativeren Nutzererfahrung führt. Ein großer Kritikpunkt ist ebenfalls der Blickwinkel – schon bei einer leichten Neigung werden die Farben auf dem Bildschirm stark verzerrt angezeigt.\
|
|
|
Aufgrund der beim Pi eingebauten 3,5mm-Klinke zur Audioausgabe/-eingabe wurde ein kleiner Lautsprecher mit entsprechendem Anschluss ausgewählt. Dieser ist für das Projekt ausreichend, sollte allerdings im Optimalfall durch einen stärkeren Lautsprecher ersetzt werden, da er auch bei maximaler Lautstärke recht leise ist. Im Endeffekt wurde allerdings doch nicht die 3,5mm-Klinke des Pis verwendet, da es zu einem Softwareproblem kam, welches in Kapitel [TODO Kapitelnummer einfügen] erklärt wird. Aus diesem Grund wird einer der vier USB-Ports des Pis für eine externe Soundkarte verwendet. Diese ist klein und leistungsstark genug, um für das Projekt gut verwendbar zu sein. Zur Aufnahme der Stimmen der Personen, die sich mit der AmbientBox im Raum befinden, wurde ein USB-Mikrofon verwendet. Dieses ist für das Projekt passend, da es ein langes Kabel hat und klein und unaufmerksam ist. Es stellte sich allerdings heraus, dass das Kabel an dem USB-Anschluss einen langen Plastiktrichter hat, der nicht verbogen werden kann und deshalb die Größe der AmbientBox radikal erhöhen würde. Aus diesem Grund wurde ein Verlängerungskabel besorgt.\
|
|
|
Ein weiteres Verlängerungskabel wurde vom Pi nach außen zum unteren Rand der AmbientBox gelegt. Dadurch wird ein USB-A Anschluss geboten, an dem beispielsweise eine USB-Tastatur oder eine Maus zur einfacheren Navigation angeschlossen werden kann. Neben diesem Anschluss befindet sich ein zweiter USB-C Anschluss. Dieses Kabel ist intern direkt mit einer Powerbank verbunden, die es der AmbientBox erlaubt, ohne direkten Stromanschluss betrieben zu werden. Über den USB-C Anschluss lässt sich die Powerbank und somit die gesamte AmbientBox laden. Die Powerbank stammt von der Marke Intenso und verfügt über eine Kapazität von 10.000 Milliamperestunden, was zu einer langen Batterielaufzeit der AmbientBox führt.\
|
|
|
Die AmbientBox ist mit der Powerbank über ein Kabel verbunden, welches einen physischen An- und Ausschalter besitzt. Dieser Schalter wurde zur Außenseite der Box gelegt und schaltet entsprechend den Stromfluss zwischen dem Raspberry Pi und der Powerbank ab oder an.\
|
|
|
Zuletzt verfügt die AmbientBox noch über eine portable USB-Kamera. Diese verfügt über ein einfahrbares Kabel, welche gut zu dem Projekt gepasst hat. Sie nimmt mit einer Auflösung von 640x480 Pixeln auf und erlaubt es der nutzenden Person der AmbientBox die anderen Gesprächsteilnehmer gut zu sehen.\
|
|
|
Die initiale Idee war es, für das System einen Arduino Microkontroller zu verwenden. Es zeigte sich allerdings schon bald, dass dessen Leistung und Funktionen für das Projekt nicht passend war. Stattdessen wurde sich also für einen Raspberry Pi Mini-Computer entschieden. Dieser unterscheidet sich vom Arduino durch deutlich höhere Rechenkapazität, erweiterten Kommunikationsmöglichkeiten wie einem eingebauten WLAN-Modul und mehrere Anschlüsse und durch ein vollständiges Betriebssystem, dem Raspbian OS.
|
|
|
Es wird ein 3,5 Zoll TFT Touchscreen-Bildschirm verwendet. Dieser kann über Pins direkt mit dem Pi verbunden werden, in diesem Fall haben wurde sich aber dafür entschieden, den Pi mit einem kleinen Breadboard zur Weiterleitung der Signale zu verbinden und dann entsprechend den Bildschirm mit dem Breadboard zu verbinden. Der Bildschirm ist für das Projekt ausreichend, zeichnet sich allerdings durch mehrere Schwachstellen aus: Der Bildschirm ist ziemlich klein, was die Eingabe von beispielsweise dem Passwort einer WLAN-Verknüpfung erschwert. Zudem ist die Bildwiederholrate sehr niedrig, was zu einem ruckeligen Bild und entsprechend einer negativeren Nutzererfahrung führt. Ein großer Kritikpunkt ist ebenfalls der Blickwinkel – schon bei einer leichten Neigung werden die Farben auf dem Bildschirm stark verzerrt angezeigt.
|
|
|
Aufgrund der beim Pi eingebauten 3,5mm-Klinke zur Audioausgabe/-eingabe wurde ein kleiner Lautsprecher mit entsprechendem Anschluss ausgewählt. Dieser ist für das Projekt ausreichend, sollte allerdings im Optimalfall durch einen stärkeren Lautsprecher ersetzt werden, da er auch bei maximaler Lautstärke recht leise ist. Im Endeffekt wurde allerdings doch nicht die 3,5mm-Klinke des Pis verwendet, da es zu einem Softwareproblem kam, welches in Kapitel [TODO Kapitelnummer einfügen] erklärt wird. Aus diesem Grund wird einer der vier USB-Ports des Pis für eine externe Soundkarte verwendet. Diese ist klein und leistungsstark genug, um für das Projekt gut verwendbar zu sein. Zur Aufnahme der Stimmen der Personen, die sich mit der AmbientBox im Raum befinden, wurde ein USB-Mikrofon verwendet. Dieses ist für das Projekt passend, da es ein langes Kabel hat und klein und unaufmerksam ist. Es stellte sich allerdings heraus, dass das Kabel an dem USB-Anschluss einen langen Plastiktrichter hat, der nicht verbogen werden kann und deshalb die Größe der AmbientBox radikal erhöhen würde. Aus diesem Grund wurde ein Verlängerungskabel besorgt.
|
|
|
Ein weiteres Verlängerungskabel wurde vom Pi nach außen zum unteren Rand der AmbientBox gelegt. Dadurch wird ein USB-A Anschluss geboten, an dem beispielsweise eine USB-Tastatur oder eine Maus zur einfacheren Navigation angeschlossen werden kann. Neben diesem Anschluss befindet sich ein zweiter USB-C Anschluss. Dieses Kabel ist intern direkt mit einer Powerbank verbunden, die es der AmbientBox erlaubt, ohne direkten Stromanschluss betrieben zu werden. Über den USB-C Anschluss lässt sich die Powerbank und somit die gesamte AmbientBox laden. Die Powerbank stammt von der Marke Intenso und verfügt über eine Kapazität von 10.000 Milliamperestunden, was zu einer langen Batterielaufzeit der AmbientBox führt.
|
|
|
Die AmbientBox ist mit der Powerbank über ein Kabel verbunden, welches einen physischen An- und Ausschalter besitzt. Dieser Schalter wurde zur Außenseite der Box gelegt und schaltet entsprechend den Stromfluss zwischen dem Raspberry Pi und der Powerbank ab oder an.
|
|
|
Zuletzt verfügt die AmbientBox noch über eine portable USB-Kamera. Diese verfügt über ein einfahrbares Kabel, welche gut zu dem Projekt gepasst hat. Sie nimmt mit einer Auflösung von 640x480 Pixeln auf und erlaubt es der nutzenden Person der AmbientBox die anderen Gesprächsteilnehmer gut zu sehen.
|
|
|
|
|
|
# Schnittstellen
|
|
|
|
... | ... | @@ -310,7 +317,6 @@ Ein weiterer Kritikpunkt ist die Anordnung des Displays. Von einer sitzenden Pos |
|
|
Eine weitere Anmerkung ist die Verwendung der Kamera. Die Kamera ist zu tief angebracht, sodass nicht alle Personen vollständig erkennbar sind. Ein veränderter Winkel oder eine Kamera mit Weitwinkelfunktion könnten dieses Problem beheben.
|
|
|
Es wurden keine Anmerkungen oder Kritikpunkte an der entwickelten Oberfläche der AmbientBox erfasst. Aufgrund der geringen restlichen Zeit des Semesters wurden keine Änderungen aufgrund des Feedbacks vorgenommen, jedoch bietet dieses Anhaltspunkte für eine Weiterentwicklung des Systems in kommenden Semestern.
|
|
|
|
|
|
|
|
|
# Anleitung
|
|
|
|
|
|
## Vorbereitung
|
... | ... | |