Visualizzazione post con etichetta Internet of Things. Mostra tutti i post
Visualizzazione post con etichetta Internet of Things. Mostra tutti i post

martedì 31 marzo 2020

NI TestStand™ - A cosa serve? Breve panoramica!

Logo NI National Instruments™
 "TestStand è un ambiente di gestione di test avanzato e pronto all'uso che ti permette di sviluppare rapidamente sistemi di test automatizzati e di validazione."
Logo NI TestStand™

  • Introduzione
  • Introduzione a NI TestStand™
  • Panoramica dell'editor NI TestStand™
  • Integrare  NI TestStand™ nei sistemi aziendali
  • La GUI per gli opertori di produzione
  • Conclusioni

Introduzione

La realizzazione di un prodotto ad alto contenuto tecnologico, come ad esempio un apparato per telecomunicazione, spesso impiega vari team per la progettazione. Ogni team potrebbe anche lavorare in un continente diverso e potrebbe utilizzare diversi tools per la validazione del progetto e il raggiungimento dell'obbiettivo: verificare che il prodotto funziona secondo le specifiche. Chi ha validato il prodotto ha probabilmente usato routine scritte in Python, chi invece ha usato librerie scritte in C#,  chi LabVIEW, ognuno il suo strumento preferito insomma! Dopo i primi prototipi si avvicina il momento di andare in produzione e vendere al mercato prodotti che rispettano i requisiti di progettazione e di fabbrica. A questo punto, ma anche prima volendo, entra in gioco TestStand di National Instruments™ , che può riutilizzare i lavori di validazione dei vari teams di progettazione e inserirli in un unico motore semplice ed automatico ideale per la fabbrica. Vediamo perché..!


domenica 14 gennaio 2018

JSON Web Service con ESP8266 e DHT11

Ho già usato l'ESP8266 in un'altra applicazione per trasmettere dati in real-time nel Cloud (Firebase) attraverso una connessione alla rete internet. L'ESP8266 è un dispositivo economico e allo stesso tempo ricco di potenzialità! Con il ricetrasmettitore WiFi integrato e i pin General Purpose Input/Output dove poter collegare gli svariati sensori esistenti è possibile dare libero sfogo ad ogni tipo di fantasia nerd 😎 ahaha!

L'ESP8266 può funzionare in tre modi diversi: come stazione WiFi, come Access Point oppure entrambe le modalità contemporaneamente. In questo caso l'ho usato come Access Point per creare un Web Server JSON che restituisce temperatura ed umidità quando interrogato.

Per il codice del Web Service JSON ho usato lo stesso IDE che si usa per programmare di Arduino. Qui di seguito riporto qualche riga del codice occorrente anche se in rete si trovano svariati e tutorial. 

// E' la libreria che si occupa del Web Server
#include<ESP8266WebServer.h>

// Un'istanza del Web Server su porta 80
ESP8266WebServer server(80);

void setup(void){

// Inizializzazione HW e connessione WiFi
...

// Codice eseguito dal server all'indirizzo/jsonservice
server.on("/jsonservice", [](){
char buffer[200];
StaticJsonBuffer<200> jsonBuffer;
JsonObject& weather = jsonBuffer.createObject();
gettemperature(); // Leggo dal sensore DHT11 weather["ipaddress"] = WiFi.localIP().toString();
weather["temperature"] = String(temp_c);
weather["humidity"] = String(humidity);
weather["last_update"] = getCurrentTime();
server.send(200, "text/plain", buffer);
});
server.begin(); // Avvia il server
Serial.println("HTTP server started"); }
void loop(void){
// Il server si mette in ascolto di richieste HTTP GET o POST dei client
server.handleClient(); }


Il codice precedentemente riportato è evidentemente solo una parte: occorre aggiungere il codice per l'inizializzazione HW, la connessione alla rete WiFi ed il codice per gestire il sensore che si trova facilmente in rete. Occorre a questo punto solo programmare il dispositivo, connettersi alla rete WiFi e fare la prima chiamata al Web Server. Il sensore DHT11 è molto lento e poco preciso e quindi bisogna attendere un pochino prima di avere dati significativi.

Per interrogare il Web Server si possono usare vari client: un browser ad esempio, un programma specializzato oppure un'App. Si usano a tal proposito le richieste HTTP GET o POST.

Le richieste HTTP POST sono usate per inviare dati e riceverli, ad esempio il tuo username e password quando fai il login ad un sito. Le informazioni inviate al server con il metodo POST sono elaborate e possono determinare anche delle operazioni di modifica lato server o azioni da eseguire in base ai dati di input.

Le richieste HTTP GET sono usate per ricevere dati dal server, ad esempio una pagina web o come nel mio caso dei dati formattati JSON. Sono solo richieste e non cambiano nulla lato server.

