Projekte

Archiv der Kategorie: Projekte

Lichts aus, LEDs an

Gestern hat das Projekt Sentient Light einen wichtigen Meilenstein erreicht – die erste Seite der Baumsäule erstrahlt in rund 600 LEDs. 

Aber der Reihe nach: Unter Federführung von Matthias hat das Elektronik Team die Stromversorgung einer Seite des Baums fertiggestellt. Um die 5m langen LED Streifen kontinuierlich mit der benötigten Spannung von 5 Volt zu versorgen, kommen auf jeder der vier Seiten der Säule zwei DC-DC-Wandler zum Einsatz. Diese wandeln die 12 Volt, welche das Netzteil bereitstellt, in 5 Volt um. Die LED Streifen besitzen jeweils vier Einspeispunkte, welche mit 5 Volt versorgt werden.

Verkabelung einer Baumsäule

Bevor die DC-DC-Wandler an der Säule angebracht werden konnten, wurden sie in flammenhämmenden Aufputzdosen platziert und mit Kabeln für Ein- und Ausgänge versehen. Die Kabelstränge wurden anschließend an der Säule hochgeführt und in teils luftigen Höhen an die DC-DC-Wandler gelötet.

DC-DC-Wandler in einer Aufputzdose

Dank der Unterstützung der Baumhaus Crew bestehend aus Simon, Max und Ule konnten wir die erste Baumseite tatsächlich kurz vor Mitternacht zum Leuchten bringen. Bevor der Baum in vollem Glanz erstrahlen kann folgen im Laufe der nächsten Woche die restlichen drei Seiten.

Die Ostseite des Baums

Sentient Light Vision

Sentient Light ist ein generisches System zur reaktiven Ansteuerung von Leuchtelementen dar. Ausgehend von Umgebungsparametern – wie Aufenthaltsort und Bewegungen von Personen – werden Farbe und Intensität einer sich im Raum befindlichen Beleuchtungsinstallationen dynamisch gesteuert. Der Raum wird damit intelligent und in die Lage versetzt, auf die darin befindlichen Menschen zu reagieren. Auf diese Weise entsteht der Eindruck eines fühlenden Raums beziehungsweise eines fühlenden Lichts.

Das Projekt wird derzeit im Baumhaus Berlin realisiert. Das Baumhaus ist ein im Bau befindlicher Veranstaltungsraum in Berlin Wedding für Menschen und Projekte, die sich für den sozialen und ökologischen Wandel engagieren.

sentient light - poster - portrait

Komponenten

Projektziele

Ziel des Projekts ist die Konzeption und Realisierung einer reaktiven Lichtanlage, welche in den Räumen von Das Baumhaus Berlin genutzt werden kann. Die Realisierung umfasst den Entwurf, die Hardware-Fertigung, das Erstellen der Firmware für die Ansteuerung und die Implementierung der Mapping-Engine.

Datenfluss

Die Idee des Projekts ist es, Umgebungsparameter durch Sensoren zu messen und die gemessenen Werte zu einer zentralen Steuerungseinheit zu senden. Die Werte werden dort aggregiert und mittels einer Mapping Engine transformiert.

sentient light - konzept

Datenfluss

Die transformierten Werte wiederum werden an Aktoren gesendet, welche diese als Input für eine Aktion verwenden.

Bluetooth Smart

Sensoren, Aktoren und Steuerungseinheit kommunizieren miteinander über Funk und spannen so ein Netzwerk der Dinge auf. Als Kommunikationsmedium kommt der Funkstandard Bluetooth 4.0 zum Einsatz, auch Bluetooth Low Energy oder Bluetooth Smart genannt. Er zeichnet sich durch einen einfachen Protokollstapel und niedrigen Energieverbrauch der Hardware aus und wird von den meisten Smartphones und Tablets unterstützt.

Sentient Light gewinnt Wettbewerb „Mensch und Technik“ VDI

Genau wie im Vorjahr hat der Verband Deutscher Ingenieure (VDI) Studenten und Studentinnen der Ingenieurwissenschaften an Berliner und Brandenburger Universitäten und Hochschulen zur Teilnahme am Wettbewerb Mensch und Technik aufgefordert. Bis zum 30. September konnten in Form eines Posters und einer Kurzbeschreibung Projekte eingereicht werden die einen klaren Bezug zu Mensch und Technik haben.

Und so nahmen wir den Wettbewerb zum Anlass die längst überfällige Präsentation unseres Projektes anzufertigen. Das ebenfalls für die Teilnahme geforderte Plakat kann demnächst im Baumhaus bewundert werden.

2016_11_17-VDI_Mensch_und_Technik_Poster_v4_de

Sentient Light Poster (klicken für größere Ansicht)

