Come creare un'app bidirezionale per Internet of Things / Chattare con Python

IoT - Internet of Things
Cos'è l'Internet of Things (IoT) "In inglese semplice"?

Al giorno d'oggi, un gran numero di oggetti che utilizziamo nelle attività quotidiane possono connettersi a Internet come smartwatch, automobili, porte con serratura intelligente, termostato, attrezzature sportive, elettrodomestici (frigoriferi, forno, ecc.) E persino scarpe. Questa connettività consente a questi oggetti di avere la propria identità e la capacità di ricevere e comunicare informazioni preziose, rendendole "intelligenti". Questo è noto come "Internet of Things".

Ad esempio, uno smartwatch può raccogliere dati come quanti passi fai, la temperatura corporea, la frequenza cardiaca, ecc .; che può essere visualizzato da altri dispositivi connessi a Internet come uno smartphone o un tablet. Tutti i dati raccolti dallo smartwatch possono quindi essere analizzati per dirti quante calorie hai bruciato, darti un consiglio di fitness personalizzato e altre informazioni relative alla salute.

L'Internet of Things non si limita ai prodotti di consumo. Ci sono molti altri esempi che si estendono all'assistenza sanitaria, alla produzione, all'agricoltura e alle infrastrutture (sensori su ponti ed edifici che controllano lo stress o danni alla loro struttura; bidoni della spazzatura della città dotati di sensori che inviano un avviso quando devono essere svuotati).

Ci sono problemi di privacy e sicurezza che derivano dall'IoT. Ad esempio, un hacker potrebbe essere in grado di sbloccare e avviare la tua auto da remoto. Tutti questi dispositivi raccolgono una grande quantità di dati, catturando le tue azioni e la posizione durante il giorno, spesso non conosciamo davvero tutti i dati raccolti o il modo in cui vengono utilizzati. Una cosa che sappiamo è che l'Internet delle cose crescerà a un ritmo più veloce nei prossimi anni, portando con sé nuovi vantaggi e sfide.

In questo articolo, esploreremo come pubblicare e sottoscrivere l'architettura IoT usando il server PubNub.
PubNub-IoT

PubNub è una rete globale di flussi di dati e un'infrastruttura di servizi in tempo reale che fornisce una rete di flussi di dati in tempo reale per gli sviluppatori Web, mobile e IoT. L'architettura di pubnub è molto simile al protocollo MQTT in cui gli utenti si iscrivono a un argomento e ascoltano i dati pubblicati su tale argomento da un altro utente.

Ai fini di questa demo, useremo pubnub python SDK per creare un'app di chat bidirezionale che ti servirà per avere Python 3.65 o superiore e installare pubnub sul tuo computer.

Ora andremo avanti e seguiremo l'installazione su https://www.pubnub.com/docs/python/pubnub-python-sdk.

Il modo più semplice per iniziare è installare PubNub Python SDK tramite pypi. Python 3.6 viene fornito con pip3 se hai aggiornato pip a pip3 assicurati di eseguire il tuo comando con python3 e pip3 invece di python e pip che faranno riferimento alla versione di python 2. che viene fornita in un mac per impostazione predefinita.

Ho copiato e modificato il file python "ciao mondo" aggiunto più commenti per spiegare meglio cosa fa ogni sezione e riga di codice:

Apri il tuo editor (sto usando il codice visivo) e crea un file Python in cui copierai e incollerai il codice sopra. Ho chiamato il mio "yann.py", puoi nominare il tuo come desideri.

Pubnub fornisce una console online su cui è possibile utilizzare per testare l'applicazione. Useremo l'app demo predefinita impostata sulla console pubnub specificando il nome del canale: "awesomeChannel", pubblica e sottoscrivi il valore chiave: "demo".

Ora, a seconda dell'editor che stai utilizzando, crealo o semplicemente apri il terminale o il prompt dei comandi; cd nella directory dei file ed eseguire la seguente riga di comando:

python3 nome_file.py

Sto usando l'editor di codice di Visual Studio. Dopo aver eseguito correttamente il tuo file Python, invia un messaggio dalla console pubnub e vedi il risultato sul tuo terminale o prompt dei comandi e viceversa:

Ho usato python in questo caso perché ho creato un comando alias sul mio .bash_profile che fa riferimento al comando python a python3 e pip a pip3 per uso futuro:

Ora crea un altro file Python per il secondo utente. Ho chiamato il mio bob.py, ho copiato lo stesso codice dal file precedente e ho assegnato un nuovo nome utente per il secondo utente:

# lascia assegnare a ciascun utente un ID utente di base per l'app di chat di base
pnconfig.uuid = 'User_2_name'

Esegui entrambi i file e hai un'app di chat tra l'utente 1 e 2:

Per maggiori dettagli sul codice, controlla il mio repository GitHub.
Se ti è piaciuto questo articolo, ti potrebbe piacere anche "Raspberry Pi 3 - Shell Scripting - Door Monitor (un dispositivo IoT)"
Cheer !!