Partnership

Eine fruchtbare Zusammenarbeit

BlueRange, RuuviTags, Ruuvi Station und FruityMesh (WIP)

Meine Großmutter ist eine begeisterte Gärtnerin. Nach einigen besonders kalten Tagen und Nächten begann sie sich zu fragen, wie kalt es eigentlich in ihrem Gewächshaus wurde. Als sie mir von ihren Sorgen um ihre geliebten Pflanzen erzählte, dachte ich sofort an den RuuviTag. Die All-in-One, Open-Source-Hardwarelösung für batteriebetriebene Sensor-Beacons. Zusammen mit der Ruuvi Station-App, die die Sensordaten direkt auf ihrem Smartphone leicht zugänglich macht, schien dies ein guter Plan zu sein, um sich um ihre Pflanzen zu kümmern.

Also gingen wir voran und platzierten einen RuuviTag im Gewächshaus und aus Neugier auch einen in der Garage und einen auf dem Dachboden. Leider reichte das Signal vom Gewächshaus nicht bis zu ihrem Schreibtisch oder dem Sofa im Wohnzimmer – wahrscheinlich wegen der großen Entfernung zum Gewächshaus und den dicken Betonwänden des Hauses. Die anderen RuuviTags aktualisierten jedoch fröhlich ihre Sensordaten auf ihrem Telefon.

Lass sie kommunizieren!

Eine Lösung wäre, dass sie zum Gewächshaus geht und einen Moment wartet, bis die Sensorwerte durchkommen, aber … das erscheint mir nicht besonders benutzerfreundlich. Wir könnten das Ruuvi Gateway verwenden – ein weiteres Produkt von Ruuvi – es in Reichweite des RuuviTags im Gewächshaus platzieren, die Sensordaten auf eine Protokollierungsplattform leiten und daraus eine schöne historische Ansicht erhalten. Aber leider hatten wir kein Gateway zur Hand.

Also könnten vielleicht die Sensoren untereinander Daten austauschen – und da ich gerade als Softwareingenieur bei BlueRange bei MWAY angefangen hatte, wusste ich genau, wie wir das erreichen könnten: FruityMesh, das energieeffiziente Mesh-Netzwerk basierend auf Bluetooth Low Energy 4.1-Verbindungen. Es ermöglicht, dass mehrere Knoten automatisch ein Mesh-Netzwerk bilden, das das Senden von Daten von einem Knoten zum anderen unabhängig von ihrem physischen Standort möglich macht.

Der RuuviTag integriert den BME280 Temperatur-, Feuchtigkeits- und Drucksensor von Bosch Sensortec. Wenn die Sensorwerte an einem Knoten genommen werden, senden wir sie an alle anderen Knoten im Mesh-Netzwerk und stellen sie für eine Übertragung im Format, das die Ruuvi Station-App erwartet, in die Warteschlange. Indem wir die Knoten zu Proxys füreinander machen, sind wir plötzlich in der Lage, die Sensordaten des Gewächshauses über die RuuviTags in der Garage und auf dem Dachboden zu empfangen.

Das Senden der Daten wird mit einer speziellen Funktion des SoftDevices erreicht, insbesondere mit der Radio Timeslot API, die es der Firmware ermöglicht, direkten Zugriff auf das Radio-Peripheriegerät kooperativ zu planen, ohne mit dem von FruityMesh verwendeten Bluetooth Low Energy-Stack zu interferieren.

Zusammenfügen

Anwendungsebene-Funktionalität in FruityMesh wird in Form von Modulen implementiert. Sie bieten persistenten Speicher für Konfigurationswerte, können mit anderen Knoten sprechen, indem sie die Funktion SendModuleActionMessage aufrufen, und werden über den MeshMessageReceivedHandler über eingehende Nachrichten informiert. Die Peripheriegeräte und der Bluetooth Low Energy-Stack werden über eine Hardware-Abstraktionsschicht zugegriffen, was das Portieren einer Anwendung auf verschiedene Chipsätze und Boards erheblich erleichtert. FruityMesh verwendet das nRF5 SDK 14 für nRF52832 SOCs und das SDK 15 für nRF52840 SOCs mit unterschiedlichen SoftDevices. Als Beispiel kann die unten beschriebene Implementierung nicht nur auf dem RuuviTag, sondern auch auf dem nRF52840-DK verwendet werden, allerdings ohne die Sensorwerte.

Die erforderliche Funktionalität wurde im RuuviWeatherModule implementiert. Einerseits nimmt es die Sensorwerte, bereitet sie vor und sendet sie durch das Mesh zu jedem anderen Knoten. Andererseits empfängt es die Messungen von den anderen Mesh-Knoten, stellt sie in die Warteschlange und sendet sie schließlich im richtigen Format für die Ruuvi Station-App. Die Aufteilung dieses Moduls in zwei Teile, um die Single-Responsibility-Regel zu beachten, bleibt unseren begeisterten Lesern überlassen.

Um FruityMesh auf dem RuuviTag zu verwenden, können Sie den Anweisungen folgen, um die Firmware zu kompilieren und manuell zu flashen. Stellen Sie sicher, dass Sie das Feature-Set prod_ruuvi_weather_nrf52 verwenden. Wir sind aktiv dabei, DFU und den auf Ihrem RuuviTag vorhandenen Bootloader zu nutzen, um die FruityMesh-Firmware zu flashen, aber der Unterschied in den SoftDevice-Versionen zwischen dem FruityMesh und der Ruuvi-Firmware war ein Stolperstein. Derzeit haben Sie zwei Möglichkeiten, die Firmware zu flashen: entweder verwenden Sie das Devkit, das bei weitem die einfachste Option ist, oder Sie benötigen einen SEGGER JLink – z. B. den auf dem nrf52-DK oder dem nrf52840-DK (aber nicht dem Dongle) – und die erforderlichen Kabel, um den Standard-10-Pin-ARM-Cortex-Debug-Anschluss (RuuviTag Rev. B1 – B5) oder TC2030 TagConnect (RuuviTag Rev. B6 – B7.1) zu erreichen. Mehr über das Flashen finden Sie im Tutorial für FruityMesh.

Mit BlueRange und FruityMesh auf den RuuviTags kann meine Großmutter jetzt schnell die Temperatur, relative Luftfeuchtigkeit und den atmosphärischen Druck auf dem Dachboden, in der Garage und im Gewächshaus im Garten vom Sofa im Wohnzimmer aus überprüfen – ohne die Treppe hinaufgehen, über vereiste Gartenwege laufen, durch Regen und anderes Wetter gehen zu müssen.

Die BlueRange-Plattform von BlueRange ist hauptsächlich für intelligente Gebäudeautomation und Asset-Tracking-Anwendungen konzipiert und bietet die Möglichkeit, die Gebäudeinfrastruktur automatisch zu überwachen und zu steuern, basierend auf umfassenden Sensordaten. Darüber hinaus kann die Plattform eine ‘Echtzeit’-Verfolgung von Ausrüstung, Material und Personal über drahtlose Tags, die mit dem Mesh verbunden sind, und von dort zum zentralisierten Management-Portal durchführen.

BlueRange wurde entwickelt, um intelligente und drahtlose Gebäude zu ermöglichen und die Flexibilität der Gebäudenutzung zu erhöhen. Laut Unternehmen ist es die ideale Technologie zur Digitalisierung von Büroflächen, Produktionsstätten, Hotels, Einkaufszentren und mehr. BlueRange verbindet Gebäude und Benutzer und ermöglicht es ihnen, Lichter, Jalousien und Temperaturen intuitiv über mobile Geräte zu steuern.

Bluetooth LE-Ökosystem

BlueRange besteht aus einem Ökosystem von Drittanbieter-Hardware ‘BlueRange Ready’ – einschließlich Bluetooth LE-Asset-Tags, Umweltsensoren, Leuchten, Schaltern und HVAC-Steuerungen – einem Hochdurchsatz-Open-Source-Bluetooth-LE-basierten Mesh-Protokoll und einem nRF52832 SoC-ausgestatteten Gateway zu einem Backend-Server-Cluster und Management-Portal. Die ‘BlueRange Ready’-Komponenten umfassen Geräte, die bereits mit der BlueRange-Firmware vorinstalliert sind. Sie werden in Beleuchtungslösungen wie dem Vossloh-Schwabe ‘Blu2Light’-System, dem Regent ‘Lightpad’ und dem Waldmann ‘Yara’-Leuchtkörper sowie HVAC-Controllern wie dem Belparts ‘DXN6_B’ verwendet. Weitere Komponenten umfassen Asset-Tracking-Tags wie das ‘BlueRange Tag A1’, den ‘BlueRange CO2-Sensor C1’ powered by Enerthing, den ‘BlueRange Mesh Node R2’ sowie den nRF52840 SoC-betriebenen ‘BlueRange USB Dongle U1’.

In einer typischen Anwendung für Gebäudeautomation werden die Beleuchtungs-, Bewegungs-, Temperatur- und andere Sensoren im BlueRange Mesh über die ‘BlueRange Admin’-App auf einem Bluetooth 4.0 (und später) Smartphone oder Tablet bereitgestellt. Das Open-Source-BlueRange Mesh ist ein bidirektionales Mesh, das auf Scatter-Net-Logik basiert, zeitlich gesteuert und gerichtet durch einen selbstfindenden, -erhaltenden und -heilenden Algorithmus. Dieses auf Open-Source-Verbindungen basierende Mesh-Protokoll, FruityMesh genannt, ist auch auf GitHub verfügbar und bietet einen sehr hohen Durchsatz, einen geringeren Energieverbrauch und andere Vorteile im Vergleich zu konkurrierenden Lösungen.

Die Mesh-Knoten senden Sensordaten an das zentrale Gateway des Mesh-Netzwerks, das die Daten wiederum über standardisierte Technologien wie Representational State Transfer (REST) und Message Queuing Telemetry Transport (MQTT) basierend auf Transmission Control Protocol/Internet Protocol (TCP/IP) an das BlueRange Portal weiterleitet. Das Portal ermöglicht es dem Benutzer, Sensordaten auf Gebäude-, Stockwerk- oder individueller Raumebene zu überprüfen sowie Netzwerk- und Gerätemanagementbefehle auszuführen. Diese Befehle werden über das nRF52832 SoC-ausgestattete Gateway an die relevanten Mesh-Knoten weitergeleitet, um Aufgaben wie das Anheben oder Senken der HVAC-Temperaturausgabe oder der Helligkeit in bestimmten Gebäudezonen auszulösen.

Flexible Beleuchtungssteuerung und Gebäudeautomation

Ein wichtiger Vorteil von BlueRange ist eine leistungsstarke und flexible Beleuchtungssteuerung. BlueRange Ready-Leuchten, die das Digital Addressable Lighting Interface (DALI) verwenden, ermöglichen eine drahtlose Konfiguration und Steuerung durch ihre Konnektivität. Basierend auf Belegungssensoren stellt die BlueRange-Hardware eine automatische Beleuchtungssteuerung für einzelne Leuchten und Beleuchtungsgruppen sicher. Darüber hinaus bietet BlueRange auch eine Option für die einfache Integration von Gebäudeautomationskomponenten unter Verwendung von Industriestandards wie KNX oder BACnet.

Join the Evolution