Diferència entre revisions de la pàgina «1a sessió. Curset introductori d'Internet de les Coses. (5 / novembre / 2020)»

De things.cat
Salta a: navegació, cerca
m (Accés remot a dispositius sense sistema operatiu)
m (Exercicis)
Línia 57: Línia 57:
 
= Exercicis =
 
= Exercicis =
 
[[Exercicis del curset introductori a Internet de les Coses per ADTelecom]]
 
[[Exercicis del curset introductori a Internet de les Coses per ADTelecom]]
 
* Accediu a la màquina remota '''formacio.things.cat''' mitjançant el protocol ssh:
 
 
Des del terminal de GNU/Linux:
 
ssh -o ServerAliveInterval usuari@formacio.things.cat
 
 
Des del terminal (CMD) de Windows:
 
ssh usuari@formacio.things.cat
 
 
Des de putty en Windows: Adreça formacio.things.cat pel port 22. Un cop a dins pregunta el vostre usuari i contrasenya.
 
 
Usuaris disponibles: antonio, simone, toni i vicente
 
 
* Algunes ordres GNU/Linux:
 
ls -ls
 
cd ..
 
du usuari ''(canvieu usuari pel vostre usuari)''
 
du -sh usuari
 
cd ~
 
pwd
 
df -Th
 
free
 
history
 
 
* Ús d''''screen''':
 
screen
 
Feu enter
 
ping 1.1.1.1
 
Sortiu d'screen prement '''Ctrl-A''' i deprés '''D'''. Torneu-hi a entrar fent:
 
screen -r
 
Premeu '''Ctrl-C''' i per a sortir completament de l'screen:
 
exit
 
 
* Instal·lació d'execució local del NodeRED:
 
mkdir bin
 
cd bin
 
mkdir nodered
 
cd nodered
 
wget https://binefa.cat/training/nodered/node_red_ui.zip
 
unzip node_red_ui.zip
 
 
* Execució de NodeRED mitjançant screen:
 
screen
 
Premeu Enter per a entrar-hi. Abans d'executar el següent codi canvieu '''xxxx''' per 2223 per a antonio, 2224 per simone, 2225 per a toni i 2226 per a vicente.
 
node node_modules/node-red/red.js --userDir node_modules/node-red/data --settings node_modules/node-red/settings.js -v --port '''xxxx''' --title elmeuTitol --safe flows_meuTitol.json
 
Feu '''Crtl-A''' i després '''D''' per a sortir, '''deixant-ho en marxa'''. Per a aturar el servei caldrà tornar a l'screen i fer un '''Ctrl-C'''
 
 
* Provem que està funcionant el NodeRED remot:
 
Emprant el vostre navegador, accediu a
 
http://formacio.things.cat:'''xxxx'''/
 
canviant '''xxxx''' pel vostre número de port assignat.
 

Revisió del 00:54, 5 nov 2020

Exemples de sistemes IoT complets

Ús de les dades generades pels sensors LoRaWAN i arquitectura del sistema. Rubí 2020

Accés remot a dispositius sense sistema operatiu

Introducció a la placa IoT-02

MQTT i MQTTS

Accés remot a dispositius amb sistema operatiu

Hi ha tres formes bàsiques d'accedir a un dispositiu remot amb sistema operatiu:

Configurant l'enrutador

Cal configurar els ports d'entrada i el redireccionament a IP i ports dels dispositius a la xarxa local remota. Per tenir accés cal tenir un nom de domini o una IP pública estàtica.

Amb IP pública estàtica

Preus orientatius d'una IP fixa

Amb IP pública dinàmica

Es pot conèixer la IP del propi enrutador a través del propi enrutador o a partir de serveis remots. Una manera és fer servir alguna pàgina gratuïta amb publicitat o serveis propis allotjats a un servidor remot

Exemple de codi PHP per a saber la IP del client que s'hi connecta:

if (!empty($_SERVER['HTTP_CLIENT_IP'])) {
    $ip = $_SERVER['HTTP_CLIENT_IP'];
} elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
    $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
} else {
    $ip = $_SERVER['REMOTE_ADDR'];
}

Es poden fer servir serveis de DNS per a IP dinàmiques:

Duck DNS

no-ip

Sense configurar l'enrutador

Implementant un túnel invers

Implementació d'un túnel SSH invers

Pràctica de connexió remota a una Raspberry Pi

Fent servir xarxes vituals privades (VPN)

Ús de ZeroTier: Configuració d'una VPN emprant ZeroTier

Servidor OpenVPN a una Raspberry Pi

Serveis al núvol

- Un servidor privat virtual propi: OVH, DigitalOcean

- Serveis propietaris: AWS, Google Cloud, Azure

Exercicis

Exercicis del curset introductori a Internet de les Coses per ADTelecom