Pràctica 2. Dispositius IoT

De Lordwektabyte Wiki
Salta a la navegació Salta a la cerca

Guillem Solà i Boeck

Part 1. Protocol MQTT (Mosquitto)

Simular la comunicació de sensors i servidor mitjançant el protocol MQTT

Subscripcions

  • Subscripció a tota la casa independentment del sensor
  • Subscripció a totes les habitacions independentment del sensor
  • Subscripció al sensor de llum de l’habitació HAB1

Publicacions

  • Encén llum HAB1
  • Encén llum HAB2
  • Encén Presencia CUINA

Experimenta amb altres configuracions de subscriptions i casos de publicació que tu vulguis relacionats amb l’estructura anterior

Solució

He instal·lat mosquitto des dels repositoris per defecte d'Ubuntu 16

sudo apt install mosquitto

Aleshores he engegat el servei i l'he activat a l'arrencada amb

systemctl start mosquitto
systemctl enable mosquitto

Per a poder disposar de les comandes mosquitto_pub i mosquitto_sub haurem d'instal·lar el paquet mosquitto-clients

sudo apt install mosquitto-clients

A partir d'aquí podem començar a fer les nostres proves:

Faig una subscripció al tema exemple-topic des del terminal de la dreta


Faig una publicació al tema exemple-topic amb el missatge Vull un 10 des del terminal de l'esquerra


El terminal de la dreta, subscrit al tema on he publicat el missatge, rep els missatges que vagi enviant en aquell tema


Tornant a l'enunciat, i amb l'esquema jeràrquic a mà, obriré 3 terminals que se subscriguin a cada punt que es demana i el 4t serà el que publiqui els avisos. D'aquesta manera veurem com cada subscriptor rep o no els missatges en funció del nivell on estigui subscrit.

Situació inicial: els 3 terminals subscriptors subscrits cadascú a la zona on es demana


El primer missatge ha arribat a tots els terminals ja que:

  • El primer està subscrit a tot el que passa a la casa.
  • El segon està subscrit a tot el que passa a les habitacions.
  • El tercer està subscrit concretament al llum de l'HAB1 que hem encès.

El segon missatge ha arribat només al primer i segon terminal:

  • El primer està subscrit a tot el que passa a la casa.
  • El segon està subscrit a tot el que passa a les habitacions
  • El tercer NO està subscrit a nivell d'habitacions.

El tercer missatge només ha arribat al primer terminal perquè:

  • El primer està subscrit a tot el que passa a la casa.
  • El segon està subscrit només al que passa a les habitacions; NO pas al que passa a la cuina.
  • El tercer només està subscrit a l'estat del llum de l'HAB1.
Situació final: els missatges publicats pel terminal 1 han arribat selectivament als subscriptors configurats


Part 2. IoT Simulator

Heu de crear la vostra pròpia xarxa de Iot Devices i simular events

  • A una màquina virtual UBUNTU heu de tenir instal·lat MYSQL i Mosquitto Broker.
  • Al campus virtual us haureu de baixar el BEVYWISE IoT Simulator per instal·lar al vostre UBUNTU.
  • Abans de posar-ho en marxa haureu de posar la contrasenya de root del mysql al fitxer de configuració del IoT Simulator segons marca el següent link:
https://www.bevywise.com/iot-simulator/help-document/

Solució

Quan descarreguem i instal·lem el Bevywise tenim una GUI web amb una xarxa de dispositius IoT predefinida que podem eliminar i crear-ne una de nova per a la nostra simulació:

Mosquitto6.png


Una vegada creada la nova xarxa la tindrem completament buida

Mosquitto7.png


Podem afegir dispositius nous amb el botó


Afegim un altre dispositiu


Una vegada creats uns quants dispositius, podem configurar esdeveniments fent clic a cada un dels dispositius i clicant el '+' de dalt a la dreta:

Mosquitto10.png


Jo crearé un event on connect que envḯi un missatge quan es connecti i estigui a punt:

Mosquitto11.png


Per l'altra banda, configurarem el dispositiu Extintor cuina se subscrigui als missatges del detector de fum. Això simularia un control d'incendis, per exemple.

Mosquitto12.png


Aquí mostro com el missatge publicat pel sensor de fum de la cuina és rebut pel dispositiu extintor


Creo un altre dispositiu que representi un ordinador que va registrant tota l'activitat els sensors de la casa:

Mosquitto.14.png


I el subscric al tòpic general casa/# perquè rebi tots els missatges publicats de qualsevol dispositiu de la casa virtual

Mosquitto15.png


Per acabar, he configurat els dispositius de Presència de les habitacions perquè publiquin missatges a casa/habitacions/HABX. Finalment, comprovo com el PC_registre rep tots els missatges ja que està subscrit a tot el que passa al topic casa i els seus subtopics.

Mosquitto16.png


Part 3. Tecnologies subjacents a IoT

L'aplicació amb èxit del concepte IoT en el món real és possible gràcies als avenços en les tecnologies subjacents

Analitza fent un resum amb les teves paraules com han de ser les tecnologies subjacents de IoT i quina visió creus que han de tenir com a paper que hauran de jugar a la IoT respecte a:

  • Energia
  • Sensors
  • Cloud Computing
  • Comunicació
  • Integració de dispositius
  • Estàndards
  • Seguretat

Solució