Accés remot a dispositius sense sistema operatiu
Contingut
Programació remota (OTA)
Dos programes de prova de programació remota
IoT-02_OTAWebUpdater_01 (Fa pampallugues el led blanc) Per a que us funcioni, haureu d'actualitzar el codi amb el vostre nom de xarxa sense fils (SSID) i la vostra contrasenya d'accés.
IoT-02_OTAWebUpdater_02 (Fa pampallugues el led verd) Per a que us funcioni, haureu d'actualitzar el codi amb el vostre nom de xarxa sense fils (SSID) i la vostra contrasenya d'accés.
Programació a la vora (edge)
L'ordinador a la vora (edge) pot ser un ordinador normal, habitualment de poca potència, del tipus Raspberry Pi.
Per a tenir visibilitat externa de la pàgina web servida per la placa IoT-02 (per exemple amb la IP 192.168.1.151:80), ho redireccionarem a un port ( 192.168.1.151:80 --> localhost:5001 )
Per a fer funcionar simple-port-forwarding.js caldrà haver afegit el paquet http-proxy:
npm install http-proxy
El codi nodejs de redireccionament (suposant que la placa IoT-02 ha adquirit l'adreça IP 192.168.1.151):
var httpProxy = require('http-proxy'); var targetHost = '192.168.1.151'; var portOrigen = 80; var portDesti = 5001; httpProxy.createProxyServer({target:'http://' + targetHost + ':' + portOrigen}).listen(portDesti);
Per a fer aquest redireccionador sigui un servei, es copia myForwardingService.service a la carpeta /etc/systemd/system o el fem de nou amb un editor:
cd /etc/systemd/system sudo nano myForwardingService.service sudo chmod 755 myForwardingService.service sudo systemctl daemon-reload sudo systemctl start myForwardingService
Per a veure l'estat del servei:
systemctl status myForwardingService
I per a fer que el servei es posi en marxa al reiniciar l'ordinador a la vora:
sudo systemctl enable myForwardingService
Programació al núvol
Mitjançant una xarxa virtual privada (VPN) de l'estil ZeroTier podem fer que l'ordinador a la vora i l'ordinador al núvol comparteixin la mateixa xarxa.
Suposant que l'ordinador a la vora té la IP 10.242.156.158, podem redireccionar-hi 10.242.156.158:5001 --> localhost:7007 :
var httpProxy = require('http-proxy'); var targetHost = '10.242.156.158'; var portOrigen = 5001; var portDesti = 7007; httpProxy.createProxyServer({target:'http://' + targetHost + ':' + portOrigen}).listen(portDesti);
I així tenim accés remot des del núvol, connectant mitjançant l'ordinador a la vora que es connecta a la placa IoT-02.
Per accedir-hi des del navegador, escriviu a la URL:
<nom_de_domini>:7007
Això visualitzarà el que presenta l'ordinador a la vora (la IP és la VPN a l'ordinador a la vora):
10.242.156.158:5001
Que al seu temps presenta el servei pel port 80 de la placa IOT-02 connectada a la mateixa xarxa local que l'ordinador a la vora:
192.168.1.151