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
44 lines
1.8 KiB
Markdown
2 years ago
|
---
|
||
|
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.
|