Blog

Grafische Benutzeroberfläche für LCD 128x64 Bricklet

Wir haben soeben Firmware-Version 2.0.2 des LCD 128x64 Bricklets veröffentlicht. Die neue Firmware kommt mit einigen Verbesserungen, unter anderem mit einer API für eine einfach zu benutzende grafische Benutzeroberfläche (GUI). Die Oberfläche basiert auf vier grundelegenden UI-Elementen:

  • Buttons: Bis zu 12 Buttons können an eine beliebige Position mit beliebiger Breite/Höhe und benuzterdefiniertem Text positioniert werden. Die Buttons können automatisch ein Press-/Release-Event erzeugen.

  • Slider: Bis zu 6 Slider können an eine beliebige Position mit beliebiger Länge positioniert werden. Es können horizontale und vertikale Slider verwendet werden. Sie können automatisch ein Position-Event erzeugen.

  • Graphen: Bis zu 4 Graphen können an eine beliebige Position mit beliebiger Größe positioniert werden. Es können Dot-, Line- und Bar-Graphen gezeichnet und eine Beschriftung der X- und Y-Achse hinzugefügt werden. Die Datenpunkte können per API gestreamt werden, der Graph wird automatisch gezeichnet.

  • Tabs: Bis zu 10 Tabs können verwendet werden. Tabs können entweder Text oder Icons haben. Sie können Selektion automatisch erkennen und ein entsprechendes Event generieren.

Diese GUI-Elemente können mit einer einfach zu benutzenden API hinzugefügt, aktualisiert und entfernt werden. Interaktion wird über Callbacks auf der Basis von Nutzer-Events erzeugt (per klicken/wischen). Siehe GUI-Beispiele in deiner Programmiersprache in der API-Dokumentation für Details.

Das LCD 128x64 Bricklet hat einen Buffer für die normalen Zeichnen-Funktionen (WritePixels, WriteLine, DrawBox, etc) und einen zusätzlichen Buffer für die GUI-Elemente. Der GUI-Buffer wird über dem Standard-Buffer gezeichnet.

Zusätzlich kann für beide Buffer Double-Buffering für flüssiges und ununterbrochenes zeichnen verwendet werden.

Dies bedeutet, dass das GUI immer auf dem Display bleibt und auf Nutzer-Interaktion reagiert bis das jeweilige Element explizit entfernt wird. Durch diesen Ansatz ist eine Kooperation zwischen GUI und eigenen gezeichneten Elementen einfach möglich, da es nie zu z-fighting kommen kann.

Beispiel: Wenn ein Button mit einem Icon anstatt eines Textes gezeichnet werden soll, kann zuerst der Button an die gewünschte Stelle mit der gewünschen Größe ohne Text erstellt werden. Danach kann dann das Icon in den Buffer mit der normalen WritePixels-Funktion gezeichnet werden. Dies funktioniert ohne Probleme auch dann noch wenn der Nutzer durch klicken den Highlight-Effekt erzeugt, da der Effekt das Icon nicht permanent überschreibt.

anstiftung: Vernetzungstreffen 2018

Vom 16.11. - 18.11.2018 fand das diesjährige Vernetzungsttreffen statt, dass von anstiftung (Stiftung bürgerlichen Rechts) in Kooperation mit Verbund Offener Werkstätten e.V. veranstaltet wird. Auch in diesem Jahr war es ein voller Erfolg und es kamen neben vielen Interessierten Besucher der VOW Community auch viele Gäste um sich das Spektakel anzusehen.

(Foto: Karolin Holz)

Im Rahmen des Vernetzungstreffen wurden 5 Projekte vorgestellt die vom VOW e.V. in besonderer Weise unterstützt werden. Die Jury hat am 16.11.2018 feierlich die Gewinner des Projektes explore-Offene Werkstatt für alle! unter den 51 eingereichten Ideen bekannt gegeben. Glückwunsch von uns an die Gewinner.

Zusätzlich wurden 3 Gutscheine für unseren Online-Shop im Wert von jeweils 500 EUR an das MakerLab-Murnau, das FabLab Neckar-Alb und den Stadtfabrikanten e.V., der das FabLab Chemnitz betreibt, verlost.

(Foto: Karolin Holz)

Vereine wie den Verbund Offener Werkstätten, der den Maker/DIY Gedanken lebt und engagiert unterstützen wir gerne. Wir sind gespannt welche Projekte die Maker Spaces und Fab Labs mit unserem Baukastensystem realisieren werden!

Gastbeitrag: Projekt "SensorCube"

Dass die Bausteine von Tinkerforge nicht nur für Unternehmen oder Bastler gedacht sind, sondern auch in der Forschung eingesetzt werden, beweist das Projekt SensorCube.

Bild vom SensorCube aus dem Flyer des Innovationsforum SmartenUp (gefördert vom BMBF)

Das IoT-Labor vom Campus Minden (FH Bielefeld) hat die Bricks und Bricklets von Tinkerforge dazu genutzt, einen Multi-Sensor-Agenten zu bauen, welcher sämtliche raumklimatischen Daten erfasst und auswertet. Dabei wurden nicht nur typische Sensoren wie z.B. Temperatur oder Luftdruck genutzt, sondern auch Sensoren von neuen Bricklets wie z.B. das Particulate Matter Bricklet oder das Air Quality Bricklet. Viele der genutzten Bricklets sind im aktuell erschienenen Umwelt-Kit zu finden.

Bricks & Bricklets

Bis auf das Gehäuse, welches über einen 3D-Drucker gedruckt wurde, ist die gesamte Hardware für dieses Projekt von Tinkerforge. Die Modularität aller Bauteile und die Fähigkeit des RED-Bricks, sich unkompliziert mit einem Netzwerk zu verbinden, waren entscheidende Vorteile. Welche Bricks und Bricklets genau verbaut wurden, ist nachfolgend aufgelistet.

Bricks
Bricklets

Forschung

Das Einsatzgebiet des SensorCube war die Erfassung von Raumbelegungen in einem Gebäude. Dafür sollte der SensorCube jeden Tag in einem Raum Daten sammeln und diese über das Netzwerk an einen Server schicken, welcher die Daten abspeichert. Diese Daten sollten dann später hinsichtlich der Raumbelegung ausgewertet werden.

Umsetzung

Das Sammeln der Daten gestaltete sich sehr einfach, da durch die Tinkerforge Bricklets gepaart mit den Master Bricks eine simple Schnittstelle für die Daten gegeben war. Durch den Anschluss des Master Brick Stapels an den RED Brick war es zudem möglich, über die Tinkerforge Python und Java Bindings, die Daten so zu formatieren, dass diese als Nachricht über das Netzwerk geschickt werden konnten. Das Nachrichtenprotokoll welches verwendet wurde, war das im Internet of Things Bereich verbreitete MQTT Protokoll.

Prozessablauf des SensorCube

Sobald die Daten am Server angekommen waren, hat dieser die Daten in das Hadoop Dateisystem gespeichert. Apache Hadoop ist eine Reihe an Tools, die aktuell im Bereich Big Data viel Anwendung finden. Das Dateisystem bietet dabei die Möglichkeit, sehr effektiv größere Mengen an Daten zu speichern und zu verwalten. Durch diese Speicherung ist zudem eine leichte Anbindung durch Analysewerkzeuge möglich.

Die Analyse der Daten hat abschließend versucht, bestimmte Muster in den Daten zu erkennen. Durch Clustering sollten z.B. bestimmte Sensoren herausgefiltert werden, die besonders aussagekräftig im Zusammenhang mit menschlicher Präsenz sind. Durch die Daten dieser Sensoren kann man dann ein Machine Learning Modell antrainieren, was prädiktiv ausgibt, wann Leute in einem Raum sein werden. Es wird eine Form von Raumplan erzeugt.

Analyse der Sensordaten sowie die Zuweisung der Uhrzeiten mit wahrscheinlichen Belegungen

Fazit