Mitte November bekamen wir die Mitteilung vom VDI dass unser Team zur Preisverleihung eingeladen ist – yeah! Am 25. November fand dann im Ludwig Erhard Haus am Zoologischen Garten die Preisverleihung statt.

SONY DSC

Team Sentient Light und Prof. Hausburg

Zu Beginn der Veranstaltung wurden zunächst die besten Absolventen und Absolventinnen technischer Studiengänge an Berliner und Brandenburger Hochschulen und Universitäten geehrt. Die Oratoren des VDI betonten in ihren Reden die Herausforderungen, durch Technik die Probleme einer modernen und vernetzen Stadt abzugehen und zu lösen. Die Präsidentin der Technischen Hochschule Brandenburg, Prof. Dr. Wieneke-Toutaoui, verwies auf die heutigen Möglichkeiten, als Student eines technischen Studienganges, die Welt ein Stück weit besser zu machen und verwies in dem Zusammenhang auf die zwar gestiegene allerdings noch bei Weitem nicht zufriedenstellende Anteil weiblicher Studenten in Ingenieursstudiengängen.

Die anderen Redner bestärkten die Studenten, ihre Ideen durch Unternehmergeist zu realisieren. Ein Zitat von Reid Hoffman bliebt besonders im Gedächtnis:

„Wenn dir die erste Version deines Produktes nicht peinlich ist, hast du es zu spät auf den Markt gebracht.“

– Reid Hoffman, Co-Founder von LinkedIn

Im Anschluss sollten die drei bestplatzierten Teilnehmer des Wettbewerbs ausgezeichnet werden. Zu diesem Zeitpunkt war usn noch nicht klar, welchen Platz wir belegt hatten.

In umgekehrter Reihenfolge wurden die Preisträger auf die Bühne gebeten: Den dritten Platz belegten zwei Studenten die mithilfe eines Aldebaran Nao Roboters natürlich Sprache in Gebärdensprache übersetzen. Auf dem zweiten Platz landete das Projekt eines einzelnen Teilnehmers, welches zum Ziel hatte, Fluglärm durch die Verwendung von Linern zu reduzieren.

And the winner is…

Sentient Light konnte sich in der Jurywertung durchsetzen und wurde mit dem ersten Platz ausgezeichnet. Keiner von uns hatte zu Beginn mit diesem Erfolg gerechnet. Umso mehr freuen wir uns über diese Ehrung.

In einer kurzen Ansprache beschrieb Professor Hausburg das Projekt als die Integration einer technischen Lösung in ein sozial-dynamisches Umfeld, welche durch seine Dynamik die Interaktionen der beteiligten Personen widerspiegelt.

Im Anschluss an die Preisverleihung hatten die drei Teams die Gelegenheit, ihre Konzepte an einem Stand den anderen Gästen zu demonstrieren. Das steigende Interesse an unserem Projekt nehmen wir zum Anlass, die einzelnen Komponten im Detail vorzustellen. Teil 1: die Projektvision.

Eclipse zur nRF51822-Entwicklung Setting up Eclipse to develop for the nRF51822

Wir sind zwar sehr geschickt im Umgang mit der Konsole bei der Entwicklung von Firmware für den nRF51822: Man muss nur openocd mit -c „set WORKAREASIZE 0;“ und der passenden openocd.cfg starten und kann dann mit arm-none-eabi-gdb mycode.elf/.hex den eigenen Code testen.

Manchmal möchte man aber Eclipse verwenden: Es ist eine schöne graphische, plattformübergreifende Oberfläche, in der alle notwendigen/nützlichen Entwickler-Features bequem als Buttons oder festeinstellbare Konfigurationsoptionen bereit stehen.

Wir haben mal Nordic’s Tutorial zur Verwendung von Eclipse ausprobiert. Teilweise sind wir anders vorgegangen, u.a. da wir nicht eins der offiziellen Developer Boards, sondern unsere eigenen JTAG-Adapter mit einem Waveshare Core51822 verwenden. Unser Vorgehen möchten wir hier kurz präsentieren:

Zunächst lädt man die aktuellste, stabile Eclipse IDE für C/C++ Entwickler herunter. Bei uns ist das Mars bzw. Mars 2.

Um die GNU ARM-Tools vonhttp://gnuarmeclipse.github.io/debug/openocd/ zu installieren, muss man eine neue Quelle in Eclipse hinzufügen:
http://gnuarmeclipse.sourceforge.net/updates
Dann muss man installieren, (fast) wie es im Tutorial aufgelistet wird:

  • Cross Compiler
  • Packs
  • OpenOCD

und das GDB via OpenOCD-Tool.

Wie hier beschrieben, kann man es dann in Eclipse > Run Configurations > GDB via OpenOCD hinzufügen.

ICprog debuggt nRF51822 ICprog debugs nRF51822

Nach anfänglichen Schwierigkeiten, konnten wir den ICprog von InCircuit.de heute sowohl unter Windows als auch unter Linux in Betrieb nehmen. Mit der Hilfe von Paul Fertser vom #OpenOCD-Kanal auf Freenode konnte eine funktionierende OpenOCD-Konfiguration für den Adapter erstellt werden.

Hinweis: Die LEDs auf der Platine leuchten nur bei Verwendung der seriellen Schnittstelle (Port B), nicht bei Verwendung von JTAG/SWD.

Unter Windows war zunächst das Problem zu lösen, dass libusb nicht gefunden und nach Installation als nicht kompatibel bemängelt wurde. Ein Blick in die Installations-Quellen von OpenOCD genügte, um dies zu lösen: In einem Unterordner gibt es ein README, in dem die entsprechend nachzuinstallierende libusb-Windows-Software verlinkt ist. Danach funktioniert der Adapter.

Unter Linux wollte openocd den Adapter zunächst nicht im SWD-Transfer-Modus betreiben:

Nach kurzer Fehlersuche wurde uns klar, dass das Ubuntu-Paket OpenOCD in der veralteten Version 0.7.0 vertreibt. Zum Aktualisieren haben wir den Quellcode geklont (Version 0.10.0) und selbst kompiliert, was reibungslos von Statten geht:

und als Superuser:

Über den SWD Widerstands-Hack mit einem 430 Ohm-Widerstand konnte nun erfolgreich der nRF51882 auf dem Waveshare Core51822-Board gedebuggt werden:

Man beachte, dass der Jumper auf dem ICprog NICHT gesetzt sein darf. Der nRF51 muss von einer externen Spannungsquelle (oder Batterie) mit 3V / 3.3V versorgt werden, keinesfalls mit 5V vom ICprog.

In-Circuit’s ICprog JTAG-Adapter ausprobiert Testing In-Circuit's ICprog JTAG-Adapter

Heute haben wir uns den JTAG-Adapter „ICprog“ von In-Circuit.de angeschaut. Der Schaltplan des Adapteres steht auf der Artikel-Seite im Shop zur Verfügung. Im Wiki des Unternehmens finden sich außerdem eine allgemeine Beschreibung mit Pin-Belegung sowie eine Beschreibung der Verwendung mit OpenOCD.

Dass der Schaltplan bereitsteht, erfreut uns und ermöglichte uns das Anschließen des nRF51822 unter Zuhilfenahme des JTAG-zu-SWD Widerstands-Hacks.

Kommunizieren konnten wir bisher leider nicht. Die Windows-Version von OpenOCD scheint Statements mit Präfix „ft2232“ nicht mehr zu akzeptieren (veralteter Syntax), sodass das Einbinden von interface/openocd-usb.cfg in unserer openocd.cfg fehlschlägt. Wir haben In-Circuit angeschrieben und hoffen auf ihre Hilfe bei der Erstellung einer funktionierenden openocd.cfg.

Erwähnenswert ist, dass sich ungewöhnlicherweise die Batterie erwärmte, welche den nRF51822 mit 3V versorgte, sowie die Adapterplatine (welches Bauteil genau, ist unklar). Wir haben darauf geachtet, nicht die 5V vom USB (mit der auf der Platine vorhandenen Brücke) auf den Ausgang zu legen, da der nRF51822 nicht 5V-tolerant ist. Ob der Adapter auf 3V kommunizieren kann und ob die Pin-Belegung in unserem Aufbau korrekt war, könnte nochmal geprüft werden (Man beachte, der Adapter hat am Ausgang das Pin-Layout eines AVR-JTAG-Adapters, nicht das eines ARM-10pin-Adapters)

Bilder vom Adapter:
713235486_151337 Platine von oben
Platine von unten Ausgang

Wir wollen eine WunderBar!

Auf der diesjährigen Maker Faire in Berlin hatten wir erstmals Gelegenheit Relayr.io’s WunderBar live zu bestauen. Die WunderBar ist ein Starter Kit für das IoT – das Internet der Dinge.

Internet der Dinge bezeichnet die Erweiterung alltäglicher Gegenstände mit einem Mikroprozessor, der sich mit Mikroprozessoren in anderen Geräten vernetzen kann. Der Prozessor erweitert über Sensoren und Aktoren die rein „mechanische“ Funktion des jeweiligen Gerätes durch Funktionen, welche erst durch den Informationsaustausch mit anderen Geräten möglich werden.

Am Beispiel der WunderBar geschieht der Informationsaustausch über Funk, genauergesagt Bluetooth Low Energy, realisiert mithilfe des Nordic Semiconductor nRF51822. Wir hatten unlängst schon auf diesem Blog über den Chip berichtet.  Er ist seinen Konkurrenzprodukten durch seine ausführliche Dokumentation voraus, welche die Firmware-Entwicklung erheblich erleichtert.

