Dragino LHT65 als brievenbus sensor

Een Dragino LHT65 als brievenbus sensor inzetten

Alle begin is moeilijk, maar met het volgende stappenplan zult u snel uw eigen LoRa sensor online hebben. En we koppelen de sensor ook nog aan uw eventuele HomeAssistant platform!

Om u een beetje op weg te helpen met uw LoRa avontuur zal de website regelmatig worden aangevuld met meer LoRa sensoren. LoRa is niet alleen commercieel te gebruiken maar is ook heel handig voor huis&tuin toepassingen, gewoon als hobby, voor uw Domotica of omdat het interessante techniek is wat ook nog heel weinig stroom kost. Een Wifi apparaat gebruikt nu eenmaal beduidend meer stroom dan een LoRa apparaat. Ook is het bereik van een LoRa apparaat vele malen groter dan van WIFI, ZigBee, ZWave of 433Mhz apparaten. LoRa is een techniek waarbij kleine data pakketjes periodiek worden verstuurd. Denk daarbij aan sensor gegevens als de lichtsterkte, temperatuur, pH, druk, afstand (ultrasoon sensor), open/dicht stand van een schakelaar/magneet contact, PIR, etc..

LoRa wikipedia

Dragino LHT65 met extern magneetcontact als brievenbus sensor LoRaWAN
Stap 1 - Hardware setup

Behalve een LHT65 hebben we nog een magneetcontact nodig en een weerstand van 10 kΩ die we als pull-up weerstand gebruiken. Dit zorgt ervoor dat de sensor betrouwbaar de status van de brievenbusklep kan detecteren en rapporteren.

Aansluitschema:

  • Een kant van het magneetcontact verbind je met de PA4 van de LHT65.
  • De andere kant van het magneetcontact verbind je met GND.
  • Verbind een 10 kΩ weerstand tussen de PA4 en 3.3V.

Met deze pull-up configuratie wordt de GPIO-pin naar 3.3V (logisch 1) getrokken wanneer het magneetcontact open is. Wanneer het magneetcontact sluit, wordt de GPIO-pin naar 0V (logisch 0) getrokken, wat uw LHT65 zal detecteren.

Dragino sensor kabel Magneetcontact
Stap 2 - Interrupt instelling Dragino LHT65

Voor deze toepassing moeten we de LHT65 in interrupt 4,1 mode zetten (sent uplink packet in both rising and falling interrupt). Dit kunnen we doen via de meegeleverde seriële kabel en uw RX/TX-USB adapter m.b.v. Putty, het commando AT+EXT=4,1 op te geven. Dit kan overigens ook met behulp van een uplink commando in hexadecimale code naar FPort 2. Zie verder de Dragino Wiki voor alle details.

Dragino WIKI

Dragino LHT65 RX/TX-USB adapter & kabel
Stap 3 - Meldt u zich aan bij de TTN Sandbox

De TTN LoRa Sandbox is bedoeld voor iedereen die wil leren en experimenteren met LoRaWAN in een laagdrempelige en risicovrije omgeving. Allereerst dient u zich via de link aan te melden, maak een gratis account aan als u dat nog niet heeft: www.thethingsnetwork.org/get-started

TTN LoRa Sandbox
Stap 4 - Login op de TTN Sandbox console

Hier kunt u uw applicatie(s) en gateway(s) aanmaken/beheren.

Klik op Europe 1 cluster: Thethingsnetwork Console

TTN netwerk cluster Europe1 cluster
Stap 5 - Maak uw eerste applicatie aan

Start met de aanmaak van uw eerste applicatie. Elke applicatie moet een unieke ID krijgen, mocht de door u opgegeven ID al gebruikt zijn door iemand dan krijgt u daar een melding van en dient u iets anders te verzinnen. Ook geeft u er een naam aan en kunt u er eventueel een omschrijving bijzetten. Een voorbeeld:

LoRa applicatie
  • ID: hcc-homeassistant
  • Naam: Mijn HomeAssistant LoRa applicatie
  • Omschrijving: Mijn LoRa avontuur

U kunt aan een applicatie meerdere LoRa sensoren toevoegen, dat hoeft niet allemaal in één keer natuurlijk.

Stap 6 - Overview/End devices menu

In het hoofdmenu ziet u een aantal onderdelen, u kunt nu uw nieuwe LoRa sensor toevoegen. Dat kan zowel via het Overview menu als via het End devices menu. U zult daar in het begin geen devices zien, maar zodra u een nieuwe LoRa sensor toevoegt zult u deze zien verschijnen.

Sandbox overzicht menu Registreer apparaat
Stap 7 - Registreer en activeer uw LoRa sensor

Laten we nu de LoRa sensor toevoegen, klik op Register end device.

Registreer Dragino LHT65

Selecteer in de diverse keuze-lijsten de items zoals weergegeven in de bovenstaande afbeelding. De weergegeven Region moet overeenkomen met de werkfrequentie van de hardware. Het weergegeven Frequency plan wordt aanbevolen. Meer info over de diverse opties kunt u vinden via de bijbehorende vraagtekens.

Nadat u dit gedaan heeft dient u een hexadecimale code in het JoinEUI (App-EUI) veld in te vullen. De LHT65 wordt fabrieksmatig aangeleverd met geregistreerde codes, deze kunt u vinden op een sticker in het doosje van uw LHT65. Om uw LHT65 te kunnen registreren dient u deze codes gebruiken en moet u dus zelf geen codes verzinnen of genereren!

