1.8 KiB
layout | title |
---|---|
page2 | Log4OM UDP Display |
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. The raw file lives here
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.