Diferència entre revisions de la pàgina «Accés remot a dispositius sense sistema operatiu»

De binefa.com
Salta a la navegació Salta a la cerca
(Es crea la pàgina amb «== Programació remota (OTA) == center|Programacio OTA de la placa IoT-02 === Dos programes de prova de programació remota === [https://www.b...».)
 
m
 
Línia 13: Línia 13:
 
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 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 [https://binefa.cat/training/iot02/ota/edge/simple-port-forwarding.js simple-port-forwarding.js] caldrà haver afegit el paquet '''http-proxy''':
+
Per a fer funcionar [https://www.binefa.cat/training/iot02/ota/edge/simple-port-forwarding.js simple-port-forwarding.js] caldrà haver afegit el paquet '''http-proxy''':
  
 
  npm install http-proxy
 
  npm install http-proxy
Línia 24: Línia 24:
 
  httpProxy.createProxyServer({target:'http://' + targetHost + ':' + portOrigen}).listen(portDesti);
 
  httpProxy.createProxyServer({target:'http://' + targetHost + ':' + portOrigen}).listen(portDesti);
  
Per a fer aquest redireccionador sigui un servei, es copia [https://binefa.cat/training/iot02/ota/edge/myForwardingService.service myForwardingService.service] a la carpeta '''/etc/systemd/system''' o el fem de nou amb un editor:
+
Per a fer aquest redireccionador sigui un servei, es copia [https://www.binefa.cat/training/iot02/ota/edge/myForwardingService.service myForwardingService.service] a la carpeta '''/etc/systemd/system''' o el fem de nou amb un editor:
  
 
  cd /etc/systemd/system
 
  cd /etc/systemd/system

Revisió de 14:14, 15 març 2022

Programació remota (OTA)[modifica]

Programacio OTA de la placa IoT-02

Dos programes de prova de programació remota[modifica]

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)[modifica]

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[modifica]

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

Els tres mètodes de programació OTA de l'ESP32[modifica]

How to implement OTA online update of ESP32 firmware