Diferència entre revisions de la pàgina «Nodes sensors (motes) i passarel·les (gateways)»
(Hi ha 24 revisions intermèdies del mateix usuari que no es mostren) | |||
Línia 1: | Línia 1: | ||
+ | = Teleconferència = | ||
+ | [https://meet.google.com/jjs-ppem-uyi Adreça de la teleconferència] | ||
+ | |||
+ | [https://docs.google.com/spreadsheets/d/1hCC-2ca94IcJU1q6SX4fVJNihNq4vUlU/edit#gid=1992922326 Control d'assistència IIoT] | ||
+ | |||
= Definicions = | = Definicions = | ||
== Nodes sensors == | == Nodes sensors == | ||
Línia 14: | Línia 19: | ||
== Passarel·les == | == Passarel·les == | ||
[https://ca.wikipedia.org/wiki/Passarel%C2%B7la_(telecomunicacions) Passarel·la] | [https://ca.wikipedia.org/wiki/Passarel%C2%B7la_(telecomunicacions) Passarel·la] | ||
+ | |||
+ | [https://thethingsnetwork.cat/index.php/Llista_de_Gateways Llistat de passarel·les comercials per LoRa] | ||
== Computació a la vora (''edge'') i al núvol (''cloud'') == | == Computació a la vora (''edge'') i al núvol (''cloud'') == | ||
+ | [https://phoenixnap.com/blog/edge-computing-vs-cloud-computing Edge Computing vs Cloud Computing: Key Differences] | ||
+ | |||
+ | [https://www.simplilearn.com/edge-computing-vs-cloud-computing-article Webinar Wrap-up: Edge Computing Vs. Cloud Computing] | ||
= Tècniques de comunicació = | = Tècniques de comunicació = | ||
Línia 23: | Línia 33: | ||
=== Protocol MQTT === | === Protocol MQTT === | ||
[https://binefa.cat/IoT/teoria/mqtt_00.pdf Introducció a MQTT] | [https://binefa.cat/IoT/teoria/mqtt_00.pdf Introducció a MQTT] | ||
+ | |||
+ | [https://wiki.binefa.cat/index.php?title=MQTT_i_MQTTS MQTT i MQTTS] | ||
[https://www.luisllamas.es/que-es-mqtt-su-importancia-como-protocolo-iot/ ¿Qué es MQTT? Su importancia como protocolo IoT] (Luis Llamas, 17 / 4 / 2019) | [https://www.luisllamas.es/que-es-mqtt-su-importancia-como-protocolo-iot/ ¿Qué es MQTT? Su importancia como protocolo IoT] (Luis Llamas, 17 / 4 / 2019) | ||
+ | == Portadora subgiga == | ||
LPWAN (LoRa, SigFox, NB-IoT) | LPWAN (LoRa, SigFox, NB-IoT) | ||
+ | |||
+ | === Exemples de sistemes IoT complets === | ||
+ | |||
+ | [[Ús de les dades generades pels sensors LoRaWAN i arquitectura del sistema. Rubí 2020]] | ||
+ | |||
+ | === Polítiques d'accés just === | ||
+ | [https://www.thethingsnetwork.org/forum/t/limitations-data-rate-packet-size-30-seconds-uplink-and-10-messages-downlink-per-day-fair-access-policy/1300 Fair Access Policy] | ||
+ | |||
+ | [https://binefa.cat/IoT/04b_reflexionsTTN.pdf Algunes reflexions sobre l'ús real de The Things Network] | ||
+ | |||
+ | === Monitoratge de passarel·les === | ||
+ | [https://binefa.cat/IoT/lora/lorawan/telegramBot_01.pdf Exemple de monitoratge d'una passarel·la (''gateway'') LoRaWAN mitjançant un ''bot'' de Telegram] | ||
+ | |||
+ | = 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://binefa.cat/training/adtelecom/20201105/IoT-02_11_modbus_bme280.zip Codi del microprogramari instal·lat per defecte a la placa] i el [https://github.com/jordibinefa/IoT-02/tree/master/codes/IoT-02_11_modbus_bme280 mateix codi a GitHub]). | ||
+ | |||
+ | [https://wiki.binefa.cat/index.php?title=MQTT_i_MQTTS 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 === | ||
+ | [https://queadslcontratar.com/guias/contratar-ip-fija 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 [http://www.adsl4ever.com/ip/ alguna pàgina gratuïta amb publicitat] o [http://binefa.net/ip/index.php serveis propis allotjats a un servidor remot] | ||
+ | |||
+ | [https://stackoverflow.com/questions/3003145/how-to-get-the-client-ip-address-in-php 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: | ||
+ | |||
+ | [http://www.duckdns.org/ Duck DNS] | ||
+ | |||
+ | [https://www.noip.com/free no-ip] | ||
+ | |||
+ | == Sense configurar l'enrutador == | ||
+ | |||
+ | === Implementant un túnel invers === | ||
+ | |||
+ | [https://binefa.cat/IoT/RPi/tunelSshInvers_RPi.pdf Implementació d'un túnel SSH invers] | ||
+ | |||
+ | [https://wiki.binefa.cat/index.php?title=Pr%C3%A0ctica_de_connexi%C3%B3_remota_a_una_Raspberry_Pi Pràctica de connexió remota a una Raspberry Pi] | ||
+ | |||
+ | === Fent servir xarxes vituals privades (VPN) === | ||
+ | |||
+ | Ús de [http://zerotier.com/ ZeroTier]: [https://binefa.cat/IoT/vpn/zerotier/zerotier_01.pdf Configuració d'una VPN emprant ZeroTier] | ||
+ | |||
+ | [https://www.jabenitez.com/2018/10/01/instalar-un-servidor-vpn-en-raspberry-pi-con-openvpn/ Servidor OpenVPN a una Raspberry Pi] | ||
+ | |||
+ | = Serveis al núvol = | ||
+ | |||
+ | - Un servidor privat virtual propi: [https://www.ovhcloud.com/en/vps/ OVH], [https://www.digitalocean.com/pricing/ DigitalOcean] | ||
+ | |||
+ | - Serveis propietaris: [https://aws.amazon.com/pricing/ AWS], [https://cloud.google.com/pricing/list Google Cloud], [https://azure.microsoft.com/en-us/pricing/calculator/ Azure] | ||
+ | |||
= Pràctiques = | = Pràctiques = | ||
− | https://snap.berkeley.edu/snap/snap.html#open:https://raw.githubusercontent.com/pixavier/mqtt4snap/master/HelloWorld.xml | + | == Ús de l'Snap! amb MQTT == |
+ | [https://binefa.cat/training/snap/intro/PrimerTast.xml PrimerTast.xml] Baixeu-vos-ho amb el botó dret del ratolí (''Desa l'enllaç com a...'') | ||
+ | |||
+ | I obriu-lo des de [http://extensions.snap.berkeley.edu/snap/snap.html# Snap! sense SSL] | ||
+ | |||
+ | [https://snap.berkeley.edu/snap/snap.html#open:https://raw.githubusercontent.com/pixavier/mqtt4snap/master/HelloWorld.xml Font] des del [https://github.com/pixavier/mqtt4snap GitHub d'en Xavier Pi] | ||
+ | |||
+ | == Prova remota de la placa IoT-02 == | ||
+ | MAC de la placa remota feta servir avui: '''7C9EBDE9B584''' | ||
+ | |||
+ | [https://binefa.cat/training/snap/intro/provaIoT02.xml provaIoT02.xml] Baixeu-vos-ho amb el botó dret del ratolí (''Desa l'enllaç com a...''). Cal obrir-ho des d' [http://extensions.snap.berkeley.edu/snap/snap.html# Snap! '''sense''' SSL] | ||
+ | |||
+ | [https://binefa.cat/training/iot02/IoT-02_mqtts_10_dam.zip Microprogramari IoT-02_mqtts_10_dam] per a provar la connexió MQTT amb la placa IoT-02 ([https://github.com/jordibinefa/IoT-02/tree/master/codes/IoT-02_mqtts_10 un exemple de microprogramari fent servir MQTTS en comptes d'MQTT]) | ||
+ | |||
+ | [https://binefa.cat/training/nodered/provaIoT02.nodered.txt Flux de NodeRED per a provar la connexió MQTT amb la placa IoT-02] (Caldrà afegir l'usuari '''ecat''' i la contrasenya '''clotClot''' al ''broker''. A l'exportar el flux no es copien per seguretat) | ||
+ | |||
+ | == Ús del telèfon mòbil per trametre i rebre temes MQTT == | ||
+ | [https://play.google.com/store/apps/details?id=net.routix.mqttdash&hl=es_419&gl=US MQTT Dash] | ||
+ | |||
+ | [http://binefa.com/index.php?title=MQTT-Dash._Control_del_rel%C3%A9_de_enclavamiento_y_lectura_de_la_LDR Exemple de configuració de l'aplicació MQTT Dash] | ||
+ | |||
+ | * Feu les modificacions necessàries a [https://binefa.cat/training/snap/intro/ascensor.xml ascensor.xml] per a controlar l'ascensor des del vostre telèfon mòbil. | ||
+ | |||
+ | == Ús de Telegram en l'automatització de processos == | ||
+ | [https://wiki.binefa.cat/index.php?title=Bot_de_Telegram Bot de Telegram] | ||
= Documentació = | = Documentació = | ||
Línia 39: | Línia 142: | ||
[[Ús de les dades generades pels sensors LoRaWAN i arquitectura del sistema. Rubí 2020]] | [[Ús de les dades generades pels sensors LoRaWAN i arquitectura del sistema. Rubí 2020]] | ||
+ | |||
+ | = Darrers dissenys = | ||
+ | [[Alguns dissenys de maquinari]] |
Revisió de 16:31, 23 març 2021
Contingut
Teleconferència
Definicions
Nodes sensors
- Un node sensor es basa en un microcontrolador, un ordinador mínim de consum i preu molt baix.
- L'ordinador mínim monitora un o més sensors. Hi ha tot tipus de sensors: sensors de temperatura, llum, so, posició, acceleració, vibració, estrès, pes, pressió, humitat, etc.
- L'ordinador mínim es connecta al món exterior amb un enllaç de ràdio. Els enllaços de ràdio més comuns permeten que un node sensor transmeti a distàncies per sota dels 100 metres. El consum d'energia, la grandària i el cost són les barreres per a poder assolir distàncies més llargues. És un concepte fonamental que els nodes sensors siguin de mida petita (i un cost minúscul associat), per tant, la part de ràdio també és petita i de baixa potència. Les tècniques per a superar l'abast de 100 metres sacrifiquen característiques com la freqüència de mostratge (cada quan es fa una lectura del sensor o conjunt de sensors).
Passarel·les
Llistat de passarel·les comercials per LoRa
Computació a la vora (edge) i al núvol (cloud)
Edge Computing vs Cloud Computing: Key Differences
Webinar Wrap-up: Edge Computing Vs. Cloud Computing
Tècniques de comunicació
Portadora a 2,4GHz
WiFi, BlueTooth, ZigBee
Protocol MQTT
¿Qué es MQTT? Su importancia como protocolo IoT (Luis Llamas, 17 / 4 / 2019)
Portadora subgiga
LPWAN (LoRa, SigFox, NB-IoT)
Exemples de sistemes IoT complets
Ús de les dades generades pels sensors LoRaWAN i arquitectura del sistema. Rubí 2020
Polítiques d'accés just
Algunes reflexions sobre l'ús real de The Things Network
Monitoratge de passarel·les
Exemple de monitoratge d'una passarel·la (gateway) LoRaWAN mitjançant un bot de Telegram
Accés remot a dispositius sense sistema operatiu
Introducció a la placa IoT-02 (Codi del microprogramari instal·lat per defecte a la placa i el mateix codi a GitHub).
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
Pràctiques
Ús de l'Snap! amb MQTT
PrimerTast.xml Baixeu-vos-ho amb el botó dret del ratolí (Desa l'enllaç com a...)
I obriu-lo des de Snap! sense SSL
Font des del GitHub d'en Xavier Pi
Prova remota de la placa IoT-02
MAC de la placa remota feta servir avui: 7C9EBDE9B584
provaIoT02.xml Baixeu-vos-ho amb el botó dret del ratolí (Desa l'enllaç com a...). Cal obrir-ho des d' Snap! sense SSL
Microprogramari IoT-02_mqtts_10_dam per a provar la connexió MQTT amb la placa IoT-02 (un exemple de microprogramari fent servir MQTTS en comptes d'MQTT)
Flux de NodeRED per a provar la connexió MQTT amb la placa IoT-02 (Caldrà afegir l'usuari ecat i la contrasenya clotClot al broker. A l'exportar el flux no es copien per seguretat)
Ús del telèfon mòbil per trametre i rebre temes MQTT
Exemple de configuració de l'aplicació MQTT Dash
- Feu les modificacions necessàries a ascensor.xml per a controlar l'ascensor des del vostre telèfon mòbil.
Ús de Telegram en l'automatització de processos
Documentació
Com funcionen els nodes sensors
Ús de les dades generades pels sensors LoRaWAN i arquitectura del sistema. Rubí 2020