Maker-Ham React.js IOT Platform (and a better Ham Radio Logging Suite?)

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

I looked at the Console and he uses the Bootstrap UI and Javascript with JQuery. I don’t think he uses React.js – but maybe Django. In any case, I can’t think of anyone else who has created such a nice UI in Ham circles.

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.

Summer Fog

Bart Orinda after work . . . looking towards the Caldecott Tunnel

In Orinda, we get fog that comes directly from the Golden Gate straight to the Caldecott Tunnel “gap” – and into our town. Many times it will be foggy here and 7 miles East – in Lafayette (where I used to live) it will still be sunny.

Oliver, W6NV lives on that hill in the upper left hand corner of this photo

It looks like clouds when it comes in, and is always windy as it comes in at night, and when it burns and retreats back to the coast in the morning.

Today’s West Coast fog layer

As soon as we drive through the Caldecott Tunnel from Orinda – as we head down the grade – we see Mt. Tamalpais in Marin County, and the Golden Gate bridge. It can be up to 30 degrees warmer in Orinda when the fog comes into the Bay but doesn’t get over our Easy Bay hills – which are the hills above Oakland and Berkeley.

I love this weather – some call it “June Gloom” – but for me, it means that its always in the 60’s – maybe 70, and we get sun with cool air during the day and fog at night – early morning and late afternoon. There is no humidity like the East Coast, the mosquitoes are minimum – its pretty excellent.

This weather is superb for cycling and even sleeping at night. It can occur in May, June and July – Sometimes in August – but then we do get a hot September and part of October. We do get heat spells when this fog pattern subsides, but usually after 3 or so days – the heat gets beat back with this fog pattern.

The other climate I like is the high desert – in Nevada, parts of California, Utah, Washington, Oregon, Nevada and even Colorado. I like it cool and dry. Its funny, when I went to Dayton last year the humidity hit me – I hadn’t been “back east” since 1991 – so I have become a true Californian and Westerner.

Summer of React, Flask and Airflow

This Summer won’t be about Ham Radio so much – but I will be building little fun “experimental” circuits with the Maker-Ham components that I have – along the lines of that WiFi Field Strength Meter idea. No antenna building, and no DXCC chasing.

I am now becoming a serious React and Flask (“full stack”) developer. It happened by accident – I was supposed to be teamed with a React web app developer who would build the front end web app and I would build the back end database REST API – in Python / Flask.

I completed my part of the deal – and waited. And waited. And waited. When we hit the half way mark of this quarter, I realized it was time to jump in and BE that front end web app developer. I did make one attempt last year when I built a web app using React, but that fell by the wayside, and I thought that was it for me as far as React goes. This time, I dove in head first and full force and wanted to really understand how React worked. Last Summer I hacked an online class React app and made it work, but I really didn’t understand how React worked. And React has a steep learning curve. In fact, I almost caved and went with Vue.js or PHP.

The reason I couldn’t find anyone to help me is that React developers (actually “full stack” developers) are all the rage these days. Anyone who has this skill set is being snapped up perhaps faster than anyone else in the IT industry. Forget about “Data Scientists” – that was yesterdays big deal. Even “Big Data” is not the big deal it was a few years ago.

React was designed by Facebook, and its very interesting technology. At first it seems really bizarre and convoluted – but that is because they have managed to work around the fact that HTML and the web were meant to be stateless web page apps – and not a full on event driven, state full app platform. In the back end – I use Airflow – a Python scheduler and ETL / Data Pipeline technology designed by Air BNB.

I’m not giving anything away here – my LinkedIn profile has all of this listed:

https://www.linkedin.com/in/rholoch/

Anyway, what is interesting is that I feel like what I am building is as interesting as what I do in the ham shack. Every now and then work feels a lot like designing and building antennas or building my station / shack. Right now – that’s how it feels – and its a great feeling. I go to work at what is the best place I’ve ever worked (Credit Karma) every day with a spring in my step – and it just doesn’t get any better than this.

One of the things I might try is to build a web app that interfaces with the Raspberry Pi or Arduino experiments – a sort of web meets maker meets ham mash up. That could be a lot of fun.

Rotator Cage for ALM-31

SteppIR UrbanBeam on a US Towers ALM-31 crank up tower

I love the US Towers ALM-31, but I want to put a 10′ mast up above the rotator. This would get the UrbanBeam up to 41′. Since adding that extra length would cause too much side torque on the rotator – and also stress the weld at the rotator plate. When you look at pictures of hams in EU that have crank up masts – you always see a rotator cage. These are rare in the US, and I’m kind of surprised. In fact, I can’t find anyone who makes them in the US. I did think about using a Rohn top section of a tower – upside down and with a thrust bearing, but that ends up being almost $400 – with shipping.

The tower is on the outside of my trellis, and I used to have a Spiderbeam telescoping aluminum mast that held a 2 element home brewed yagi. Because the tower and the trellis upright beam are only 10 or 12″ apart, it would be very easy to build a telescoping “rocket launcher” support. I found a special thrust bearing for such an application called a Pillow Block Bearing:

The bearing could be put at the end of an arm that comes off the Spiderbeam telescoping mast. This would ensure that the extended mast never leans sideways – which could damage the rotator. Adding a 10′ mast puts the weight right at the ALM-31 limit, so all of this is just musing – I probably won’t do it. I never knew about a Pillow Block Bearing – so this is cool.

I also thought about using this Rohn top thrust bearing section upside down as a rotator cage. That would work very well, and wouldn’t require all that crazy “scaffolding”.

This was a “what if” post. I won’t be doing any of it – but its fun to think about mechanical or electrical solutions to problems. Sometimes viable product ideas emerge . . .

 

 

 

KY6R WiFi Field Strength Meter!

A while back I posted about a 1973 era field strength meter ( Ham Radio 1.0) that I built and used a very cool NOS Simpson 7458 meter, but put it in a new clear case.

Enter Ham Radio 2.0 – I take the signal from that analog field strength meter and feed it into the ESP8266:

And it transmits the micro voltage readings from the field strength meter over the internet. So – this is about the simplest Analog to Digital “SDR” – hi hi. It is that germanium diode “crystal radio” that you built with a diode and a coil – when you were a kid (more or less). In my case its so broadband (there is no tuned circuit or filter – or even a coil) so it picks up everything!

Icom IC-7610: My Favorite Rig

Photo Courtesy of Jeff, KE9V. Icom is hitting home runs these days with the IC-7300 and the IC-7610

The 7610 is by far my favorite rig – (and you know for 10 years I was a dyed in the wool Elecraft K3 fanboy).

Icom IC-7610 and Acom 1010 in the KY6R Shack

The features, layout and ergonomics – but above all – the ability to receive weak signals and keep them alongside – but not buried in the noise is where its biggest power lies.

The visuals on the 7610 are stunning

The ability to do screen captures or audio recordings to a built in SD card in the rig is just fantastic

In my post DXCC pursuit, I feel have a rig that lets me tinker, play and learn about things that I like to blog about. Connected to Ham Radio Deluxe, and it even gets better.

Rob Sherwood, NC0B has been ranting and raving about this rig on several online review boards (like eHam), and so that’s a great endorsement coming from the man who has been evaluating rigs for years.

 

Ham Radio 2.0 at Hamvention

Leeds and Northrup 5300 Wheatstone Bridge

I’m quite excited about following along with the Dayton Hamvention podcasts and news this year, and expect to re-live my trip last year by following along online.

SteppIR UrbanBeam and US Towers ALM-31 that intrigued me at Hamvention last year, now in the back yard …

I’m watching several online recorded and live shows so far, and am very pleased to see how there is promotion for “Ham Radio V2.0”. Ward Silver, N0AX, whom I recently had a great chat with is again instigating the promotion of new technology and bridging the gap between Maker and Ham Radio.

Its a truly wonderful hobby, and you can tell how excited people are for Dayton, and rightfully so. If you have never been – you need to go at least once.