Wie man bereits erkennen kann, können die Bricks und Bricklets von Tinkerforge ein wichtiger Bestandteil eines größeren Prozesses sein. Durch die einfachen Schnittstellen, eine modulare Bauweise und eine hohe Funktionalität, bieten die Bauteile ein gutes Prototyping und eine gute Skalierbarkeit. Gerade in Projekten, wo eine funktional stabile Hardware nötig ist und kein Fokus auf die Modellierung und Umsetzung dieser Hardware liegen soll, bieten die Bauteile von Tinkerforge die perfekte Lösung.

Das Projekt SensorCube wurde im Zusammenhang mit dem Anwendungsfall der Raumbelegung bei dem Workshop "Arbeitsplatz im Wandel" eingereicht und angenommen. Die Publikation ist unter nachfolgendem Link zu erreichen: "Determining room usage through a multi-sensor system and machine learning" - LAiW 2018

Autor: Joshua Wiegmann, IoT-Lab Minden

Drei neue Tinker Kits

Wir haben drei neue Tinker Kits zusammengestellt:

Diese ersetzen das alte Tinker Kit, sie beinhalten grundsätzlich nur noch die neuen 7-Pol Bricklets mit Co-Prozessor. Alle Kits sind in einem passendes Toolbox Sortiment untegebracht. Die Kits sind ausgelegt für Anwendungen in Forschungseinrichtungen und Entwicklungsabteilungen. Mit den Kits können Projekte prototypisch oder in Kleinserie, ohne jegliche Zeitverzögerung durch Nachbestellen von Elektronikbauteilen, umgesetzt werden.

Die Kits werden weiterhin regelmäßig anhand des Lagerbestands und mit neuen Produkten aktualisiert.

Das Tinker Kit: Ultimate ist das umfangreichste und beinhaltet jedes Brick und Bricklet dass wir derzeit im Sortiment haben.

 

Tinker Kit: Ultimate

Es besteht aus über 60 unterschiedlichen Modulen und jeder Menge passendem Zubehör. Es sind außerdem ausreichend Kabel sowie Montageplatten inbegriffen. Zusätzlich sind noch Motoren sowie NFC Zubehör im Kit vorhanden. Damit das Kit optimal transportiert und aufbewahrt werden kann wird alles in unserem Aufbewahrungsystem verstaut.

Tinker Kit Toolbox

Neben dem Tinker Kit: Ultimate gibt es ab sofort zusätzlich das Tinker Kit: Industrial

Tinker Kit: Industrial

Dieses Kit behinaltet alle Industrial Bricklets sowie das Hutschienengehäuse. Damit deckt es die meisten Anwendungsmöglichkeiten für industrielle Zwecke ab.

Für jeden der Umweltmessungen durchführen möchte und mehr Wert auf Sensorik legt für den ist das Tinker Kit: Umweltmessung die richtige Wahl.

Tinker Kit: Environment box

In dieser Zusammenstellung sind sämtliche Sensor-Module inbegriffen um umfangreiche Umweltmessungen durchführen zu können, bestens verstaut in einer einzelnen platzsparenden Sortimentsbox.

16 neue Bricklets

Unser lang ersehntes Produktions-Panel mit 16 neuen Bricklets ist da! Unten könnt ihr sehen wie so ein unausgebrochenes Panel aussieht wenn wir es vom Besteücker bekommen.

Alle neuen Bricklets besitzen einen Co-Prozessor und den neuen 7-Pol Anschluss. Zuerst einmal die Liste der neuen Bricklets:

Damit sind nur noch wenige Bricklets mit 10-Pol Anschluss in unserem Soritment vorhanden. Diese werden mit dem nächsten Panel das Update erhalten, womit die Umstellung auf den neuen Stecker und Co-Prozessor dann abgeschlossen ist.

Im folgenden wollen wir die neuen Bricklets sowie die neuen Features der aktualisierten Bricklets vorstellen:

