You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
143 lines
8.4 KiB
143 lines
8.4 KiB
11 months ago
|
---
|
||
|
title: APRS digipeater
|
||
|
subtitle: with weather and PE1RXF telemetry server
|
||
|
author: M.T. Konstapel
|
||
|
date: 2024-02-14
|
||
|
website: https://meezenest.nl/mees/
|
||
|
page_back: https://meezenest.nl/mees/aprs_digipeater.html
|
||
|
logo: ./images/mees_logo.svg
|
||
|
pdf_version: ./aprs_digipeater.pdf
|
||
|
git_repo: https://git.meezenest.nl/marcel/aprs_digipeater
|
||
|
numbersections: true
|
||
|
# Formatting:
|
||
|
geometry: "a4paper, left=2.0cm, right=2.0cm, top=1.9cm, bottom=2.54cm"
|
||
|
abstract: >
|
||
|
This project is a collection of former (and some new) projects connected together to make an APRS digipeater, which doubles as an APRS weather station, with PE1RXF telemetry server capabilities.
|
||
|
---
|
||
|
|
||
|
![Block diagram of digipeater](./images/block_diagram_overview.svg "Block diagram ofdigipeater")
|
||
|
|
||
|
# The story
|
||
|
|
||
|
For several years I operate an APRS iGate on both 2 meter and 70 cm LoRa. I added my own PE1RXF telemetry support (see: [https://www.meezenest.nl/mees-elektronica/aprs_telemetry.html](https://www.meezenest.nl/mees-elektronica/aprs_telemetry.html)). This worked fine, but I already had designed an updated version of the iGate. The prototype worked, but had some issues. So I kept using the old iGate and forgot all about the new version.
|
||
|
|
||
|
Some time ago I started to design a weather station ([https://www.meezenest.nl/mees-elektronica/weather_station.html](https://www.meezenest.nl/mees-elektronica/weather_station.html)) which I located in the back garden. Because it was out of reach of my wifi network, I used the APRS iGate prototype to send the weather data via its build in LoRa modem to my PE1RXF telemetry server.
|
||
|
|
||
|
Than the idea of relocating my existing iGate to the location of my weather station emerged. The weather station had all the hardware I needed build in. And it made sense to combine the two systems, as both handle APRS traffic. Besides, both systems use energy so shutting one down seems sensible.
|
||
|
|
||
|
But the reason I used the APRS iGate prototype in the first place, namely the absence of wifi, became a problem again. An APRS iGate has to have access to the internet, that's the whole point! But the amount of data it sends is small, so I didn't need lots of bandwidth. And at that point another dormant project woke up: I always wanted to experiment with TCP/IP over the air. In the past I did some experiments with TCP/IP over AX.25 (packet radio), but the 1200 baud modems were simply too slow. I also had build a 5GHz HamNet link, but 350 Mbit/s is quite the overkill. I needed a link speed between 15kB/s to 500kB/s. The Rnode project from [https://unsigned.io/hardware/RNode.html](https://unsigned.io/hardware/RNode.html) seemed perfect.
|
||
|
|
||
|
# The design
|
||
|
|
||
|
## Weather station
|
||
|
|
||
|
This project started with a weather station. I designed it as a stand alone weather station with an RS-484 ModBus interface. It can measure wind speed, wind direction, rain fall, humidity, air pressure and temperature. The complete build document of the weather station can be found here: [https://www.meezenest.nl/mees-elektronica/projects/weather_station/build_doc/weather_station.html](https://www.meezenest.nl/mees-elektronica/projects/weather_station/build_doc/weather_station.html)
|
||
|
|
||
|
![Weather station](./images/weather_station_sensors_small.jpg "Weather station")
|
||
|
|
||
|
## Brains
|
||
|
|
||
|
Although stand alone in operation, to read the measurements the weather station must be connected to a host via RS-485. This host is a Raspberry Pi LoRa shield I designed to be the successor of my first APRS iGate. It is a simple PCB with room for a Raspberry Pi Zero 2 W, a LoRa transceiver, a real time clock and a power supply.
|
||
|
|
||
|
![Raspberry Pi LoRa shield prototype](./images/RPi-LoRa-shield_prototype.jpg "Raspberry Pi LoRa shield prototype")
|
||
|
|
||
|
![Raspberry Pi LoRa shield schematic](./images/RPi-LoRa-shield_schematic.png "Raspberry Pi LoRa shield schematic")
|
||
|
|
||
|
[PDF version of schematic](./images/RPi-LoRa-shield_schematic.pdf)
|
||
|
|
||
|
## Peripherals
|
||
|
|
||
|
The Raspberry Pi need some extra hardware for interfacing the various peripherals, like the transceiver, the ModBus and the Rnode modem.
|
||
|
|
||
|
### USB hub
|
||
|
|
||
|
As the Raspberry Pi only has one USB port, a hub is essential. I used an old one I had laying around. Taken out of its case, it fits perfectly.
|
||
|
|
||
|
### RS-485 dongle
|
||
|
|
||
|
To interface with the weather station a USB to RS-485 dongle is needed. A cheap one from Joy-IT ([https://joy-it.net/en/products/SBC-TTL-RS485](https://joy-it.net/en/products/SBC-TTL-RS485)) is fine.
|
||
|
|
||
|
![RS-485 dongle](./images/rs-485_dongle.webp "RS-485 dongle")
|
||
|
|
||
|
### 1200 baud APRS modem
|
||
|
|
||
|
This modem I also had laying around. It is called "Packet modem nano 2" and it is based on the Micromodem from unsigned.io ([https://unsigned.io/hardware/MicroModem.html](https://unsigned.io/hardware/MicroModem.html)). The design files for this modem are part of this project and can be found in the git repository.
|
||
|
|
||
|
![Packet modem nano 2](./images/packetmodem_nano2_pcb_small.jpg "Packet modem nano 2")
|
||
|
|
||
|
![Packet modem nano 2 schamatic](./images/packetmodem_nano2_rev2.png "Packet modem nano 2 schematic")
|
||
|
|
||
|
[PDF version of schematic](./images/packetmodem_nano2_rev2.pdf)
|
||
|
|
||
|
### Rnode modem
|
||
|
|
||
|
For the low speed network link I use the Rnode project from [https://unsigned.io/hardware/RNode.html](https://unsigned.io/hardware/RNode.html). This is an amazing project and I only use a small part of the features available. In my ow project is works as a KISS compatible LoRa modem. Together with the tncattach program ([https://unsigned.io/software/tncattach.html](https://unsigned.io/software/tncattach.html)) it forms a Linux network adapter over which I can route all the network traffic. The maximum speed is just above 20 KB/s, which is enough for APRS-IS traffic. For archival reasons, I included the source code of tncattach as well as rns (the firmware and configuration utility) in the git repository.
|
||
|
|
||
|
The hardware on which the Rnode firmware is flashed is a LilyGO LoRa32 v2.1 (also known as TTGO T3 v1.6.1). Of course you need at least two boards to form a network. With a good antenna, the range is easily 100 meters (and probably more than 1 km), which is plenty enough for what I need.
|
||
|
|
||
|
![LilyGO LoRa32](./images/lilygo-ttgo-lora32.jpg "LilyGO LoRa32")
|
||
|
|
||
|
## More than brains alone
|
||
|
|
||
|
The Raspberry Pi with all the extra hardware is housed in a small plastic housing. On the back panel behind the SMA connectors and the power jack, I placed a copper strip. This acts as the start grounding strip on which all other ground wires are connected. This prevents a lot of RF and EMC problems.
|
||
|
|
||
|
![Inside the brains](./images/raspberry_pi_proto_small.jpg "Inside the brains")
|
||
|
|
||
|
[Large version of photo](./images/raspberry_pi_proto.jpg)
|
||
|
|
||
|
![Back side](./images/raspberry_pi_proto_backside.jpg "Back side")
|
||
|
|
||
|
## External hardware
|
||
|
|
||
|
### 2 meter transceiver
|
||
|
|
||
|
The 2 meter transceiver is an old Alinco DJ-580 hand held radio with an output power of 5 Watt. It is connected to both the 5 pin DIN connector and the 12 Volt barrel jack on the Raspberry Pi.
|
||
|
|
||
|
![Alinco DJ-580](./images/alinco_dj580t.jpg "Alinco DJ-580")
|
||
|
|
||
|
### Diplexer
|
||
|
|
||
|
The LoRa APRS transceiver (70cm) and the APRS transceiver (2m) are connected to a triplexer, making it possible to use one dual band antenna for both radios. Why a triplexer? Well, I had one laying around. I terminated the unused 1200MHz connector with a 50 Ohm load. But a diplexer would have been sufficient, of course.
|
||
|
|
||
|
![Triplexer](./images/triplexer.png "Triplexer")
|
||
|
|
||
|
### Antenna
|
||
|
|
||
|
This is a simple 2m/70cm dual band antenna from Diamond, the X30.
|
||
|
|
||
|
![Antenna](./images/diamond-x30.jpg "Antenna")
|
||
|
|
||
|
# The build
|
||
|
|
||
|
## Software
|
||
|
|
||
|
The instalation of all the needed software on the Raspberry Pi is complicated, so I wrote a separate document: [installation_pe1rxf_aprs_weather_server.html](./installation_pe1rxf_aprs_weather_server.html)
|
||
|
|
||
|
# The specifications
|
||
|
|
||
|
- 2 meter transceiver with 5 Watt output power
|
||
|
- 70 cm LoRa transceiver with 20 dBm output power
|
||
|
- Raspberry Pi Zero 2 W
|
||
|
- APRS cross band digipeater software
|
||
|
- Weather station via ModBus
|
||
|
- Rnode TCP/IP over 70 cm LoRa for internet
|
||
|
|
||
|
# License
|
||
|
|
||
|
Copyright (C) 2023, 2024 M.T. Konstapel
|
||
|
|
||
|
[https://meezenest.nl/mees/](https://meezenest.nl/mees/)
|
||
|
|
||
|
The software is published as open-source software (GPL). The hardware is published as open-source hardware (OSH).
|
||
|
|
||
|
## Software
|
||
|
|
||
|
This program is free software: you can redistribute it and/or modify
|
||
|
it under the terms of the GNU General Public License as published by
|
||
|
the Free Software Foundation, either version 3 of the License, or
|
||
|
(at your option) any later version.
|
||
|
|
||
|
## Hardware and documentation
|
||
|
|
||
|
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
|