One of things that has had me wondering for the past year is how to display data from a Raspberry Pi or Arduino project on my Web Browser. Printing character data to the Console sucks. PHP and page rendering technologies can’t render real time data flows very efficiently or effectively.
On a parallel thought – most Ham software has an interface that looks like its stuck in 1991 using Visual Basic. Its ugly, slow and deploys a crapload of local files and works only on Windows.
I started thinking about using a modern UI library or framework where the Web App looks and behaves as nice as what I think is (by far) the best looking Ham software web app going – and that’s DX Heat:
DX Heat – probably the nicest UI in all of Ham Radio software
Its possible to either run a Web Server on my laptop or even on a Raspberry Pi. With React.js – you have a fairly fat client that does all of the UI work – and the back end server side stuff (REST API and database) is done on the Pi.
One database that would work well with a small footprint platform like the Pi would be SQLLite. Its the SQL RDBMS that backs K1MM+, so its more than powerful for this kind of environment. Keeping the UI stuff at my laptop, and the much “thinner” REST API and SQLLite db on the Pi – with whatever sensor drivers that you have (Wiring Pi, OLED and say, code that accesses Stepper Motor drivers (which are in firmware on a board outside of the Pi and closer to the actual IOT devices) means you can separate all of the concerns and do it so that no one thing in the architecture gets necessarily over burdened and over worked.
I use Ham Radio Deluxe and I like it better than most Ham Radio software – but it looks like it was written in C# and uses the Windows UI API’s. Back in the day it used to be C++ and the Windows SDK – but today my guess things have moved more towards C#. Its way better than VB, but its still Windows bound. I tried some of the free ham software – and all of it was God awful ugly.
The HRD Satellite Tracking Window – very nice Ham software that actually has me thinking about trying satellites again
Its possible to build a killer Ham Radio Suite of apps that maybe use a Raspberry Pi to read in all gear data – and then present that data to the Web App in your browser – so that it looks modern and performs well. It could be Open Sourced and given away for free. It could be used for Contest Logging, DXer Logging, FT8 Logging – and all over the web – with near ZERO installation issues – and just a small config Form to set ports and whatnot. In fact – everything Remote can be handled with this as well. All QSL functions can be handled, and awards tracking can be supported. It could also integrate seamlessly with services like QRZ or Clublog.
Just musing – my work in recent weeks is converging with my little weekend Maker-Ham experiments. Maybe when I get better at React.js I will do something like this. My current React.js and Python REST API project at work is looking so awesome – and if I don’t get a steady “diet” of React.js projects at work – I will continue my React.js study and progression by maybe working on my own Logging and Command and Control software suite.