Abstract $abstract$
+$endif$ +$body$ +$for(include-after)$ +$include-after$ +$endfor$ ++
From 08b845f792b407dcffe2effe83af12ca24cc61cc Mon Sep 17 00:00:00 2001
From: marcel $subtitle$ $date$ Abstract $abstract$ met hamnet verbinding 2024-02-03 Abstract Ik maak veel gebruik van het APRS netwerk:
+positiebepaling, telemetry en berichten versturen; ik doe het allemaal.
+Dit kan omdat ik dicht bij de Duitse grens woon: anders dan in Nederland
+waar het APRS netwerk dankzij lastige regelgeving nagenoeg is verdwenen,
+is in Duitsland het netwerk nog springlevend. Ik maak gebruik van Duitse
+digipeaters en iGates, die gewoon berichten vanaf het internet mogen
+doorzenden. Wat een geluk! Het enige wat ik nog niet kon, was
+weergegevens delen via het netwerk. Om daar verandering in te brengen
+heb ik een weerstation ontworpen dat elke 10 minuten een weerbericht kan
+uitzenden via het APRS netwerk. En omdat het systeem zo’n 100 meter van
+mijn huis in de acchtertuin staat, heb ik er ook een 5 GHz hamnet
+verbinding naar toe gemaakt, zodat ik het systeem op afstand kan
+bedienen. Het hamnet gebruik ik ook om de weermetingen naar mijn Grafana
+dashboard te sturen. Oh, en omdat twee beter is dan een heb ik er ook
+een 20KB/s hamnet link over 70cm LoRa als backup in geknutseld.$title$
+$if(subtitle)$
+
+APRS weerstation
+
Als uitgangspunt van het weerstation gebruik ik de SparkFun Weather +Meter. Dit is een kit met drie sensors: een windvaan, een anemometer en +een regenmeter. Deze kit heb ik aangevuld met sensors voor temperatuur, +luchtdruk en luctvochtigheid. Al deze sensors zijn rechtstreeks +aangesloten op een Arduino Mini Pro. Ik heb daar een RS-485 driverchip +en een ompoolbeveiliging aan toegevoegd. Het uiteindelijke schema is +hieronder te zien. Ingewikkeld is de hardware niet, want alle +fuctionaliteit zit in de software.
+ +Het weerstation is uit te lezen via een ModBus interface. Dit is een +industriestandaard, dus er zijn legio mogelijkheden om met het +weerstation te communiceren. De ModBus registers bevatten de meetwaarden +van de sensors en worden elke twee seconde ververst. Dit bepaald dus de +maximale uitleesfrequentie. De volgende gegevens zijn beschikbaar:
+Daarnaast zijn er nog een aantal statusregisters beschikbaar. Deze +worden besproken in de uitgebreide bouwbeschrijving die beschikbaar is +op mijn website.
+De luchtvochtigheidssensor kan bij een hoge luchtvochtigheid +verzadigd raken en zo blijven steken op 100%. Om dit te voorkomen is het +mogelijk om de sensor automatisch te laten verwarmen wanneer de +luchtvochtigheid langer dan een uur boven de 96% is. De verwarming wordt +dan elke 20 minuten voor 5 minuten aangezet. In de 15 minuten die +overblijven koelt de sensor weer af tot de omgevingstemperatuur. Dit +proces wordt heraald totdat de sensor weer een waarde beneden de 96% +aangeeft. Tijdens het opwarmen en afkoelen kan de luchtvochtigheid en +temperatuur maar eens in de 20 minuten worden gemeten. Dit is de prijs +die betaald moet worden wanneer we een goedkope luchtvochtigheidssensor +gebruiken.
+Om de weermetingen te kunnen uitzenden via het APRS netwerk is er een +2 meter FM zender (een oude Alinco portofoon) en een 1200baud modem (een +variant op het MicroModem van markqvist) nodig. En een computer om de +gegevens via de ModBus uit het weerstation te lezen en door te sturen +naar het modem. Een Raspberry Pi Zero 2W is daar perfect geschikt voor. +Deze is goedkoop, klein en verbruikt weinig energie. Omdat een APRS +weerstation ook zijn positie en tijd moet doorgeven om op de kaart gezet +te kunnen worden is er een GPS module via USB aangesloten op de +Raspberry Pi. Strikt genomen is de tijd niet noodzakelijk en omdat het +station vast is opgesteld kan de positie ook handmatig worden ingesteld, +maar een gps module voegt weer extra complexiteit toe en dat maakt het +project net weer wat interessanter. Een eenvoudig Python programma leest +het weerstation uit, vraagt de positie en de tijd van de gps ontvanger +op en construeerd het APRS frame dat uitgezonden moet worden. Dit frame +wordt vervolgens via de Linux AX.25 stack naar het modem gestuurd.
+Omdat APRS over LoRa op de 70cm band steeds poulairder wordt heb ik +ook een LoRa module op de Raspberry Pi aangeloten. Het weerbericht kan +zo ook via LoRa worden uitgezonden. De software hiervoor is een in +Python geschreven KISS interface. Via deze software kan de LoRa module +gekoppeld worden aan de AX.25 stack. De Raspberry Pi ziet het modem als +elk ander KISS compatible modem.
+Met een diplexer worden de signalen van beide zenders samengevoegd en +gaan zo naar een dualband antene.
+Het syteem kan autonoom werken, maar het is handig (en noodzakelijk) +om het systeem van afstand te kunnen bedienen en wanneer dat nodig is +ook uit te kunnen schakelen. Daarvoor heb ik een 5GHz HamLink tussen het +huis en het weerstation aangelegt. Op deze manier heb ik een snelle +netwerkverbinding naar de Raspberry Pi en kan ik via telnet inloggen en +het systeem bedienen. De verbindig wordt ook gebruikt om verbindig te +maken met het APRS-IS netwerk op het internet. Zo doet mijn weerstation +ook dienst als RX-only iGate voor zowel traditioneel APRS als LoRa APRS. +De HamNet link maakt gebruik van commercieel verkrijgbare schotels. Ik +gebruik apparatuur van Unifi Ubiquiti, maar apparatuur van Mikrotik is +even goed geschikt.
+De snelle netwerkverbinding is handig, maar wanneer het systeem +autonoom werkt is het wel een beetje een overkill, want de verbinding +wordt dan enkel gebruikt om APRS berichten door te sturen naar het +APRS-IS netwerk. Daarom heb ik ook nog een lage snelheid +netwerkverbinding geintegreerd. Deze heeft een doorvoersnelheid van iets +meer dan 20KB/s, wat genoeg is voor de toepassing. Het is zelfs mogelijk +om via deze langzame verbinding in te loggen via telnet. Dat gaat dan +wat trager, maar als backup is het prima geschikt. Zo heb ik twee +manieren om het systeem van afstand te beheren. De verbinding gaat over +LoRa via de 70cm band. Hiervoor gebruik ik een kant en klaar board, een +LilyGO TTGO T3 LoRa32 433MHz V1.6.1 ESP32. Hierop heb ik de Rnode +firmware van unsigned.io gezet. Met de bijbehorende Linux software +(tncattach) wordt dit een netwerkinterface onder Linux waarover ik het +netwerkverkeer kan leiden.
+Dit artikel is slechts een introductie van het APRS weerstation. Meer +informatie is te vinden op mijn website https://meezenest.nl/mees Daar +vind je uitgebreide documentatie en alle ontwerpbestanden en broncode +die je nodig hebt om zelf aan deslag te gaan.
+1200bd +modem: +https://www.meezenest.nl/mees-elektronica/packetmodem_nano.html
+LoRa KISS +software: https://git.meezenest.nl/marcel/RPi-LoRa-KISS-TNC
+Raspberry +Pi met LoRa module: +https://www.meezenest.nl/mees-elektronica/RPi_LoRa_shield.html
+Copyright (C) 2023, 2024 M.T. Konstapel - PE1RXF
+ +This work is licensed under a Creative Commons Attribution-ShareAlike +4.0 International License.
+