Archivi tag: iot

M5Stack FIRE

Da qualche giorno utilizzo l’M5stack Fire development kit, si tratta di un un kit di prototipazione basato su un chip ESP32 che permette di realizzare in tempi rapidissimi, applicazioni IoT con la possibilità di utilizzare una serie di schede di espansione di diverso tipo, oppure potete costruirne di vostre. Le schede di espansione si aggiungono impilandole, al di sotto del cuore del kit (la parte in rosso nell’immagine) una sull’altra e sono tra esse vincolate con dei magneti.


Perché ho acquistato M5Stack? Ho la necessità di sviluppare un prototipo di un robot per un progetto didattico in tempi brevi, il progetto necessita di display touch con connessione WiFi, Bluetooth. Ho l’esigenza di costruire rapidamente un’interfaccia grafica su un display da cui gestire il comportamento del robot, inoltre ho bisogno di avere anche degli output sonori e luminosi, quindi leggendo le specifiche dell’M5stack e guardando alcuni video dimostrativi, ho pensato di sperimentarne l’uso. Ovviamente non nego la curiosità nell’utilizzare l’oggetto 🙂

M5Stack Fire è costituito da tre unità separabili. Nell’unità superiore è alloggia tutta l’elettronica principale, l’ESP32, l’antenna 2.4G, l’elettronica per la gestione dell’alimentazione, schermo LCD touch. La parte centrale è chiamata base M5GO, all’interno trova posto una batteria al litio, una presa M-BUS, due strisce LED RGB e altre due porte GROVE. La parte inferiore è adibita alla ricarica, può essere collegata alla base M5GO tramite pin POGO. All’interno dell’M5Stack si trova anche una IMU in grado di fornire la posizione nello spazio del dispositivo.
I moduli disponibili sono moltissimi ed un elenco completo può essere visto seguendo il link, si va dai moduli GSM, moduli PLC, LORA, telecamere e sensoristica di ogni genere, gestione motori, interfacce per Lego Mindstorms e molto altro.

Caratteristiche

  • 5V DC power supply
  • USB Type-C
  • ESP32-based
  • 16 MB Flash
  • 4 MB PSRAM
  • MPU9250
  • Speaker, 3 Pulsanti, LCD(320*240), 1 Reset
  • 2.4G Antenna: Proant 440
  • TF card slot (Dimensione massima 16G)
  • Battery Socket & 1Batteria Lipo da 50 mAh 
  • Connessioni Pins & Holes per l’espansione
  • Grove Port
  • M-Bus Socket & Pins
  • Piattaforme di sviluppo UIFlow, MicroPython, Arduino

Caratteristice ESP32

  • 240 MHz dual core Tensilica LX6 microcontroller con 600 DMIPS
  • Memoria integrata: 520 KB SRAM
  • Integrata sulla scheda: 802.11b/g/n HT40 Wi-Fi transceiver, baseband, stack e LWIP
  • Integrata sulla scheda: dual mode Bluetooth (classic and BLE)
  • Hall sensor
  • Interfaccia capacitiva touch 10x 
  • 32 kHz crystal oscillator
  • PWM/timer input/output available per ogni pin GPIO 
  • SDIO master/salve 50MHz
  • Supporto SD-card

Per maggiori informazioni

  • Sito di riferimento: https://m5stack.com
    da cui accedere alla documentazione, esempi di utilizzo ed accesso all’interfaccia di programmazione a blocchi.
  • Caratteristiche tecniche dettagliate seguendo il link.
  • Canale YouTube da cui potete vedere diverse sperimentazioni

Ho acquistato M5Stack FIRE su Amazon, ma trovate il dispositivo e schede di espansione anche su diversi store cinesi (sul sito di riferimento trovate tutti i link).

Nel breve pubblicherò alcuni risultati sulle sperimentazioni condotte con M5Stack FIRE.

Buon making a tutti 🙂

IoT a basso costo con un ESP 01 – una veloce introduzione per i miei studenti

Sto svolgendo in queste settimane un corso Arduino per i miei allievi di II’, ma gli impegni dei consigli di classe e le attività di vicepresidenza mi hanno portato a spostare un paio di lezioni e per farmi perdonare ho deciso di implementare velocemente una breve lezioni che generi l’effetto “waooo” 🙂 spero possa funzionareL’idea è quella di comandare la marcia e l’arresto di motori asincroni trifase (380 Vac) remotamente attraverso comandi dati da cellulare utilizzando tecnologia a basso costo.