La stringa che occorre per usare il Web Service precedentemente creato è del tipo HTTP GET ed è tipo questa: http://192.168.1.31:80/jsonservice. Usata nella barra degli indirizzi di un browser, se tutto funziona correttamente, restituisce le seguenti informazioni:


JSON Web Service

Con Android Studio ho fatto anche un'App Android che usa lo stesso Web Service. L'App ed ha le seguenti caratteristiche che ritengo siano interessanti:
- Identificazione subnet della rete WiFi alla quale si è effettuato il login 
- Scansione della rete per cercare gli IP dei Web Server live 
- Report, per ogni "server" in rete, delle informazioni restituite dalla HTTP GET
- Metodi asincroni per la scansione della rete e delle query ai Web Server


Come si nota dai print screen ho due dispositivi collegati alla rete WiFi con lo stesso codice SW precedentemente illustrato e caricato a bordo. Hanno evidentemente IP univoco e riportano umidità e temperatura diversa dato che si trovano in due ambienti diversi (diciamo così ahahah 😀 in realtà è il sensore DHT11 che non è molto preciso). Ci sarebbe molto da dire anche per la parte Android, ma questo forse in un'altra puntata!

Per finire metto qualche foto dei dispositivi che ho usato: il NodeMCU e l'ESP01 



Per ulteriori informazioni o chiarimenti non esitate a contattarmi!


domenica 29 ottobre 2017

Sistema Internet of Things in Real Time per Industria 4.0


Sistema Internet of Things in Real Time


Cosa significa IOT?
Cosa significa Industria 4.0?

Internet of Things, Smart Factory,  Factory of the Future, The Conscious Factory

IOT acronimo di 'Internet of Things' si traduce letteralmente in 'Internet delle cose' ed è praticamente quella tecnologia che connette qualsiasi 'cosa' in rete, al Cloud o ad un altro dispositivo.

Lo scopo delle 'cose connesse' è quello di permettere l'interazione tra le macchine e l'uomo attraverso la digitalizzazione delle informazioni che vengono rilevate attraverso sensori specializzati. 


Non a caso nell'illustrazione sono rappresentate macchine, cose, piante, pesci tutti interconnessi! Oggi giorno infatti abbiamo la tecnologia adatta per 'collegare' qualsiasi cosa. 

Ad esempio con un modulo Arduino wifi è possibile interagire con una pianta!


Lui è Massimo Banzi, imprenditore e designer italiano. Co-fondatore di Arduino, uno dei fautori della "nuova rivoluzione industriale". La pianta invece la si trova su Twitter, ha un igrometro impiantato nel terreno e quando ha bisogno di bere lo fa sapere attraverso un semplice tweet... simpatico vero? L'esempio della pianta connessa al mondo 'reale' è solo per dire che con la tecnologia attuale l'unico limite a volte è solo l'immaginazione. 

Superato il gap tra la macchina e l'uomo, il passo verso l'Industria 4.0 è presto fatto. Infatti le macchine di produzione iniziano ad essere intelligenti: sono dotate di sensori in grado di comunicare il proprio stato di salute ed avvisando in tempo reale il sopraggiungere di criticità. 

La Smart Factory ha una nuova consapevolezza e un nuovo modo di operare. Attraverso la raccolta e l'analisi dei dati si ottimizzano processi, si crea qualità ed efficienza.  Si interviene in tempo reale, si effettua manutenzione predittiva. Le macchine diventano a realtà aumentata in modo da facilitare gli interventi ed avere subito a disposizione manuali tecnici e dati storici degli interventi o manutenzione. 

Il progetto Geek 😃 del week-end

Open hardware, ESP-12-E core

Affascinato da questa nuova rivoluzione, mi sono divertito in questi giorni con l'Internet of Things ed ho messo insieme le mie conoscenze HW e SW per creare un progettino dimostrativo che rileva temperatura ed umidità e li trasmette ad un database in real-time NoSQL di Google. Ho poi sviluppato un'App per Android che raccoglie i dati e li visualizza in formato testo e grafico.

Il dispositivo HW in figura include il firmware che gira sul modulo SoC WiFi ESP8266 e l'HW basato sul modulo ESP-12. Supporta lo standard IEEE802.11 b/g/n e il protocollo TCP/IP. Il FW è scritto con LUA ed è possibile programmarlo con l'ambiente di sviluppo di Arduino.

Nel mio esempio uso questo dispositivo per connettermi alla rete WiFi e per scrivere i dati su Firebase. Ho scritto la procedura per l'accesso alla rete WiFi, quella per memorizzare temperatura ed umidità nel database in real-time ed ho programmato il device, o meglio, ho fatto l'upload con l'ambiente di sviluppo di Arduino. I dati sono simulati con una funzione random perché il sensore non è ancora arrivato.

Firebase è  un potente strumento che mette a disposizione Google. L'ho già usato per un'altra App e l'ho ripreso per questa demo. In questo caso lo uso 'solo' per i dati in real time ma ha tante altre funzionalità che si integrano con Android.

L'App sviluppata con Android Studio e si occupa al momento 'solo' della visualizzazione dei dati che arrivano dal device/cloud in formato testo e in formato grafico.

Screen shot App IoT Demo

Si presume che nel 2020 i sensori connessi che genereranno dati saranno circa 80 Miliardi ecco che inevitabilmente si deve introdurre la parola Big Data. Sfruttando al meglio questa mole di informazioni si possono realizzare davvero grandi cose e ambire a modelli di business all'avanguardia e aziende vincenti e competitive. 

domenica 18 giugno 2017

Raspberry Pi

Il mio amicone Dante mi ha dato l'opportunità di provare un Raspberry Pi 2.

Ne avevo sentito parlare ma per questione di tempo non avevo ancora approfondito la conoscenza di questo gioellino tecnologico!

Cos'è il Raspberry Pi?
Il Raspberry Pi è un piccolo computer dalle dimensioni di una carta di credito che si collega alla TV e ad una tastiera. La mission della Fondazione che ha creato il Raspberry Pi è "Vogliamo vederlo usato da adulti e bambini in tutto il mondo per imparare la programmazione e la produzione digitale."  La Fondazione Raspberry Pi lavora per mettere le potenzialità della produzione digitale nelle mani di persone in tutto il mondo. 
Il Raspberry Pi è un computer a basso costo e ad alte prestazioni che le persone usano per imparare, risolvere i problemi e divertirsi. Il Raspberry Pi ha debuttato a febbraio 2012. Il software è basato su kernel Linux ed in virtù di essere open-source, offre l'opportunità di esplorare il codice sorgente in modo da capire l'interazione tra hardware e software.
Il Raspberry Pi è ritenuto uno strumento di apprendimento ideale, in quanto è economico ed ha bisogno solo di una tastiera e di una TV. 

A cosa serve il Raspberry Pi?
Può essere utilizzato in progetti di elettronica e per molte delle cose che fa un PC desktop, come fogli di calcolo, elaborazione di testi, navigazione in Internet e giochi. Riproduce anche video ad alta definizione. Ad esempio con la distribuzione OSMC (Open Source Media Center) ottimizzata con Kodi che sto provando, diventa un vero e proprio media center per distribuire contenuti multimediali ai dispositivi collegati nella rete privata e rende ad esempio il vecchio televisore con ingresso HDMI un vero e prorio SMART TV connesso alla internet.

Specifiche Hardware del Raspberry Pi 3 modello B
Dal 2012 ad oggi ci sono state vari aggiornamenti dell'Hardware del Raspberry Pi: A, B, A+, B+, 2, Zero, 3, Zero W. Il Raspberry Pi 3 è la terza generazione del Raspberry Pi. Ha sostituito il Raspberry Pi 2 Modello B a Febbraio 2016.


RASPBERRY PI 3 MODEL B
CPU 1.2GHz 64-bit quad-core ARMv8
Wi-Fi 802.11n Wireless LAN
Bluetooth 4.1
Bluetooth Low Energy (BLE)
1GB RAM
4 USB ports
40 GPIO pins
Full HDMI port
Ethernet port
Jack 3.5mm audio  e composite video
Camera interface (CSI)
Display interface (DSI)
Micro SD card slot 
VideoCore IV 3D graphics core


HW non fornito
- La Micro SD non è fornita e la dimensione minima raccomandata è 8GB. Da preferire almeno una Classe 10 che ha prestazioni in termini di velocità più elevate
- L'alimentatore non è fornito. Il power supply deve essere di almeno 2.5A per il Pi 3
- La tastiera non è fornita. In commercio ne esistono svariate che si possono collegare via usb con collegamento bluetooth. Alcune hanno anche il touchpad per funzionare anche come mouse
- Il cavo HDMI non è fornito. Da preferire un cavo CEC in modo tale che se la TV (non fornita) è predisposta, si puo' usare il Raspberry dal telecomando del televisore

Software. Quali sono le distribuzioni software per il Raspberry Pi?
Il Raspberry è fornito senza software precaricato in modo da permettere all'utente di scegliere la distribuzione più adatta alle proprie esigenze. La distribuzione ufficiale della Fondazione Raspberry Pi è la Raspbian ma ce ne sono altre sviluppate e manutenute da terze parti che svolgono e sono ottimizzate per svolgere diversi compiti.

Raspbian e' il sistema operativo per Raspberry Pi supportato dalla Fondazione basato sulla distribuzione Linux Debian. Si puo' installare usando NOOBS o puoi fare il download dell'immagine. Questa distribuzione ha preinstallato alcuni software per imparare e linguaggi di programmazione per uso generico come  Python, Scratch, Sonic Pi, Java, Mathematica

Windows 10 IoT Core. Anche Microsoft mette a disposizione i suoi strumenti di sviluppo ed il proprio sistema operativo ottimizzato per il Raspberry. Installando Windows 10 per l'Internet delle cose è possibile usare il Raspberry per sviluppare SW e creare il proprio progetto usando Visual Studio. Si puo' programmare con i vari linguaggi di programmazione supportati come Python, C#, C++. Come al solito ci sono vari tutorial per poter imparare a fare Cose Connesse!

OSMC, Open Source Media Center è un media player basato su Linux. Offre la possibilità di creare un vero e proprio media center con contenuti multimediali (musica, video) che hai nel tuo Hard Disk o nel tuo NAS oppure direttamente da internet installando specifici add-on e fare così stream TV. OSMC è la distribuzione che sto provando con il mio televisore e posso dire che davvero è ben fatto e semplice da installare. Aggiungendo gli add-on delle maggiori TV italiane puoi creare una vera e propria TV SMART e on-demand. Bellissima la gestione dei tuoi film: OSMC automaticamente scarica le copertine e crea una libreria ordinata per anno, attore, genere di film e chi più ne ha più ne mette!

L'elenco delle distribuzioni si trova a questo link e ce ne sono alcune che attirano la mia curiosità tipo la distribuzione per creare la stazione meteo o Ubuntu desktop che presto proverò!


Sistemi Operativi per Raspberry


Lo starter Kit Raspberry Pi 3
Se sei uno smanettone già conoscerai Raspberry e lo troverai sicuramente interessante. Anche i meno esperti si possono cimentare con questo microcomputer partendo da questo kit che comprende:
  • Raspberry Pi 3 Model B (Made in the UK)
  • Alimentatore ufficiale Raspberry Pi 3 (5V - 2.5A)
  • Case ufficiale Raspberry Pi 3
  • MicroSD ufficiale Raspberry Pi con NOOBS + adattatore
  • Cavo HDMI 1 metro e dissipatori  

 Raspberry Pi 3 Official Starter Kit

Buona programmazione oppure buono stream on demand con Raspberry Pi 3

giovedì 27 aprile 2017

Carte di credito Wi-Fi... oops Contactless!

Come proteggere le tue carte di credito!

BancoPosta Contactless

Hai notato quel simbolo che assomiglia a quello del Wi-Fi vicino al chip dorato?
Se anche la tua carta ne possiede uno significa che è una carta Contactless.
Puoi pagare senza digitare il PIN solo avvicinando la carta al lettore POS! 
Si, solo avvicinando la carta al lettore POS e senza immettere il PIN (fino a 25Euro)

Le moderne carte di credito infatti sfruttano la tecnologia RFID
Radio-Frequency IDentification o Identificazione a radiofrequenza
Ciò significa che la carta è capace di trasmettere dati personali quando viene avvicinata ad un lettore POS per effettuare il pagamento. 

Ma a che distanza inizia a funzionare? Sembra che alcuni lettori molto sensibili arrivano a 30cm!

E se mentre sei nei mezzi pubblici o in un luogo affollato si avvicina un hacker con smartphone NFC (Near Field Communication o Comunicazione in prossimità) e APP per leggere le carte? Non è un lavoro semplice clonare la tua carta di credito, ma non è nemmeno impossibile!

 come si clona la carta contactless

Detto ciò per non correre rischi ci sono due possibilità per proteggere la Carta Contactless:
Schermarla avvolgendola nella carta alluminio doppia forza 😀

Comprare un bel portafoglio schermato anti NFC e RFID


 porta carte di credito sottile anti rfid nfc

giovedì 13 ottobre 2016

Una fotocamera SMART con Android


Cercavo una buona fotocamera ed ho trovato

Samsung Galaxy Camera 2

E' SMART con GPS integrato, Android e WI-FI NFC




Risoluzione max: 4608 x 3456
Pixel effettivi: circa 16.3 M
Zoom ottico: Obiettivo zoom 21x
Lunghezza focale:  23 ~ 483 mm
Apertura: 2.8 (W) ~ 5.9 (T)
Stabilizzazione ottica dell'immagine
Accelerometro, sensore geo-magnetico, giroscopio

Semplice da usare come uno smartphone ma con la qualità di una macchina fotografica



Questa macchina fotografica è un gioiellino tecnologico e la cosa che mi affascina di più è Android a bordo anche se una versione datato