qrz.is/content/post/hr50-remote-display.md
2021-12-13 11:03:00 +01:00

43 lines
1.9 KiB
Markdown

---
title: "Hardrock-50 Remote Display"
type: post
author: micha
date: 2021-11-12T11:00:00+01:00
tags:
- Ham Radio
- Hardware
- Python
- ESP32
url: /hardrock50-remote-display/
---
UPDATE: I moved the client and the server into one repository: https://git.qrz.is/clemens/hr50-remote-display. It furthermore now supports user actions via a button.
Original post:
I am using my [Hardrock-50](https://qrz.is/building-the-hardrock50/) as part of a remote station so I am of course not able to monitor its display which shows the selected band, keying method, temperature, SWR, power etc. Since I need/want this information and also prefer a physical display, I made two little projects that can be combined together:
### HR50-API
This is a small python script that connects from e.g. a Raspberry Pi to the HR50 via USB. When it is started, it spawns a web server which then provides two API endpoints in your network. Those endpoints can be queried via HTTP requests to:
* remotely gather information from the HR50
* remotely execute commands
It is basically a serial to HTTP converter. You can find more information here: [https://git.qrz.is/clemens/hr50-api](https://git.qrz.is/clemens/hr50-api)
### HR50-Remote-Display
This project consists of a Arduino sketch that can be flashed to a ESP32 module with OLED display and wifi connectivity. It uses the above mentioned API to gather information from the HR50 over wifi and displays them on the OLED.
![hr50-diagram.jpg](/img/hr50-diagram.jpg)
This is how the device looks like in action:
![hr50-remote-display.jpg](/img/hr50-remote-display.jpg)
I plan to add buttons so that e.g. the keying mode can be changed via this device. The projects are only two days old so I will certainly put more love into it. There are several things missing like error handling, comments etc.
You can find more information here: [https://git.qrz.is/clemens/hr50-remote-display](https://git.qrz.is/clemens/hr50-remote-display)