1a sessió. Curset introductori d'Internet de les Coses. (5 / novembre / 2020)

De things.cat
La revisió el 23:02, 4 nov 2020 per Jordi Binefa (discussió | contribucions) (Exercicis)
Salta a: navegació, cerca

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

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

  • 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.