Internet of things

Internet of Things, una guida pratica 2

L'hardware - Ethernet

Nel capitolo precedente della nostra Guida Pratica abbiamo visto come l'Internet of Things racchiuda diverse tecnologie, fra cui l’elettronica e l’informatica, che si combinano per creare una soluzione nuova e originale. Per realizzare un oggetto I.O.T occorre perciò avere un background tecnico con diverse competenze.

 

Nel secondo capitolo della nostra Guida pratica all’Internet of Things, prendiamo in considerazione le diverse scelte tecnologiche lato hardware da utilizzare in un progetto IOT.

 

Buona lettura! 

Mostreremo una panoramica dei moduli e delle board di sviluppo per l'I.O.T.,  dando per scontata la capacità di programmazione di un microcontrollore di vostra conoscenza.

Il primo problema a cui dobbiamo dare una soluzione hardware riguarda la modalità di connessione dell'oggetto ad internet.

  • Ethernet
  • Wifi
  • Rete mobile (2G – 3G – 4G)
  • Reti LPWAN (Sigfox, LoRa, NB-IoT, LTE-M, EC-GSM-IoT)

Iniziamo con l'Ethernet

Svariati sono i moduli o chip Ethernet che il mercato mette a disposizione per aggiungere funzionalità al vostro hardware. Molteplici schede di sviluppo incorporano intrinsecamente al loro interno tutto il necessario per sviluppare le vostre funzionalità.

La connessione Ethernet ha il vantaggio di essere economica (i chip costano pochi euro), ed essendo una connessione tramite cavo è sicuramente più stabile (non vi è perdita di segnale), i consumi dei moduli sono ridotti e traslati lato infrastrutturale al modem/router a cui fanno capo. 

In contrapposizione a quanto detto la connessione Ethernet risulta essere poco portatile, legata all'infrastruttura di rete che, se non presente, determinerà una problematica. La connessione via cavo complica ulteriormente il vostro progetto, limitandolo ad essere stazionario nel tempo in un determinato punto. Progettate il vostro oggetto tenendo conto delle problematiche che la tecnologia comporta.

Uno degli aspetti fondamentali da tenere in considerazione per identificare il dispositivo nella rete è l'assegnamento dell'indirizzo IP da parte del modem al vostro oggetto. Se scegliete di assegnare in automatico l'IP al vostro dispositivo tramite DHCP, tenete in considerazione che se spenti i dispositivi, l'IP stesso potrebbe variare creando dei problemi. Se vi occorre identificare l'IP dell' oggetto, trovate un modo per visualizzarlo e/o reperirlo all'interno della rete. In caso di assegnazione statica del IP all'interno di una rete locale l'indirizzo viene definito da voi e non cambierà mai, ma fate attenzione a non generare dei conflitti nel caso in cui l'indirizzo statico impostato nell'oggetto sia stato assegnato già ad un altro dispositivo presente nella rete. Un vantaggio nel connettere l'oggetto tramite Ethernet è quello di sfruttare la tecnica PoE, power over Ethernet, ovvero alimentare tutto il dispositivo mediante lo stesso cavo Ethernet.

Portabilità

Connessione via cavo

Infrastruttura

Bassi consumi

Stabilità

Costi

Se il progetto I.O.T. è pensato per un utilizzo indoor,  in una posizione stazionaria, la soluzione più efficiente è dotare l'hardware di connessione Ethernet.

WIZnet W5100

Famoso chip in formato 80-LQFP della WIZnet in grado di fornire un'interfaccia Ethernet che supporta TCP, UDP, IPv4, ICMP, ARP, IGMP and PPPoE. E' possibile valutare le sue funzioni tramite le apposite board di sviluppo, accelerando il processo di integrazione funzionale. Molte di queste board di sviluppo forniscono gli schemi elettrici per una facile implementazione al vostro progetto e a seconda del processore utilizzato, in rete si trovano molteplici librerie di comunicazione per interfacciarsi tramite SPI dal controllore al chip. In alternativa potete comunque leggere il datasheet del componente e sviluppare il vostro progetto.

Arduino

Arduino propone le sue soluzioni di prototipazione basate su W5100 mediante una board che incorpora il chip stesso, un microcontrollore Atmega328 e un'ulteriore board che contiene esclusivamente il chip W5100.

Gli schemi elettrici e le librerie per le comunicazioni sono liberamente consultabili sul sito.

Schema elettrico: https://www.arduino.cc/en/uploads/Main/arduino-ethernet-R3-schematic.pdf

Schema elettrico: https://www.arduino.cc/en/uploads/Main/arduino-Ethernet-Shield2-V2-sch.pdf

Libreria: https://www.arduino.cc/en/Reference/Ethernet

SeeedStudio

SeeedStudio propone una soluzione compatibile con Arduino basata sul chip W5500 simile al circuito integrato W5100 ma più nuovo.

Gli schemi elettrici e le librerie per le comunicazioni sono liberamente consultabili sul sito.

Schema elettrico: https://raw.githubusercontent.com/SeeedDocument/W5500_Ethernet_Shield...

Libreria: https://github.com/embeddist/WIZ_Ethernet_Library-IDE1.6.x

Itead

Itead propone in alternativa una breakout board economica per valutare le funzionalità del W5100 della WIZnet. Collegabile a qualsiasi microcontrollore.

Gli schemi elettrici e le librerie per le comunicazioni sono liberamente consultabili sul sito.

Schema elettrico: ftp://imall.iteadstudio.com/Modules/IM120525007_W5100_Module...

Libreria mbed: https://os.mbed.com/users/Bongjun/code/WIZnet_Library/

Tutti gli esempi sopraindicati hanno in comune il metodo di comunicazione. In breve, il controller Ethernet comunica bidirezionalmente con il processore attraverso una libreria. L'utente programma il suo software gestendo le funzioni della libreria stessa, rimanendo su un livello più alto senza preoccuparsi di gestire un eventuale protocollo. Tutta la comunicazione avviene nello specifico mediante SPI, un metodo di comunicazione fra microcontrollori e circuiti integrati.

Raspberry pi 3

Raspberry pi propone all'interno della sua scheda di sviluppo un IC targato Microchip LAN 9514 nel formato 64-VFQFN che svolge una duplice funzione: Hub USB e controller Ethernet. In breve, il chip si collega al processore SOC (system on a chip) tramite interfaccia USB predisponendo verso l'esterno diverse porte USB ed un interfaccia Ethernet. In questo caso la comunicazione con il chip avviene tramite driver fornito dalla stessa Microchip in base al sistema operativo caricato sul processore. Microchip mette a disposizione driver per Windows, Linux e Mac os.

Il controller LAN9514 comunicando tramite USB verso il microprocessore ci fa accorgere che abbiamo bisogno di una caratteristica fondamentale per poterlo utilizzare. Il microprocessore SOC Broadcom BCM2837 di Raspberry ha incorporato il controller USB che permette la comunicazione fra microprocessore e controller LAN9514 tramite le line seriali DP/DM. Senza il controller USB nel microprocessore, non sarebbe stato possibile utilizzarlo. Tuttavia nel caso vi servisse un controller USB esterno sul mercato ce ne sono di svariati. Anche se è preferibile averlo integrato per garantire una maggiore velocità e minor latenza del segnale.

Schema elettrico: http://ww1.microchip.com/downloads/en/DeviceDoc/9514_sch.pdf

BeagleBone Black

BeagleBone propone all'interno della sua scheda di sviluppo un Transceiver Ethernet della Microchip, LAN8710A. A differenza della soluzione adottata precedentemente, il circuito integrato comunica con il microprocessore AM3358 mediante MAC layer tramite protocollo MII, RMII, RGMII. L' EMAC (Ethernet medium access control) è quindi presente in diversi microprocessori, fruibile tramite i pin dedicati. Anche in questo caso il sistema operativo definisce la comunicazione fra i due dispositivi, ma è sempre possibile scrivere codice di basso livello per un maggior controllo sull'hardware a disposizione.

Come si denota in foto, a sinistra abbiamo l'interfaccia EMAC del microprocessore, mentre a destra troviamo il Transceiver Ethernet PHY.

Schema elettrico: https://github.com/beagleboard/beaglebone...

Concludendo, abbiamo visto diverse soluzioni per implementare un interfaccia Ethernet all'interno del progetto I.O.T, Personalmente non mi sento di escludere o preferire una soluzione rispetto alle altre, la soluzione giusta è perciò strettamente correlata alla necessità progettuale. L'obbiettivo è stato invece quello di fornire una panoramica sulle differenti interfacce Ethernet e le diverse modalità di connessione al microprocessore.

In definitiva diverse case produttrici fra cui Microchip e Texas instruments hanno nella loro famiglia di prodotti delle MCU molto interessanti. Questi microcontrollori hanno al loro interno sia l'EMAC che il PHY. Questo significa che non vi è più il controller Ethernet esterno, ma è già integrato nella MCU.

Microchip PIC18F97J60

  

Texas instruments IOT TM4C129XNCZAD

Posted in BLOG and tagged , , , , .

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *