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.
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.
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.
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.
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.
Si possono, dunque, collegare i tre componenti, al fine di realizzare una piccola stazione di rilevazione, come mostrato in figura 6.
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