From ab57c16dce3765961771106d29dd31c497c2d244 Mon Sep 17 00:00:00 2001 From: nq4t Date: Fri, 3 Feb 2023 16:43:56 +0000 Subject: [PATCH] Add Log4OM UDP to Software Dev --- software/index.md | 3 +++ software/log4omudp.md | 43 +++++++++++++++++++++++++++++++++++++++++++ software/piscrape.md | 4 +--- 3 files changed, 47 insertions(+), 3 deletions(-) create mode 100644 software/log4omudp.md diff --git a/software/index.md b/software/index.md index 21dbee9..4372035 100644 --- a/software/index.md +++ b/software/index.md @@ -12,6 +12,9 @@ I am by no means a software developer, that being said I've written some code th Some of it can fall under the category of "stupid tricks" that are geared toward web presence. Some of it is the actual website itself since it uses Jekyll/Liquid/Ruby for static generation. +- [Log4OM UDP Web Display](https://nq4t.com/software/log4om-udp-status) · [Git Repository](https://git.pickmy.org/nq4t/Log4OM-WebStatus) + - Python script that accepts and parses Log4OM UDP messages to generate a real-time auto-refresh HTML page. + - [PiScrape - Text-Only Hotspot Information](https://nq4t.com/software/piscrape) · [Git Repository](https://git.pickmy.org/nq4t/piscrape) - This consists of a bash script and PHP page that will display a small box with Pi-Star reflector/talkgroup information that you can iframe in to a webpage. (Will be) part of my QRZ profile when I can stop screwing around with diff --git a/software/log4omudp.md b/software/log4omudp.md new file mode 100644 index 0000000..fa40827 --- /dev/null +++ b/software/log4omudp.md @@ -0,0 +1,43 @@ +--- +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. diff --git a/software/piscrape.md b/software/piscrape.md index 1b1b593..a6b366a 100644 --- a/software/piscrape.md +++ b/software/piscrape.md @@ -1,11 +1,9 @@ --- layout: page2 -title: PiScrape +title: PiScrape - Text-Only Hotspot Information --- -## PiScrape - Text-Only Hotspot Information - [Git Repository](https://git.pickmy.org/nq4t/piscrape) PiScrape allows you to display your connected reflectors/talkgroups in a small webpage you can embed, like this: