La scheda open source TinkerForge Red BrickComputer per la prototipazione IoT

Il Red BrickComputer costituisce il cervello del sistema di composizione Tinkerforge. Scopriamo assieme le sue potenzialità e i relativi utilizzi. Con esso è possibile realizzare infiniti prototipi di ogni tipo. Inoltre il supporto per diversi collegamenti esterni rende la scheda adatta a mille applicazioni diversificate.

Introduzione

TinkerForge è una piattaforma hardware open source composta da blocchi di microcontrollori impilabili (i Bricks) in grado di controllare diversi moduli (i Bricklet), come chiaramente visibile in figura 1.

Figura 1: una pila di RED Brick

Figura 1: una pila di RED Brick

Essa risulta ideale per la prototipazione di soluzioni IoT e consente di utilizzare il linguaggio di programmazione preferito come C, C++, C#, Object Pascal, Java, Perl, PHP, Python, Ruby, Shell e VB.NET.

I bricks sono piccoli circuiti stampati, dalle dimensioni di 4 cm. x 4 cm. Possono eseguire tanti compiti come, ad esempio, controllare i motori e comunicare con altri elementi costitutivi. Ogni Brick ha un microcontrollore ARM a 32 bit, un connettore USB e connettori per più Brick e Bricklet. È possibile impilare più Bricks, uno sull'altro. Il Brick in basso di tali pile deve essere il master.

I Bricklet hanno lo scopo di estendere le funzionalità dei Bricks. Forniscono i mezzi per l'ingresso e l'uscita dei dati. Molti Bricklet sono sensori, ma esistono anche LCD-Bricklet e Bricklet per l'ingresso e l'uscita dei dati digitali e analogici.

La scheda RED Brick

Red è un acronimo e sta per Rapid Embedded Development. Questa scheda (vedi figura 2) può controllare altri Bricks e Bricklets, come detto nell'introduzione. L'esecuzione dei programmi scritti con diversi linguaggi avviene direttamente sul Brick. Essi possono essere creati e scritti direttamente su computer e poi, con la pressione di un pulsante, trasferiti sulla scheda. Una grande particolarità, sicuramente molto utilizzata, è il fatto che possono essere eseguiti, in maniera contemporanea, programmi diversi, anche estremamente differenti tra di loro.

Inoltre l'esecuzione del programma può avvenire secondo le esigenze dell'utente, ad esempio, una volta sola, ogni giorno, ogni sei ore, e così via.

Figura 2: la scheda Red BrickComputer

Figura 2: la scheda Red BrickComputer

Linguaggi di programmazione

Qualsiasi programmatore può utilmente usarla e programmarla, in quanto supporta quasi la totalità dei linguaggi di programmazione. Quelli supportati sono i seguenti:

  • C;
  • C++;
  • C#;
  • Delphi;
  • Lazerus;
  • Java;
  • JavaScript;
  • MATLAB;
  • Octave;
  • Perl;
  • PHP;
  • Python;
  • Ruby;
  • Shell;
  • Visual Basic .NET.

Il programmatore che sceglie un linguaggio di programmazione deve caricarlo mediante l'API Tinkerforge, assieme  alle librerie necessarie. E' possibile, naturalmente, aggiungere successivamente altre librerie e prevedere ulteriori linguaggi di programmazione.

Aperto al mondo esterno

La scheda è dotata di diverse possibilità per poter essere connessa al mondo esterno. La figura 3 mostra il Brick con la sua ricca dotazione di connettori. In dettaglio:

  • una porta micro HDMI, grazie a essa è possibile eseguire programmi dotati di una interfaccia utente grafica sofisticata;
  • interfaccia USB 2.0, grazie alla quale essa si può collegare a tastiere e mouse USB;
  • interfaccia Ethernet, con cui è possibile collegare il dispositivo in rete;
  • estensione RS485, con cui i Brick e i Bricklet remoti possono essere controllati dal RED Brick, anche a distanze notevoli.
Figura 3: tutte le connessioni della Red Brick

Figura 3: tutte le connessioni della Red Brick

Si ricorda che per il funzionamento del RED Brick si deve usare una scheda SD con l'immagine del RED Brick (tabella 1).

Memoria 512MB DDR3 SDRAM
Peso 14g
Consumo 0,75W (carico a vuoto) - 1,1W (carico al 100%)
Processore Allwinner A10s, Cortex A8 1 GHz, 3D Mali400 GPU, Neon
Interfacce USB 2.0, Micro HDMI, Mini USB
Larghezza 40 mm
Altezza 16 mm
Profondità 40 mm

Tabella 1: Caratteristiche tecniche e fisiche

Modello 3D

E' disponibile, nella pagina del Viewer Autodesk, il modello 3D del Red BrickComputer, come si può osservare in figura 4. Esso è zoomabile e ruotabile in tutte le direzioni, tramite il mouse o la tastiera, ed è anche disponibile per STEP e FreeCAD.

Figura 4: online è possibile visionare il modello 3D del Red Brick

Figura 4: online è possibile visionare il modello 3D del Red Brick

Immagine del file system da copiare sulla SD

Come detto in precedenza, per utilizzare il RED Brick, è necessaria una scheda Micro-SD contenente l'immagine del file-system del RED Brick. Senza di questa il RED Brick non funziona. Dopo aver scaricato e scompattato il file immagine dal repository occorre preparare la SD. Alcuni file di documentazione aiutano in questa delicata fase.

Un esempio pratico

Nell'esempio che segue vedremo come allestire un semplice sistema per la misura della temperatura. Allo scopo occorrono i seguenti componenti:

  • un RED Brick;
  • un Master Brick;
  • un Bricklet per la rilevazione della temperatura.

In via preliminare occorre installare, sul PC, il Brick Daemon ovvero un servizio che agisca da ponte tra i Bricks e i Bricklets e le API. Si deve installare, altresì, il Brick Viewer (vedi figura 5). Si tratta di un software GUI tramite il quale si possono testare i Bricks e i Bricklets.

Figura 5: il Brick Viewer

Figura 5: il Brick Viewer

Si possono, dunque, collegare i tre componenti, al fine di realizzare una piccola stazione di rilevazione, come mostrato in figura 6.

Figura 6: il collegamento di un RED Brick, un Master Brick e un Bricklet per la temperatura

Figura 6: il collegamento di un RED Brick, un Master Brick e un Bricklet per la temperatura

Il semplice listato qui sotto, scritto in Python, rileva e visualizza la temperatura.

#!/usr/bin/env python
# -*- coding: utf-8 -*-
HOST = "localhost"
PORT = 4223
UID = "XYZ" # Change XYZ to the UID of your Temperature Bricklet
from tinkerforge.ip_connection import IPConnection
from tinkerforge.bricklet_temperature import BrickletTemperature
if __name__ == "__main__":
    ipcon = IPConnection() # Create IP connection
    t = BrickletTemperature(UID, ipcon) # Create device object
    ipcon.connect(HOST, PORT) # Connect to brickd
    # Don't use device before ipcon is connected
    # Get current temperature
    temperature = t.get_temperature()
    print("Temperature: " + str(temperature/100.0) + " °C")
    raw_input("Press key to exit\n") # Use input() in Python 3
    ipcon.disconnect()

Prevedendo, nel listato, anche le librerie QT è possibile visualizzare, su monitor HDMI, una sofisticata interfaccia utente.

Conclusioni

Creare progetti con i TinkerForge Bricks risulta effettivamente abbastanza semplice. La possibilità d'impilare vari moduli aumenta a dismisura le soluzioni realizzabili. Per esempio, con un Master Brick, una estensione WiFi e alcuni Bricklets è possibile allestire una stazione remota di comando con tanto di controllo della temperatura e dell'umidità, oppure ancora approntare un Webserver in grado di mostrare il grafico della pressione dell'aria, in tempo reale. Una possibilità, dunque, da provare almeno una volta.

LA SCHEDA TINKERFORGE RED BRICKCOMPUTER E' DISPONIBILE A CATALOGO CONRAD CON SPEDIZIONI 24H

 

Scrivi un commento

EOS-Academy
Abbonati ora!