Blog

Go Bindings Release + MQTT Bindings Beta

Zu Weihnachten hatten wir eine Beta-Version der Go API Bindings bereitgestellt.

Diese sind jetzt offiziell veröffentlicht. Die Dokumentation ist bei uns auf der Homepage verfügbar: https://www.tinkerforge.com/de/doc/Software/API_Bindings_Go.html.

Falls du Go noch nicht kennst und wissen möchtest wie es aussieht, kannst du dir die Sound Pressure Level Bricklet Beispiele anschauen: https://www.tinkerforge.com/de/doc/Software/Bricklets/SoundPressureLevel_Bricklet_Go.html#beispiele

Zusätzlich ist seit heute die erste Beta-Version der MQTT API Bindings verfügbar.

Es gibt einen Forumseintrag mit mehr Informationen zur Beta-Veröffentlichung: https://www.tinkerunity.org/forum/index.php/topic,4735.html

Falls dir MQTT noch nichts sagt: Es ist keine Programmiersprache, sondern ein Protokoll welches auf einem Publish/Subscribe-System basiert. Es wird oft von Cloud-Services oder in IoT-Anwendungen verwenden ohne das eine Programmierung benötigt wird. Zuvor hatten wir bereits einen "Brick MQTT Proxy". Dieser war allerdings komplett handgeschrieben und wurde nur sporadisch aktualisiert. Er hatte auch nur Unterstützung für eine Teilmenge der Bricks/Bricklets und eine Teilmenge der Funktionen.

Die neuen MQTT API Bindings werden im Gegensatz dazu komplett generiert, wie auch alle anderen API Bindings. Wenn ein neues Brick/Bricklet oder eine neue API-Funktion veröffentlicht wird, werden die MQTT API Bindings jetzt auch automatisch mit aktualisiert. Die MQTT API Bindings sind ersten nicht-programmiersprachen API Bindings. Zusätzlich haben wir bereits weitere neue API Bindings in der Pipeline!

Tisch-Wetterstation

Wir haben ein nigelnagelneues Kit: Die Tisch-Wettertation.

Die neue Wetterstation basiert auf dem Air Quality Bricklet und dem touch-fähigen LCD 128x64 Bricklet. Sie kommt mit einem hübschen laser-geschnittenen Gehäuse das in vier Farben verfügbar ist.

Optional kann auch ein Outdoor Weather Bricklet in das Gehäuse geschraubt werden um zusätzliche Funk-Außenwetterstationen und Funk-Temperatur/Luftfeuchte-Sensoren auszulesen.

Eine Demo-Anwendung kann für Linux, MacOS und Windows heruntergeladen werden. Diese nutzt den Touchscreen und schreibt die gemessenen Daten in eine sqlite-Datenbank.

Die Demo-Anwendung ist in Python geschrieben und basiert auf "Screens" die der Nutzer mit Tabs am unteren Bildschirmrand auswählen kann. Es ist einfach eigene maßgeschneiderte Screens zur Demo-Anwendung hinzuzufügen. Unten sind einige der Screens zu sehen die Standardmäßig bei der Demo-Anwendung dabei sind:

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!