Air Quality Bricklet: Mit dem Air Quality Bricklet ist es nun möglich mit unsererm Baukastensystem die Luftqualität festzustellen. Dabei misst das Bricklet die VOC-Werte (Volatile Organic Components = flüchtige organische Verbindungen). Dafür detektiert es den Anteil von Ethan, Isopren, Ethanol, Aceton und Kohlenstoffmonoxid in der Luft. Ergänzend dazu misst das Bricklet die Temperatur, Luftfeuchtigkeit und Luftdruck. Durch diese Kombination kann der IAQ (Indor Air Quality = Innenraumluftqualität) Index bestimmt werden. Alle Messungen können mit dem Bricklet einzeln ausgelesen werden. Das Bricklet ist ideal für eine Luftqualitätsüberwachung, kann aber auch sehr gut zur Hausautomatisierung genutzt werden.

Barometer Bricklet 2.0: Das neue Barometer Bricklet hat ein Upgrade auf den LPS22HB-Sensor bekommen. Mit diesem neuen IC ist eine Auflösung von 0,0075mbar/6,25cm möglich (zuvor 0,012mbar/0,1m). Der Messbereich ist mit dem neuen Bricklet auf bis zu 1260mbar erweitert.

Isolator Bricklet: Dank des Isolator Bricklets können ab sofort die Strom- und Datenleitungen zwischen einem Brick und einem Bricklet galvanisch getrennt werden. Dadurch werden Störungen und Fehler reduziert die ggfs. auftreten könnten. Durch diese Trennung können alle Bricklets mit analoger oder digitaler Ein- oder Ausgabe profitieren. So kann zum Beispiel mit einem Voltage/Current Bricklet Spannung sowie Stromverbrauch eines Stapels gemessen werden ohne das eine Masseschleife entsteht. Zusätzlich ist es auch möglich Messungen mit einem anderen Bezugspotential durchzuführen.

Industrial Bricklets: Die Spezifikation der Industrial Bricklets ist im wesentlichen gleich geblieben. Als zusätzliches Features hinzugekommen sind allerdings Status LEDs pro Kanal. So kann das Industrial Digital Out 4 Bricklet 2.0 zum Beispiel zu jedem Kanal den aktuellen Messzustand anzeigen. Industrial Bricklets mit analoger Messung können Sogar die Kanal-LEDs anhand des aktuellen Messwertes dimmen.

LCD 128x64 Bricklet: Das neue LCD 128x64 Bricklet ist das Highlight des neuen Panels. Es besitzt ein 2,8" (7,1cm Bildschirmdiagonale) Display mit einer Auflösung von 128x64 Pixel. Das Display entspricht damit in etwas der Größe des alten LCD 20x4 Bricklets. Dadurch dass jedes Pixel seperat angesteuert werden kann ist es möglich auch Grafiken oder andere Schriften zu verwenden. Damit es schnell verwendet werden kann wurde dennoch bereits für eine einfache Textdarstellung ein Zeichensatz eingebettet.

Der integrierte Touchscreen ermöglicht einen Callback der x/y-Koordinaten bei Berührung sowie die Intensität des Anpressdrucks. Zur Realisierung einer intuitiven Bedienung erkennt das Bricklet automatisch Wischgesten, um beispielsweise durch ein Menü zu scrollen. Aufgrund des resestiven Touchsreens kann das Bricklet auch mit Handschuhen oder Stiften bedient werden.

One Wire Bricklet: Mit dem One Wire Bricklet können nun auch 1-Wire kompatible Geräte genutzt werden. Für die Kommunkation können bis zu 64 1-Wire Geräte gelichzeitig über den Bus angeschlossen werden. Das Bricklet unterstütz zudem Spannungen von 3,3 bzw 5 V sowie auch eine externe Versorgungspannung. Beispiele zur Nutzung des beliebten MAX31820 1-Wire Sensors gibt es in der Dokumentation.

Temperature Bricklet 2.0: Der Ersatz für das Temperature Bricklet nutzt den neuen STS3 temperature IC von Sensirion und kann damit die Auflösung von 0,1°C auf 0,01°C sowie die Genauigkeit von 0,5°C auf 0,2°C verbessern.

UV Light Bricklet 2.0: Auch beim neuen UV Light Bricklet 2.0 sind wir auf einen verbesserten IC umgestiegen. Während das alte Bricklet nur UVA messen konnte, kann das neue Bricklet die Lichtintensität in UVA und UVB bestimmen sowie den UV Index berechnen.