You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

44 lines
1.8 KiB
Markdown

---
layout: page2
title: Log4OM UDP Display
---
[Git Repository](https://git.pickmy.org/nq4t/Log4OM-WebStatus)
Recently Log4OM added support for UDP message output in it's remote control. One of the settings has Log4OM automatically
send status messages every five seconds when the following conditions are met:
- CAT engine is running and connected to a valid radio
- Message output is enabled in program configuration
This can be used to build a very basic status display you can embed in a webpage.
### Requirements
A machine that can run Python scripts that can:
- Recieve UDP messages from Log4OM
- Put the resulting HTML file on a webserver
It is currently written to be running on the same machine as the webserver. Additional methods of getting the file to an
external machine have not been created due to the numerous ways of doing so. It's also written this way as I run a server
at my QTH that's accessible to the internet.
### Example
I have embedded the status on the sidebar/menu of [my website](https://nq4t.com). The raw file lives [here](https://log.nq4t.com/radio.html)
My version has CSS applied to match my website. The default version does not.
### Basic Theory Of Operation
Log4OM sends packets to my server's IP. Python picks these up, parses the required information out, and stuffs them in to
some HTML it saves directly to the server. This file is set to auto-refresh every 5 seconds.
A monitoring thread checks every few seconds to see when the last packet was received. If it doesn't see any in about 15
seconds; it changes the status to indicate this. In this state, it only checks for updates every 30 seconds.
The thread listening for UDP always runs. When UDP starts streaming in, it immedately executes.
It can be considered real-time to within 30 seconds or so.