Blog

Rust und Go zu Weihnachten

Dieses Jahr haben wir ein Weihnachtsgeschenk für euch vorbereitet! Wir haben zwei funkelnagelneue Programmiersprachen-Bindings: Rust und Go.

Die Rust API Bindings sind bereits veröffentlicht, die Dokumentation ist auf unserer Homepage verfügbar: https://www.tinkerforge.com/de/doc/Software/API_Bindings_Rust.html.

Die Go API Bindings sind noch nicht offiziell veröffentlicht, ihr könnt aber bereits eine Beta-Version ausprobieren. Mehr dazu in einem Foreneintrag auf TinkerUnity: https://www.tinkerunity.org/forum/index.php/topic,4686.msg26406.html

Falls ihr schon immer mal Rust oder Go ausprobieren wolltet, habt ihr jetzt über die Weihnachtsfeiertage die Möglichkeit, dies mit Bricks und Bricklets zu tun :-).

Wir wünschen euch Frohe Weihnachten und schöne Feiertage!

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.