Gegroet medetweakers! Na veel denk- en zoekwerk kom ik niet verder in deze uitdaging, dus hopelijk heeft iemand hier ervaring mee en kunnen we de weg wat gladstrijken voor toekomstige tweakers.
Wat is het probleem?
Hoewel er genoeg documentatie en voorbeelden beschikbaar zijn voor het bouwen van een ESP8266 smart home sensor, is het WiFi protocol vrij energie-intensief en zal een sensor niet lang draaien op batterijen. Tegelijkertijd is het Zigbee protocol veel zuiniger en daardoor geschikter om te gebruiken om de data van een sensor te verzenden vanaf een plek waar geen netspanning beschikbaar is. Echter is er zo goed als geen documentatie beschikbaar over hoe je Zigbee gebruikt in combinatie met Arduino.
Wat is de situatie?
Mijn smart home bestaat uit de volgende componenten:
Oplossingsrichtingen
De volgende oplossingsrichtingen heb ik bedacht:
Wat is het probleem?
Hoewel er genoeg documentatie en voorbeelden beschikbaar zijn voor het bouwen van een ESP8266 smart home sensor, is het WiFi protocol vrij energie-intensief en zal een sensor niet lang draaien op batterijen. Tegelijkertijd is het Zigbee protocol veel zuiniger en daardoor geschikter om te gebruiken om de data van een sensor te verzenden vanaf een plek waar geen netspanning beschikbaar is. Echter is er zo goed als geen documentatie beschikbaar over hoe je Zigbee gebruikt in combinatie met Arduino.
Wat is de situatie?
Mijn smart home bestaat uit de volgende componenten:
- Een Raspberry Pi met daarop (1) Home Assistant, en (2) een Conbee II stick die dient als controller van een Zigbee netwerk. Op deze stick draait standaard een Phoscon app.
- Een aantal kant-en-klare Zigbee sensoren. Deze zijn gekoppeld met de Conbee II stick via de Phoscon interface, en vervolgens beschikbaar in Home Assistant.
- Een aantal zelfgemaakte ESP8266 sensoren aan netspanning.
- Overige componenten die nu niet relevant zijn.
Oplossingsrichtingen
De volgende oplossingsrichtingen heb ik bedacht:
- Arduino Nano 33 BLE. Deze Arduino bevat een chip van het type nRF52840 die het Zigbee protocol ondersteunt. Echter lijken er geen Arduino libraries beschikbaar om die Zigbee functionaliteit daadwerkelijk te benutten. Wel kwam tegen dat dit via de NRF5 SDK kan, maar hiervoor moet je de Arduino bootloader overschrijven en daar ben ik niet comfortabel genoeg mee.
- Normale Arduino Nano i.c.m. CC2530 UART. De CC2530 UART is een module die ik op de Arduino Nano aansluit om via de UART serial connection over het Zigbee protocol te verzenden/ontvangen. In mijn opzet is de CC2530 module aangesloten op twee poorten van de Arduino Nano, zeg D2 en D3, om zo via SoftwareSerial de sensordata over Zigbee te verzenden. Hier loop ik vast bij het pairen van de CC2530 module met de Conbee II stick in mijn Raspberry Pi. Het lijkt erop dat de Conbee II stick alleen erkende sensoren ondersteunt, en dus geen zelfbouw-sensoren. Daardoor krijg ik de CC2530 module niet in het bestaande Zigbee netwerk opgenomen.
- CC2530 by proxy. Er is wel documentatie over hoe je data van de ene CC2530 module naar de andere verstuurt. Op eerste gezicht lijkt dit met de Xbee-Arduino library te lukken, al heb ik het nog niet getest. Ik zou de sensordata vanuit de badkamer via UART naar de eerste CC2530 module kunnen sturen, en laten consumeren door een tweede CC2530 module die ik aan één van mijn ESP8266 sensoren met netspanning toevoeg, waarna de data via WiFi naar de Raspberry Pi wordt verzonden. Het nadeel hiervan is dat mijn sensor nu afhankelijk is van een tweede sensor, en niet beschikbaar is wanneer deze tweede sensor uitvalt of in onderhoud is.