El propòsit d'aquesta prova era crear una xarxa amb sensors Zigbee per monitorar temperatura i humitat utilitzant els mínims recursos però, a la vegada, tenir màxima flexibilitat a l'hora de processar les dades i interactuar amb el maquinari.
L'inspiració per a realitzar la configuració que es descriu és d'aquest article
Per dur a terme el laboratori s'ha utilitzat el següent maquinari:




El programari instal·lat a la raspberry Pi és el següent:
Instal·lar Mosquitto Després dels pertinents sudo apt update && sudo apt upgrade -y podem instal·lar Mosquitto des dels repositoris d'Ubuntu sudo apt-get install mosquitto mosquitto-clients Un broker MQTT permet enviar i rebre missatges curts entre dispositius. Per fer-ho tan sols haurem de tenir un servidor que està emetent els missatges i un altre que s'hi "subscriu". Els missatges s'agrupen en topics o "temes". Així un mateix broker pot tenir múltiples topics. De fet els topics es poden classificar jeràrquicament seguint l'estructura: topic1/subtopic1 topic1/subtopic2 etc.
Per provar el nostre broker MQTT podem obrir una altra sessió al mateix equip i escriure mosquitto_sub -h localhost -t test. Després des de la primera sessió escrivim mosquitto_pub -h localhost -t test -m "hello world" i el missatge ha d'adaparéixer al segon terminal.
Instal·lar Zigbee2MQTT
Configurar el coordinador Zigbee USB. En el nostre cas havíem d'indicar el nostre dispositiu que no és el mateix que s'indica a la documentació i afegir la línia adapter: ezsp a l'arxiu configuration.yaml . Queda com a la captura

I ja podem arrencar amb npm start
Zigbee2MQTT té una interfície web al port 8080 on afegirem els nostres sensors.

Per afegir-los tan sols hem de prémer el botó de reset que incorporen.
Escrivim $node-red al terminal i ja podem accedir per la interfície web al port 1880
També haurem d'instal·lar la "paleta" amb els blocs de zigbee2MQTT. Això es fa clicant Alt+Shift+P i anant a la pestanya Install
L'exemple de flux que he configurat són els següents:

Aquí el detall de configuració del node del Zigbee2MQTT

Com es veu a la imatge s'han creat 3 fluxes: El primer és per debugar i veure que tot va bé i els altres dos recullen les dades de cada sensor el converteixen a json i el desen a un arxiu. Com es veu els topics s'anomenen zigbee2MQTT/nom_del_sensor
Exemple de l'output:

La veritat és que amb una instal·lació simple es pot crear una xarxa Zigbee sense massa dificultat sense tenir que dependre de software propietari ni apps de mòbil. Evidentment la xarxa és extensible i les possibilitats que dona Node Red són immenses. A l'exemple tan sols s'han creat fluxes bàsics però existeixen blocs i paletes per a infinitat d'aplicacions.
Tota aquesta instal·lació es pot complementar amb una altre programari anomenat Home Assistant si el que es pretén és fer una instal·lació domòtica o de IoT a casa nostra. Aquesta distribució incorpora tot tipus de panells i interfícies gràfiques que es poden adaptar a dispositius tàctils.
Un dels punts a millorar, com he dit, són els fluxes de Node Red ja que els que he configurat eren bàsics per provar la funcionalitat que es demana que és la de crear una xarxa de sensors i recollir-ne els valors. Es podria afegir data i hora o altres paràmetres o automatitzacions.
Un altre punt millorable és la cobertura de la xarxa Zigbee. Crec que el model de dongle usb que he adquirit, al no portar antena, tenia una cobertura limitada i, entre els extrems de la casa, es perdia la cobertura dels sensors. Potser aquest és una millor opció però més cara.
Per úlltim quedaria com a millora implementar mesures de seguretat especialment al broker MQTT ja que la informació no està encriptada. Com el que volia era fer una prova no he invertot temps.
També s'haurien implementar mesures de seguretat a Node Red si el nostre servidor es troba exposat a internet.