Auf der WunderBar finden sich ein Hauptmodul und sechs BLE-Module. Das Hauptmodul enthält neben dem nRF51822 einen Freescale-Prozessor und einen WLAN-Chip. Durch die letzteren beiden kann über den heimischen Router eine Anbindung ans Internet realisiert werden. Verbindet man das Haupt-Modul darüber mit Relayr.io’s Cloud, so kann man auch von unterwegs mit den heimischen Module interagieren.

Die sechs BLE-Module tragen neben einem nRF51822 jeweils Sensor und/oder Aktor, z.B. eine LED, ein Gyrometer, ein Accelerometer usw. Versorgt werden die BLE-Module mit Knopfbatterien auf der Rückseite, das Hauptmodul mit einem flachen Akku.

Sowohl Hardware als auch Software sind offen und frei verfügbar. Update 30.11.2015: Leider ist nur die Hardware offen und gut dokumentiert. Die Software ist, bis auf ein paar C-Bibliotheken zum Auslesen der Sensor-Werte, Closed Source.

Nachdem wir uns ohnehin mit dem nRF51822 auseinandersetzen und bereits dabei sind, Lösungen zu entwickeln, welche die WunderBar teilweise schon abdeckt, haben wir uns zwei „WunderBarren“ bestellt. Wir freuen uns darauf, erste Schritte damit zu unternehmen!

App installieren Fdroid

Die Lymbo Android App kann nicht über den Google Play Store heruntergeladen werden.

Stattdessen kann sie über Fdroid installiert und aktualisiert werden. Fdroid ist eine alternative Plattform für Android Apps, auf der ausschließlich freie und offene Software zu finden sind.

Wie bekomme ich Fdroid?

Um F-Droid auf einem Android Telefon installieren zu können, muss in den Sicherheitseinstellung die Installation von Apps aus anderen Quelle als dem Play Store aktiviert werden.

lymbo-fdroid-01     lymbo-fdroid-02

Die Fdroid App kann kostenlos von https://f-droid.org heruntergeladen werden.  Durch Ausführen der heruntergeladenen apk Datei wird die Installation von Fdroid gestartet.

Wie bekomme ich Lymbo?

Nachdem Fdroid installiert ist, kann das Repository von Interoberlin zu den Paketquellen hinzugefügt werden. Dazu kann im Menü „Paketquellen verwalten“ durch Tippen auf den + Button die Adresse einer neuen Paketquelle hinzugefügt werden.

lymbo-fdroid-03

In diesem Fall muss als Quelle https://fdroid.interoberlin.de/release/repo angegeben werden. Anschließend sollte das Aktivieren der Quelle und ein Tippen auf den Aktualisieren Button ausreichen um Zugriff auf das Interoberlin Fdroid Repository zu haben.

lymbo-fdroid-04

Im Hauptbildschirm der Fdroid App sollten jetzt alle Apps von Interoberlin zu finden sein – unter anderem auch Lymbo. Mit einem Tippen auf die Lymbo App erscheinen Details zur App. Die Installation wird durch ein Tippen auf den + Button gestartet.

lymbo-fdroid-06    lymbo-fdroid-07

Programme für’s Fairphone compilieren

Rein technisch unterstützt das Fairphone Bluetooth Low Energy (BLE), aber es gibt (nach  unserem Kenntnisstand) kein Android-Image, was diese Fähigkeit des SoC aufgreifen könnte, da erst ab 4.3 (API Level 18) ein Interface für BLE implementiert ist.

Wir kamen daher auf den Gedanken, evtl. auf einer „tieferen Linux-Ebene“ außerhalb der Android-VM die BLE-Fähigkeiten des SoC zu testen. Unter Umständen besteht nämlich die Möglichkeit, BLE durch eine in der APK mitgelieferte System-Bibliothek auch dann einer App zur Verfügung zu stellen, wenn die VM kein Interface dafür anbietet.

Der im Fairphone verbaute SoC ist der MediaTek MT6589. Er hat vier Kerne, die den ARMv7-Instruktionssatz (Quelle) implementieren und enthält außerdem laut Spezifikation den besagten Bluetooth 4.0-fähigen Transceiver.

In einem ersten Test versuchten wir mithilfe eines ARM-Cross-Compilers ein simples printf(„Hello world2“); – Programm zu übersetzen. Dabei darf man nicht vergessen, mit dem Kommandozeilenparameter -static zu linken:

Mit adb push haben wir die resultierende, ausführbare Datei auf das Telefon gespielt und konnten sie dann in der adb shell ausführen.

Nun können wir beginnen, unsere Werkzeuge auf das Telefon zu spielen und testen, ob wir von der Kommandozeile aus Bluetooth nutzen können.

Links: