Diferència entre revisions de la pàgina «1a sessió. Curset introductori d'Internet de les Coses. (5 / novembre / 2020)»
m (→Exercicis) |
m (→Accés remot a dispositius sense sistema operatiu) |
||
Línia 3: | Línia 3: | ||
= Accés remot a dispositius sense sistema operatiu = | = Accés remot a dispositius sense sistema operatiu = | ||
+ | [http://binefa.com/index.php?title=16_/_5_/_2020_-_Tecnolog%C3%ADas_IoT,_Hands_on_y_MVP Introducció a la placa IoT-02] | ||
+ | |||
[https://wiki.binefa.cat/index.php?title=MQTT_i_MQTTS MQTT i MQTTS] | [https://wiki.binefa.cat/index.php?title=MQTT_i_MQTTS MQTT i MQTTS] | ||
Revisió del 00:48, 5 nov 2020
Contingut
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
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:
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.