Blog

Graphical User Interface for LCD 128x64

We just released version 2.0.2 of the LCD 128x64 Bricklet firmware. It comes with several improvmenets, including an API for an easy to use graphical user interface (GUI). The user interface consists of four basic UI elements:

  • Buttons: Up to 12 buttons can be placed with arbitrary position/width/height and custom text. They automatically generate a press- and release-event.

  • Slider: Up to 6 slider can be placed at arbitrary position/length. You can use horizontal and vertical slider. They automatically generate a position-event.

  • Graphs: Up to 4 graphs can be placed with arbitrary position/width/height. You can use dot-, line- and bar-graphs and a caption text for the x and y axis can be used. You can stream a list of data-points, the graph is drawn automatically.

  • Tabs: Up to 10 tabs can be used. Tabs can have text or icons. They automatically generate an event on tab selection changes.

These GUI elements can be added, updated and removed with an easy-to-use API. Interaction is done with callbacks on a user-event (click/swipe) basis. See the examples for your programming languages in the API documentation for the details.

The LCD 128x64 Bricklet has a buffer for the normal drawing functions (WritePixels, WriteLine, DrawBox, etc) and an additional buffer for the GUI elements. The GUI buffer will be drawn on top of the standard buffer.

Additionally both of those buffers can be double-buffered for smooth uninterrupted drawing.

This means that GUI will always stay on the display and react to user interaction until explicitly removed. With this approach the cooperation between GUI elements and self drawn addtions is easy to achieve, since there is never any z-fighting.

For Example: If you want to use a button with an icon, you can create a button with the position, width/height as you need it and leave the text empty. After that you can draw the icon inside of the button with the standard WritePixels function. This will work without problems and the highlight effect of the button during a click will not permanently overwrite your custom icon.

anstiftung: Vernetzungstreffen 2018

The annual "Vernetzungsttreffen" hosted by the anstiftung in cooperation with Verbund Offener Werkstätten e.V. took place from 16th to 18th november this year. Many members of the community and lots of interessted guests visited the event.

(Foto: Karolin Holz)

As part of the Vernetzungstreffen the VOW e.V. presented 5 project that will be supported. The 5 winners were picked from 51 submitted ideas by a jury. Congratulation to the winners.

Additionally vouchers for our shop with a value of 500 EUR each were given to the MakerLab-Murnau, the FabLab Neckar-Alb and the Stadtfabrikanten e.V. (FabLab Chemnitz).

(Foto: Karolin Holz)

We are always happy to support organisation like the VOW e.V. that dedicate themselves to the Maker/DIY movement. We are looking forward to seeing what the Maker Spaces and Fab Labs will build with our building blocks.

Guest blog article: Project "SensorCube"

That the building blocks of Tinkerforge are not only intended for companies or hobbyists, but are also used in research proves the project SensorCube.

Picture of the SensorCube from the flyer of the forum of innovation SmartenUp (sponsored by BMBF)

The IoT-Lab from Campus Minden (Bielefeld University of Applied Sciences) has used the Bricks and Bricklets from Tinkerforge to build a multi-sensor agent that collects and analyzes several types of indoor climate data. For this, not only typical sensors such as e.g. temperature or air pressure, but also sensors from new Bricklets such as the Particulate Matter Bricklet or the Air Quality Bricklet were used. Many of the used Bricklets can be found in the recently published Environmental Kit.

Bricks & Bricklets

Except for the case, which was printed via a 3D printer, all the hardware for this project is from Tinkerforge. The modularity of all components and the ability of the RED-Brick to easily connect to a network were decisive advantages. Which Bricks and Bricklets were installed exactly is listed below.

Bricks
Bricklets

Research

The field of application of the SensorCube was the detection of room occupancy in a building. For this purpose, the SensorCube collected data in a room every day and sent it over the network to a server, which stored the data. These data was then evaluated in terms of room occupancy.

Implementation

Collecting the data was very easy because the Tinkerforge Bricklets paired with the Master Bricks provided a simple interface for the data acquisition. By connecting the Master Brick stack to the RED Brick, it was also possible to use the Tinkerforge Python and Java Bindings to format the data so that it could be sent as a message over the network. The message protocol used was the MQTT Protokoll, which is widely used in the Internet of Things area.

Process flow of the SensorCube

Once the data arrived at the server, it stored the data in the Hadoop distributed file system. Apache Hadoop is a set of tools that are currently widely used in the big data area. The distributed file system offers the possibility to effectively store and manage larger amounts of data and makes it easy to connect analysis tools.

The analysis of the data finally tried to detect certain patterns in the data. Clustering should identify certain sensors that are particularly meaningful in the context of human presence. The data from these sensors can be used to train a machine learning model, predicting when people will be in a room. It creates a form of spatial plan.

Analysis of the sensor data as well as the allocation of the times with probable assignments

Conclusion

As you can already see, Tinkerforge Bricks and Bricklets can be an important part of a larger process. With simple interfaces, a modular design and high functionality, the components provide good prototyping and scalability. Especially in projects where a functionally stable hardware is needed and no focus on the modeling and implementation of this hardware should be, the components of Tinkerforge offer the perfect solution.

The SensorCube project was submitted and accepted in the context of the use of space occupancy to the workshop "Arbeitsplatz im Wandel". The publication can be accessed with the following link: "Determining room usage through a multi-sensor system and machine learning" - LAiW 2018

Author: Joshua Wiegmann, IoT-Lab Minden