Zoals u hierboven ziet is het mogelijk om de DevEUI en de AppKey te genereren, dit kunt u bijvoorbeeld doen voor een TTGO T-Beam of ander mooi LoRa apparaatje waarbij dat niet al fabrieksmatig is ingebakken. Als laatste dient u nog een End device ID te verzinnen en in te vullen en op Register end device te klikken. Als u dit allemaal uitgevoerd heeft dan bent u gereed om de LoRa sensor te koppelen: gewoon even op het blauwe ACT-knopje op de zijkant van de LHT65 drukken, u ziet dan even een groen ledje branden en u zult in het Live data tabblad allerlei gegevens zien binnen komen op volgorde van datum&tijd. In onderstaande afbeelding een voorbeeld:

LoRa live data

Wat we het meest interessant vinden zijn natuurlijk de sensor gegevens, in het geval van onze sensor zijn dat de temperatuur, vochtgehalte, magneetsensor data en de status van de interne batterij. Dit alles wordt verpakt in de payload:

Gedecodeerde payload
Stap 8 - Maak een API key aan

Nu kunt u uw LoRa sensor data altijd bekijken in uw TTN Sandbox maar het is natuurlijk wel zo leuk als we de sensoren ook daadwerkelijk ergens voor kunnen gebruiken, het TTN platform biedt hiervoor diverse integraties aan. Om zo’n integratie te kunnen gebruiken hebben we in ieder geval een API key nodig. Deze kunnen we aanmaken via het API keys menu aan de linkerkant van de TTN console (zie afbeelding bij stap4). Geef de API key een naam, vul de gewenste verloopdatum in en vink alleen onderstaande opties aan. De optie View application information is hierbij optioneel.

TTN API sleutel

Klik vervolgens op Create API key, het volgende scherm zal verschijnen:

Kopieer API sleutel

U kunt nu de aangemaakte API key kopiëren en ergens veilig opslaan voor later gebruik.

Stap 9 - MQTT configuratie

Laten we nu even naar de MQTT gegevens kijken, deze zijn te vinden via het Integrations->MQTT menu aan de linkerkant:

MQTT integratie

U ziet dat alle benodigde gegevens al zijn ingevuld. Desgewenst kunt u een nieuw MQTT wachtwoord aanmaken door op de knop Generate new API key te klikken maar dat is eigenlijk niet nodig omdat we in de vorige stap al een hiervoor geschikte API key hebben aangemaakt.

U kunt met uw MQTT applicatie op twee manieren een verbinding met de TTN MQTT server maken: onversleuteld via poort 1883 en versleuteld via poort 8883 (TLS). Wellicht handig als u eerst even de verbinding met de MQTT server test, bijvoorbeeld met het mqtt-explorer programma.

Stap 10 - HomeAssistant & Nodered

Als u alle stappen met succes heeft doorlopen dan is het nu tijd dat we de sensor data daadwerkelijk gaan gebruiken. We nemen even aan dat u HomeAssistant gebruikt en dat u bekend bent met MQTT en dat ook al gebruikt.

De data van de TTN MQTT server kunt u binnen halen op een aantal manieren.

Met behulp van YAML:

Zet de volgende code in configuration.yaml en herstart HomeAssistant:

mqtt:
  broker: eu1.cloud.thethings.network
  port: 1883
  username: "[TTN Applicatie ID]"
  password: "[API key]"
  discovery: true
  discovery_prefix: homeassistant

Uiteraard dient u wel even uw TTN Applicatie ID en API key in te vullen.

Met behulp van de HomeAssistant thethingsnetwork integratie:

https://www.home-assistant.io/integrations/thethingsnetwork

(mooi maar te traag voor bijvoorbeeld een magneetcontact)

HA TTN integratie

Met behulp van de NODERED MQTT node:

https://flows.nodered.org/node/node-red-contrib-cayenne-mqtt-client

Stap 11 - Brievenbus TTN Sandbox sensor node

Na alle bovenstaande stappen doorlopen te hebben, willen we nu ook het werkend in HomeAssistant hebben:

Als u bekend bent met MQTT dan komt u er vast wel uit, maar bij deze even een voorbeeld hoe u deze MQTT sensor node kunt opzetten.

TTN Nodered node
Stap 12 - Benodigde HA-helpers

Voor onderstaande Nodered brievenbus logica heeft u nog een paar HomeAssistant helpers nodig.

HomeAssistant helpers
Stap 13 - LoRa data import

Als eerste dient u een MQTT node in stellen, het makkelijkste is dat met NodeRed, die verbinding maakt met uw TTN Sandbox (of uw eigen Chirpstack server).

TTN Nodered node
Stap 14 - Nodered flow

Uiteraard kunt u uw eigen brievenbus logica verzinnen, maar wellicht kunt u hier wat mee. Werking van de logica is als volgt: zodra er iets in de brievenbus wordt gestopt wordt er een notificatie gestuurd en wordt de postteller verhoogd. Zo kan men ook zien hoe vaak er wat is bezorgd. Zodra u de brievenbus geleegd heeft kunt u desgewenst de teller resetten. Zelf dit niet zo uitgevoerd maar optioneel zou u nog een extra magneetcontact kunnen gebruiken voor op het deurtje van de brievenbus en met behulp van een 2de GPIO poort en wat aanvullende logica deze reset automatisch laten uitvoeren.

Nodered flow

Download Letterbox nodered flow

Hiermee zijn we aan het eind van dit stappenplan, ik hoop dat u er wat aan gehad heeft!
← Terug naar loraAlle blogartikelen