Pràctica 2. Dispositius IoT
Contingut
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:
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.
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.
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:
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ó:
Una vegada creada la nova xarxa la tindrem completament buida
Una vegada creats uns quants dispositius, podem configurar esdeveniments fent clic a cada un dels dispositius i clicant el '+' de dalt a la dreta:
Jo crearé un event on connect que envḯi un missatge quan es connecti i estigui a punt:
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.
Creo un altre dispositiu que representi un ordinador que va registrant tota l'activitat els sensors de la casa:
I el subscric al tòpic general casa/# perquè rebi tots els missatges publicats de qualsevol dispositiu de la casa virtual
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.
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ó
- Energia
- Sensors
- Cloud Computing
- Comunicació
- Integració de dispositius
- Estàndards
- Seguretat