In questo articolo, IoT e IoE con Cisco Packet Tracer, vediamo come sia possibile simulare un’ampia gamma di dispositivi IoT (Internet of Things) e IoE (Internet of Everything) con Cisco Packet Tracer. In particolare, Packet Tracer 7.0 offre una varietà di “cose intelligenti” e “componenti” che possono essere utilizzati per costruire scenari di rete avanzati,…

Indice dei contenuti

In questo articolo, IoT e IoE con Cisco Packet Tracer, vediamo come sia possibile simulare un’ampia gamma di dispositivi IoT (Internet of Things) e IoE (Internet of Everything) con Cisco Packet Tracer. In particolare, Packet Tracer 7.0 offre una varietà di “cose intelligenti” e “componenti” che possono essere utilizzati per costruire scenari di rete avanzati, ottimizzando l’interazione tra dispositivi fisici e la rete.

Cose Intelligenti (Smart Things)

Le cose intelligenti sono oggetti fisici in grado di connettersi a una rete, tramite un’interfaccia di rete, a un server di registrazione o a un Home Gateway. Questi dispositivi sono divisi in quattro categorie principali, che rappresentano applicazioni in diversi ambiti:

  1. Casa: Dispositivi IoT destinati all’ambiente domestico, come termostati intelligenti, luci controllabili a distanza, e sistemi di sicurezza.
  2. Smart City: Oggetti utilizzati per rendere le città più “intelligenti”, come semafori interconnessi, sistemi di gestione del traffico, e sensori di qualità dell’aria.
  3. Industriali: Dispositivi impiegati in ambito industriale, come sensori di produzione, monitoraggio delle macchine e sistemi di automazione.
  4. Power Grid: Dispositivi utilizzati nelle reti di distribuzione dell’energia, che permettono di monitorare e ottimizzare l’uso dell’elettricità in tempo reale.

Queste “cose intelligenti” sono fondamentali per il concetto di Internet of Everything (IoE), che non si limita solo a connettere dispositivi tra loro (come nell’IoT), ma coinvolge anche persone, processi e dati, creando una rete che interagisce e migliora l’efficienza complessiva.

Componenti (Components)

I componenti sono oggetti fisici che si collegano a un microcontrollore (MCU-PT) o a una scheda single board (SBC-PT). A differenza delle cose intelligenti, i componenti generalmente non hanno una propria interfaccia di rete, ma si collegano, come detto, al microcontrollore o all’ SBC per accedere alla rete. Questi dispositivi sono progettati per essere semplici e comunicare attraverso ingressi e uscite analogiche o digitali.

I componenti sono suddivisi in tre categorie principali:

  1. Boards: Questa categoria include microcontrollori (MCU-PT) e single board (SBC-PT). Inoltre, vi è un dispositivo speciale chiamato “Thing”, che può essere utilizzato per creare oggetti fisici autonomi. Ad esempio, è possibile simulare una macchina per il caffè o un rivelatore di fumo, che interagiscono con la rete grazie a questi dispositivi.
  2. Attuatori: Gli attuatori sono dispositivi progettati per manipolare l’ambiente circostante. Possono, ad esempio, azionare un motore, aprire una porta, o regolare la temperatura di un ambiente. Questi dispositivi sono essenziali per l’automazione e la risposta ai segnali ricevuti dai sensori.
  3. Sensori: I sensori sono componenti che percepiscono l’ambiente che li circonda. Possono rilevare vari parametri fisici come temperatura, movimento, umidità, o altre caratteristiche ambientali. Esempi comuni includono sensori di temperatura, rilevatori di movimento, sensori di metallo (come RFID), e potenziometri che rilevano variazioni di resistenza.

Integrare l’IoT e l’IoE in una Rete con Packet Tracer

La simulazione di dispositivi IoT e IoE in Cisco Packet Tracer 7.0 consente di progettare reti complesse, dove diverse categorie di dispositivi possono interagire tra loro, raccogliendo dati e rispondendo a comandi. La gestione di questi dispositivi attraverso una rete sicura e ben progettata è cruciale per ottenere vantaggi in termini di efficienza operativa e ottimizzazione delle risorse.

Ad esempio, nel contesto di una Smart City, i sensori di qualità dell’aria possono inviare dati a una piattaforma centralizzata, che elabora le informazioni per ottimizzare la gestione del traffico e ridurre l’inquinamento. Allo stesso tempo, gli attuatori, come i semafori intelligenti, possono rispondere a questi dati per regolare il flusso del traffico in tempo reale.

In questo articolo ci proponiamo di realizzare una semplice rete costituita da un MCU, un sensore ed un attuatore attraverso il simulatore Cisco Packet Tracer

Applicazione

Vediamo la seguente applicazione pratica: realizziamo una rete con MCU, potenziometro e display. Vogliamo che il valore letto all’input analogico cui è collegato il potenziometro venga riportato sul pin digitale cui è collegato un display in modo che il display visualizzi il valore del potenziometro

Step 1: Posizionare i dispositivi sul Workspace

Dopo aver aperto Cisco Packet Tracer, dalla barra dei menu in basso clicchiamo su “Components”

Visualizzeremo la sottocategoria “Components” e accanto i componenti selezionabili. Cliccando su MCU Board e cliccando sul workspace (o facendo Drag and Drop) posizioniamo l’MCU sul workspace. Cliccando sulla sottocategoria “Sensors” scegliamo il potenziometro (Potentiometer) e lo posizioniamo sul workspace. Selezionando la sottocategoria “Actuators” scegliamo il display (LED) e lo posizioniamo sul workspace.

Step 2: Colleghiamo i dispositivi

Colleghiamo ora il potenziometro all’MCU e il display all’MCU attraverso due cavi “IoT Custom Cable”. Per fare questo clicchiamo su “Connections”, scegliamo IoT custom cable e clicchiamo sul potenziometro scegliendo “A0” e poi sull’MCU scegliendo anche qui “A0” (in questo caso potremmo scegliere anche uno tra glia altri cinque ingressi analogici disponibili). La stessa procedura la adottiamo per connettere l’MCU al dispaly scegliendo “D0” (in questo caso potremmo scegliere anche uno tra le altre uscite analogiche disponibili) sull’MCU e “D0” sul display

Step 3: Programmiamo l’MCU

Clicchiamo sull’MCU e clicchiamo sul tab “Programming”

Come vedete esiste già un programma che si chiama “Blink (JavaScript). Lo selezioniamo, lo cancelliamo con il pulsante “Delete” e clicchiamo su “new”. Vogliamo creare un nuovo progetto che chiameremo “Potenziometro e display”. Il nome lo inseriamo nel campo “name”. Nel menù dropdown “template” come vedete esistono diversi template sia in Java Script sia in Python. Vogliamo realizzare il nostro progetto in Python per cui sceglieremo “Empty Python” e clicchiamo su “Create”

Clicchiamo su “main.py” e a destra possiamo scrivere il nostro codice. Il codice che ci consente di realizzare la nostra applicazione è il seguente:

#import delle funzioni
from gpio import *  #dal modulo gpoi(general purpose I/O) importo tutte le funzioni
from time import *  #dal modulo time importo tutte le funzioni

#definisco la funzione setup
def setup():
	pinMode(0, OUT) #dichiaro il pin D0 come Output (display)
	pinMode(A0, IN) #dichiaro il pin A0 come Input (potenziometro)
	
#definisco la funzione main()
def main():
	print("Potenziometro e LED") #stampo sul monitor una stringa iniziale
	setup() #avvio la funzione setup()
	while True:  # ciclo continuo di funzionamento
		valPot = analogRead(A0); # leggo il valore del potenziometro al pin A0 e lo memorizzo nella variabile valPot
		customWrite(0, valPot); # scrivo il valore del potenziometro al pin D0 (sul display)
		print(valPot); # stampo il valore letto del potenziometro
		sleep(2) #attendo 2 secondi prima della successiva lettura

if __name__ == "__main__":
	main()

Spiegazione del codice

Di fatto l’MCU simula un modulo Arduino (si rimanda lla teoria Physical Computing ed ai tutorial Tutorial Arduino) per cui la programmazione in Python riflette molto la struttura di uno sketch Arduino. Nella funzione setup() inseriamo gli statements per il setup (pin di input, di output ecc), nel main( ) richiamiamo il setup( ) e con la struttura While True simuliamo la funzione void loop( )

Step 4: Run e test dell’applicazione

Clicchiamo sul pulsante run e nella parte bassa della maschera possiamo vedere la simulazione del modulo seriale.

torniamo sul workspace affianchiamo la schermata dell’MCU e proviamo a muovere il cursore del potenziometro tenendo premuto il tasto alt e con il cursore del mouse muoviamo verso destra o verso sinistra. Dovremmo visualizzare i valori che variano in base allo spostamento del cursore sia sul display che sul monitor seriale. i due “finecorsa” min e max del potenziometro corrispondono ai valori 0 e 1023 rispettivamente. Questo perchè Arduino consente di effettuare una conversione analogico digitale con l’ADC incorporato che utilizza un registro a 10 bit quindi 210 = 1024 possibili valori

Clicca qui per fare il download del progetto: DOWNLOAD oppure vai alla pagina dei download relativa a tutti i progetti IoT con Packet Tracer

Conclusioni

E’ possibile, come abbiamo visto, realizzare diverse applicazioni utilizzando diversi sensori e attuatori. In un altro articolo spiegheremo invece come realizzare una reteche consenta di simulare dispositivi collegati ad un Home-Gateway e come sia possibile controllarli da remoto o in locale da PC o smartphone

Lascia un commento

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