Aggiungere funzionalità di controllo remoto via WiFi ai propri progetti Arduino è ormai diventato relativamente semplice e molto economico. E’ da qualche tempo che sto utilizzando i noti ESP8266 nella versione più economica ESP01 per effettuare esperimenti di domotica a basso costo. ESP8266 è un microcontrollore programmabile in una modalità molto simile a quanto viene fatto per Arduino è costituito da un circuito SoC (System on Chip) dalle dimensioni ridottissime (5 x 5 mm) e la scheda che lo ospita integra un’antenna WiFi.

05

Esistono diversi modelli di ESP che includono l’ESP8266 ad essi è stato assegnato un nome che ha la seguente struttura ESP-XX dove XX è un numero che in questo momento va da 01 a 13 e che sicuramente nei prossimi mesi sarà destinato ad aumentare. In generale numeri più alti indicano funzionalità e performance più elevate, ma sicuramente ad oggi la versione più diffusa per semplicità di utilizzo e costi resta ancora l’ESP01.

I modelli ESP differiscono uno dall’altro per le seguenti caratteristiche:

  • dimensioni del modulo;
  • memoria flash, esterna al chip e varia da 512 KByte fino a 4MByte;
  • numero di pin;
  • antenna WiFi stampata su scheda o su apposito connettore a cui collegare un’antenna

Nell’immagine che segue un elenco dei più diffusi moduli ESP disponibili:

famiglia-esp

In questa breve trattazione utilizzerò l’ESP01.

Continua a leggere

IoT con WeMos D1 Mini usando Arduino IDE e Blynk

Durante le mie attività di formazione più volte mi è giunta la richiesta da persone non professioniste del settore elettronico o informatico, la realizzazione di progetti elettronici in grado di interagire via WiFi. Svolgere tale attività può richiedere competenze di livello più elevato che ovviamente tutti possono acquisire, ma per non aggiungere scoraggiamento nella fase iniziale di apprendimento ed invogliare sempre di più a sperimentare progetti sempre più complessi è forse bene partire da qualcosa di semplice che sono sicuro farà “esplodere” la vostra fantasia 🙂

Per questa breve introduzione utilizzerò: Arduino IDE, Blynk con scheda WeMos D1 Mini

Blynk

Avevo fatto una breve segnalazione tempo fa. Blynk è un’applicazione (per dirla in informatiche meglio parlare di freamework) che consente mediante dispositivi mobili (iOS e Android) utilizzando un sistema completamente grafico la realizzazione dei propri widget per comandare ad esempio l’azionamento via WiFi di dispositivi di automazione industriale o implementare progetti di domotica, ma anche di rilevare grandezze fisiche esterne e visualizzarle direttamente sul vostro dispositivo mobile.
Blynk può interagire con Arduino o Raspberry Pi se connessi ad una WiFi o a moltissimi dispositivi basati su ESP8266, modulo WiFi dotato di Input/Output General Purpose e processore ARM. Attualmente sono disponibili una grande quantità di board basate su ESP identificate tutti da un ID da ESP-01 a ESP-13 e la differenza tra una scheda e l’altra dipende dalla quantità di memoria disponibile, il numero di GPIO e il tipo di antenna WiFi.

Wemos D1 Mini

Per darvi un’idea di cosa è la Wemos D1 Mini si potrebbe fare la seguente analogia (non me ne vogliano i puristi mi serve solo per dare l’idea per chi incomincia), immaginate un Arduino micro dotato di una connessione WiFi ad un costo di non più di € 5 che potrà essere programmato in modo grafico con Blynk oppure attraverso l’IDE Arduino o ancora con NodeMCU (vedremo più avanti).
Wemos D1 Mini ospita un ESP-12F, dispone di 11 pin I/O digitali, 1 ingresso analogico, tutti i pin I/O gestiscono interrupt, pwm, I2C e ISP e tutti i pin I/O funzionano con una tensione di alimentazione di 3,3V e dispone di una memoria di 4MB.

01

02

Nell’immagine sopra riportata noterete che il nome usato sulla scheda è diverso da quello utilizzato nell’IDE di Arduino, fate riferimento ai numeri scritti in verde in fase di programmazione.

06

07

Come si evince dalle immagini sopra inserite la scheda è dotata di un connettore micro USB che vi permette di caricare gli sketch, ciò non accade per altre tipologie di schede che necessitano di un debugger per il caricamento di programmi.

On-line potete trovare su diversi store una serie di shield (per un elenco completo seguire il link) che possono esser impilati su questa piccolissima scheda.

03La scheda in genere viene venduta con diverse tipologie di pin header non saldati: maschio, femmina, femmina impilabile e ciò vi permette di adattarla ad ogni tipologia di circuito.

04

E’ presente un pulsante di reset

05

Sul pin analogico è possibile leggere tensioni fino a 3,2 V.

La conversione USB a UART viene realizzata dal chip CH340G (ben visibile nell’immagine sopra), presente su moltissimi cloni Arduino cinesi tra cui gli economicissimi Arduino nano. Gli utenti windows potranno procedere tranquillamente scaricando i driver dal seguente link su cui trovate anche i driver per MacOS X, però se avete l’ultima versione di MacOS X  Sierra  (10.12.x) utilizzate la procedura ben dettagliata a questo link. Sempre per gli utenti Mac, nel caso abbiate installato una precedente versione del driver seguite la procedura che trovate al seguente link.

Vedremo nei successivi passaggi l’utilizzo di WeMos D1 con l’Arduino IDE e con Blynk. Continua a leggere

Vieni a creare l’Internet dei Robot – Workshop su Robotica e Internet of Things (IoT)

L’avventura della Maker Faire di Roma 2016 è stata utilissima, ci ha permesso di avere un’immediato riscontro su quanto stiamo sviluppando, inoltre il contatto diretto con insegnanti e studenti ha messo in luce esigenze ed ha aperto nuove relazioni di collaborazione didattica. DotBot quindi apprezzato sia dal punto di vista della struttura fisica, su cui ci saranno sicuramente evoluzioni, ma soprattutto per la modalità di programmazione, che come avete avuto modo di leggere può essere implementata in più modi, in C su piattaforma Arduino oppure in ROS (Robot Operative System) implementando funzioni scritte in Python che fanno uso del framework ROS  su piattaforma Raspberry Pi ed è proprio il controllo con ROS che riteniamo fortemente innovativo in quanto più vicino alle esigenze delle aziende del settore. Con ROS sarà possibile implementare la Cloud Robotics e sfruttare le potenzialità del Cloud per distribuire funzionalità e interazioni tra robot. ROS attualmente è implementato su sistemi robotici industriali che hanno costi elevati, costi che non possono essere sostenuti dalla scuola, ecco perché usare la versione DotBot-R (dove R indica appunto ROS), quindi

ROS + Cloud + DotBot = Cloud Robotics con DotBot

Quindi piattaforma Cloud realizzata con tecnologia alla portata di tutti.

Ma come imparo ad utilizzare ROS?

Attualmente solo in pochissime realtà, tra cui il Politecnico di Torino, si parla di ROS ed io ho avuto la fortuna di avvicinarmi a questi argomenti grazie all’amico Ludovico Russo, dottorando al Politecnico di Torino.

Negli scorsi mesi ho avuto la conferma, anche didattica, delle potenzialità tecnologiche offerte da ROS ed ecco perché ritengo più che indispensabile segnalare su queste pagine l’iniziativa, unica nel suo genere, di HotBlack Robotics, la Startup fondata da Gabriele Ermacora e Ludovico Orlando Russo che si occupa proprio di Robotica con ROS.

HotBlack Robotics ha organizzato il Workshop:

Vieni a creare l’Internet dei Robot
Workshop su Robotica e Internet of Things (IoT)

che si terrà il 9-10 Novembre 2016, Torino, in via San Massimo 24 dalle 14:30 alle 18:30

Prezzo: 25€ a persona (max 20 persone), include accesso gratuito illimitato alla piattaforma di Cloud Robotics da Beta Tester

Per informazioni e iscrizioni www.dotbot.cc/workshop

workshop-ros-dotbot

Questa la presentazione dell’evento:

HotBlack Robotics, in collaborazione con il CINI (Consorzio Universitario Nazionale di Informatica), organizza un workshop di due giorni legato alle nuove tecnologie di Robotica, Internet of Things e Cloud Robotics.

Lo scopo del workshop è avvicinare i partecipanti a queste tematiche e permettere di continuare a sperimentare queste tecnologie in autonomia, con particolare riferimento alle sperimentazioni orientate alla didattica.

Tali competenze verranno fornite utilizzando il dispositivo sperimentale DotBot-R, un piccolo robot economico (in fase di sviluppo) in grado di connettersi alla piattaforma di Cloud Robotics e di sfruttare tutte le potenzialità del Cloud.

A chi è rivolto il corso?

Il corso è rivolto a chiunque sia interessato alla robotica e all’Internet delle Cose, e vuole approfondire questa tematica. È quindi rivolto a makers e insegnanti con una propensione alla sperimentazione. E’ fortemente consigliato avere una conoscenza base di coding (qualsiasi linguaggio di programmazione va bene, l’importante è sapere cosa vuol dire programmare).

Requisiti tecnici

Ai partecipanti è richiesto di portare almeno uno dei seguenti dispositivi:

  • Un PC portatile abilitato a navigare in Wi-Fi, con qualsiasi sistema operativo (Windows, macOS o Linux) e il browser Google Chrome
  • (sperimentale) un Tablet o Smartphone abbastanza recente ( > 2014) capace di connettersi via Wi-Fi.

Contenuti del corso

9 Novembre

  1. Introduzione (1h)
    1. Cos’è l’Internet of Things e cosa vuol dire Cloud Robotics. Perché abbiamo coniato il termine Internet del Robot?
    2. Cos’è ROS (Robot Operative System): scopo, finalità e funzionamento
    3. Raspberry-Pi
    4. Perché progettare DotBot-R?
  2. Python (1h)
    1. Breve introduzione al linguaggio Python (1h)
    2. Sintassi base di Python
  3. Primi esperimenti in Python (2h)

10 Novembre

  1. Iniziamo a programmare DotBot-R (1.5h)
    1. Utilizzo dell’IDE
    2. Publisher
    3. Subscriber
  2. Esperimenti su DotBot-R (2.5h)
    1. Programmare un joystick via WebAPP!
    2. Facciamo interagire tra loro i robot!

Io ci sarò sicuramente, come studente perché ho bisogno di ripassare l’argomento 🙂 ma anche, se sarà possibile, per dare una mia testimonianza.

Freedomotic – Open IoT Framework

freedomotic
Ricevo e volentieri pubblico la segnalazione di Mauro Cicolella che mi invia informazioni in merito a Freedomotic un framework open source per la domotica e l’IoT estremamente interessante e che per il livello di sviluppo mi permetto di porre in evidenza e sottoporlo ai moltissimi colleghi e studenti che si occupano di queste tematiche.

Ho letto quanto sviluppato e sono rimasto favorevolmente colpito e anche questa soluzione la proporr il prossimo anno nelle mie classi 5′ sperando che alcuni utilizzino questo framework per sviluppare proprie tesine.

Nella Mail il Sig. Cicolella mi sottolinea:

Premetto che il nostro un gruppo di appassionati del settore. Non siamo un’azienda n un’associazione e l’attivit svolta in modo completamente gratuito anche se vorremmo trovare dei fondi che ci permettessero di finanziarla visto che pu configurarsi come un progetto di ricerca di cui anche alcune universit si sono interessate.
Stiamo lavorando con l’Universit del Sannio ed Informatici senza Frontiere ad un’app per persone con disabilt visive e/o uditive.

Spero sinceramente che ci accada contribuendo almeno con questa segnalazione ad estendere ad altri l’uso di freedomotic.

Freedomotic is an open source, flexible, secure Internet of Things (IoT) development framework, useful to build and manage modern smart spaces. It is targeted to private individuals (home automation) as well as business users (smart retail environments, ambient aware marketing, monitoring and analytics, etc).
Freedomotic can interact with well known standard building automation protocols as well as with “do it yourself” solutions. It treats the web, social networks and branded frontends as first class components of the system.

Freedomotic can run on any OS with Java support (Linux, Windows, Mac, ). It can be deployed to the cloud, to servers, to a single standard PC, a PCs network, a network of embedded devices like Raspberry Pi, or a mixture of the previous, creating a distributed network.

Per maggiori informazioni vi rimando al sito di riferimento Freedomotic da cui potrete accedere a demo on-line, wiki dedicato e download sorgenti.
Un breve video di presentazione fatto in occasione dello Smart Home Now di Milano dello scorso 12 maggio.

Le slide di presentazione del progetto:

Interfaccia demo amministrazione:

freedomotic01

freedomotic02

freedomotic03

freedomotic04

In Bocca al Lupo attendiamo gli sviluppi.