Raspberry Pi Pico LoRa APRS KISS TNC
A mouth full, but a simple device. This is a KISS TNC, as used for packet radio and APRS, but equipped with a 70 cm LoRa radio. It can be used just as any other KISS TNCs with programs like aprx, yaac and xastir. Directly interfacing the software or via kissattach. It is also a successor of the Arduino APRS LoRa modem. It has 6 gpios and an I2C bus for interfacing sensors and sending telemetry over LoRa APRS. The KISS TNC is fully functioning, the Arduino APRS LoRa modem stack on the other hand is only available as a basic implementation in the code for you to play with. A basic example is provided: I designed a Power Distribution Box. You can send commands to the modem via LoRa APRS. The modem can switch four power supplies on and off. I also designed a version that switches 230V mains power sockets.
2023-01-13
Control via MQTT
The APRS modem can work as a stand alone unit. It does no longer acts as a KISS modem, but rather as a PE1RXF telemetry device (more information). I use these nodes not as data loggers (yet), but as digital control units, switching on and off remote devices like 5GHz PtP dishes and servers. Because LoRa has a large range, I can remotely control the nodes over great distances. Far greater than WiFi or Zigbee. The control messages are send via the ham radio APRS network, so you can only copy my design if you are a licenced ham radio operator.
In order to integrate this design into Home Assistant I wrote a small piece of Python code, which implements an MQTT to APRS bridge. You can publish messages on your MQTT broker and this program will translate these requests into the proper APRS messages needed. The program is configurable by a YAML-file and runs on any Linux system as long as the AX.25 stack is properly configured (and a LoRa APRS modem is connected, for example the Raspberry Pi Pico LoRa APRS KISS TNC or you can use the Raspberry Pi Zero LoRa shield I’ve designed (https://www.meezenest.nl/mees-elektronica/RPi_LoRa_shield.html).