Snow, a little rant about society/AI and using a GPS, BDS, GLONASS, GALILEO and QZSS positioning device

Well, the sun is out, the frost is melting, it actually snowed yesterday, it didn't snow anywhere else in the UK (that I'm aware of), but it did snow a LOT in California (and still is)

 Here's a photo of my garden from yesterday morning, I was very surprised as it meant I couldn't really continue with the landscape waterfall remodelling that I'd started the previous day:

With such loveliness that Spring is coming and Winter is just making an attempt to show it is still a force to be reckoned with, I was pondering on how I spend my last couple of days of "freedom", ie. the as-before-mentioned-time-off.  I'll document below the tech. toys that I decided to setup & get working ready for next months "time off" where I can pull a lot of this technology together to actually start to "make something".

Oh and then I noticed this headline in my fav. IT news website: IBM announces European layoffs

and for some uncontrollable reason, I just started doing the hand-dance, whilst I started to sing to myself: "We love the company"

If you don't know what that is in ref. to, then you need to watch these guys play this game (they've done about 20 videos - they suck at the game, but that's not the point) and "sing the song":


OR, watch the animation version that is shorter but gets the point across:




This also reminded me that, I had read a lovely quote earlier today:

"AI is the new outsourcing"

I'll let that sink in for a few minutes.  Think about it.  Think about it harder than that.  Now, sit back, sip your coffee & think about it in a bit more depth.................THAT, that moment you just had right there (if you didn't get distracted) is exactly the "oh-sh!t, it is, isn't it" moment.

I'll be blunt & truthful (I've never been anything else, in life or work), just over 20years ago (it was actually in the late-80s/early-90s, read a book called "Decline and Fall of the American programmer", but it took until the early 2000s to be fully executed), CTOs or IT Directors as we UK people called that role, were influenced into offshoring the IT departments to some place that was going to "save the company money" and in turn award them a lovely bonus, a pat on the back and either promotion into the special golf-club or allow them to purchase that 50ft luxury yacht that they'll retire on and let "someone else sort out the future".  Now, those IT departments included operations support, think hardware installs, configs / setups / maintenance / network plumbing, technical support personnel, front-line support personnel and people who wrote code.  Now, these people were trained to be skilled in these areas in the late-80s/early-90s, they knew what they were doing - but, y'know, the bare-faced cheek of these people, they actually wanted to be "paid for their skills", how very dare they.  IT was seen as a backroom thing, something that was kept in the basement, something that "supported" the business.  Business could operate & run on it's own.  IT was just there to help it run faster, better, leaner, meaner and more profitably...  imagine Business being in the top half of a circle, IT was underneath, in the bottom half of the circle.  IT needed to be kept in it's place.  So too, did the people who did "IT stuff".  I mean, it was the Business people who "did stuff", they made decisions, they made money, they were self appointed narcissistic ego-pumping capitalist guru's with MBAs, goddamit.

Therefore, it was their right to bully the IT geeks / nerds so they knew their place, just like they (probably, allegedly, personal-opinion) did when they were back in school days.  With that in mind, IT people were tolerated as a necessary evil that was going to impact "the bottom line".  In stepped the concept of "outsourcing", not only did it mean that all those pesky IT people could be gotten rid of, it also meant that (probably, allegedly, personal-opinion) some CEOs/CTOs/Managing Directors/IT Directors could buy shares/setup companies offshore in far away places that no-one could see or smell the IT people, places, such as India (UK history lesson here) - except, now we're 20-odd years down the line those outsourced IT people, like most others are now starting to demand a decent living wage.

"Well, we cannot have that now, can we?, I mean we're back to where we were in the late-80s" - if you do your homework, you'll see that India (sorry for picking on you India) didn't have 2-farthings to rub together and well, let's just say 2+2=4.  you can fill in the blanks.  However, someone is looking to help them out now.

Now, you think that same business mindset has changed? nope.  In fact, it's even worse with the introduction to the general public of "xxxGPT" and other such tools, the marketing of "AI" is dreadful, these stupid imbeciles who believe they are business guru's, think they can just repeat the same thing again, except, they're relying on Big Tech. to have gotten the outsourced IT people to create tooling that will be their own undoing.  ie. 'Hey, everyone, use "Public" tools like StackOverflow and GitHub to ask questions & "help" other people to sort out their coding problems - when there's a right answer, make sure you flag it'.... why flag it? oh, so everyone will know the "right" answer..... or... so when the LLM models are slurping the content they know which "right" answer to focus on... anyway, you get the point, lots of kind and nice people have done a community thing, helping other people out who might need help, in their own time, with their own kindness etc... only to have the companies (yes, I am looking at you too StackOverflow, "our content", excuse me... "public generated / shared and open content", surely!?) slurp that up and monetise access to it.

As is the same with all these things, the content is only as good as the last point in time it slurped the data.  Also, the content it slurped has to have been verified as valid / correct / good.  If we switch back to the 1970s and "go the other way" and keep the know-how to ourselves, keep the knowledge local, share know-how verbally (as long as no mobile phones or 'smart speakers' are nearby - ah, the conspiracy theorists wet-dream right there) then these "AI tools" will be as useful as a chocolate teapot.


One last chuckle about this AI-delusion.  The Wonka Experience.  If you're in the UK, you would have heard about this just recently, for all the wrong reasons.  I'll boil it down into the simple stuff as I'm now bored of writing (oh, how that is related!).  The person behind the Wonka experience used "AI" to generate the artwork and the scripts / content and foolishy believed in the fantasy of what the AI can do, but failed to translate the into real life....and I believe this is what is running true across society, the delusion that "AI" is something amazing, something creative, something magical - it's not.


Therefore looping back to the "AI is the new outsourcing", yeah, great, as you can see in the images above, there is a HUGE difference between the "idea" and the "reality".  There will be an attempt by Big Tech. to convince Big Business that they can save/make more money by adopting "AI", but it is going to be a very bumpy & prolonged ride - just make sure that you "keep your options open" and don't get tied into a "closed system AI", such as chatGPT.

RIGHT, I'M NOW BORED OF THAT & YOU PROBABLY ARE TOO.....moving on.


Anyway, there's the INTRO out of the way, now onto the GOOD STUFF that I was originally going to post about, so that I have a record of how to do this, so when I come back to doing it again at some point in the future, I will just have to follow these instructions....because, y'know, I just know when I get "back to work", I'll have so many stupid demands on my time I won't be able to live a normal persons life and do "life things"...or maybe in 2024 the "worm shall turn".  watch this space ;-)


The GPS, BDS, GLONASS, GALILEO and QZSS positioning device.

or should I say, why limit yourself to just the US satellites for doing global positioning (ie. knowing where you are located on this planet), there are PLENTY of satellites zooming around up there, from different countries that offer the same service, so why not utilise them all - that way, if, for instance, GPS were to stop functioning, you could use the EU version, or the one from CHINA or even RUSSIA.

Welcome to Ali Express.

Here is an example of the product that I purchased.  In fact, I purchased about 10 of them.


Why did I write, "example" above?  Well, if you look over on the far-right, you'll see the wording "1 per customer". ah. for that price, you can only buy one.  If you want / need to buy more in bulk, you need to go take a look around to find a good bulk price, they won't be as cheap but you'll be able to buy more of them at a reasonable price, then it's just a case of waiting a few weeks and they'll arrive.

Here's the description blurb that you should be looking for:

"The ATGM336H-5N series module is a generic term for the 9.7 * 10.1-size high-performance BDS / GNSS constellation positioning navigation module family. 

The series of products are based on the fourth generation of low power GNSSSOC single chip-AT6558, support a variety of satellite navigation systems, including China's BDS (Beidou satellite navigation system), the United States GPS, Russia's GLONASS, the European Union GALILEO, Japan's QZSS and satellite enhancement system SBAS (WAAS, EGNOS, GAGAN, MSAS). 

AT6558 is a true sense of the six-in-one multi-mode satellite navigation module, including 32 tracking channels, you can also accept the satellite navigation system GNSS signal, and to achieve joint positioning, navigation and timing. 

This series of modules with high sensitivity, low power consumption, low cost and other advantages, suitable for car navigation, handheld positioning, wearable equipment, you can directly replace the U-blox MAX series modules."

Whilst information was a little light on the Ali-Express website, I did find MORE INFO HERE on the DFRobot website.  The most important information is what the few pins do:

Basically, we can ignore the PPS pin and we're just interested in the Tx/Rx pins.  Well that doesn't take a genius to work that one out.  The DFRobot website has a great breakdown of what each of the output messages is used for and the format structure - that is really handy if you want to break the content down yourself

Hooking up the device to a spare Arduino UNO4 device was simple enough, just connect the Tx/Rx pins to GPIO 11 and 12:

As stated in the webpage, the default comms speed for the GPS module is 9600, make sure we set that in code and then the Serial.Monitor in the Arduino IDE we can set to whatever we want, in this case 115200:

Well, that just writes out the RAW data as-is, it writes out all the text output.

There is another sample code snippet from that webpage, however it is slightly buggy, as in the GPIO pins are the wrong way around and there is a missing }, but it is very useful to just show filtered data:

17:32:15.623 -> ************************
17:32:15.623 ->$GNRMC,173215.000,A,5120.54216,N,00212.29826,W,1.23,151.47,010324,,,A,V*1D
17:32:15.623 -> Save_Data.UTCTime = 173215.000
17:32:15.623 -> Save_Data.latitude = 5120.54216
17:32:15.623 -> Save_Data.N_S = N
17:32:15.623 -> Save_Data.longitude = 00212.29826
17:32:15.623 -> Save_Data.E_W = W
17:32:17.648 -> ************************
17:32:17.648 -> $GNRMC,173217.000,A,5120.54225,N,00212.29837,W,0.00,151.47,010324,,,A,V*1F
17:32:17.648 -> Save_Data.UTCTime = 173217.000
17:32:17.648 -> Save_Data.latitude = 5120.54225
17:32:17.648 -> Save_Data.N_S = N
17:32:17.648 -> Save_Data.longitude = 00212.29837
17:32:17.648 -> Save_Data.E_W = W
17:32:19.644 -> ************************
17:32:19.644 -> $GNRMC,173219.000,A,5120.54235,N,00212.29864,W,0.00,151.47,010324,,,A,V*16
17:32:19.644 -> Save_Data.UTCTime = 173219.000
17:32:19.644 -> Save_Data.latitude = 5120.54235
17:32:19.644 -> Save_Data.N_S = N
17:32:19.644 -> Save_Data.longitude = 00212.29864
17:32:19.644 -> Save_Data.E_W = W
17:32:21.633 -> ************************
17:32:21.633 -> $GNRMC,173221.000,A,5120.54206,N,00212.29907,W,1.18,151.47,010324,,,A,V*11
17:32:21.633 -> Save_Data.UTCTime = 173221.000
17:32:21.633 -> Save_Data.latitude = 5120.54206
17:32:21.633 -> Save_Data.N_S = N
17:32:21.633 -> Save_Data.longitude = 00212.29907
17:32:21.633 -> Save_Data.E_W = W
17:32:23.625 -> ************************
17:32:23.625 -> $GNRMC,173223.000,A,5120.54210,N,00212.29925,W,0.00,151.47,010324,,,A,V*1C
17:32:23.625 -> Save_Data.UTCTime = 173223.000
17:32:23.625 -> Save_Data.latitude = 5120.54210
17:32:23.625 -> Save_Data.N_S = N
17:32:23.625 -> Save_Data.longitude = 00212.29925
17:32:23.625 -> Save_Data.E_W = W
17:32:25.649 -> ************************

So, there we have it - we have a fully functioning mini-global-positioning module that can use a multitude of differing satellites to determine the best position, even inside it was very fast to get a position, near a window or even outside it was hitting [22] satellites!  As it is, this is a great little tool for this specific purpose and I'm sure I'll figure out a way to get it wrapped up into some other little projects that might need such data.

However, the main purpose of this was to solder it onto the Heltec 3 LoRa device to get a true position of the devices, rather than hard-coding them.  That required me to do a little bit of early morning soldering.


Not too shabby, if I say so myself.... nicely tucked up at the back of the Heltec board, wires nice and trim - the green one is on the other-side and is the 32mm Bluetooth replacement wire, it's meant to stick out!


A first power up, after changing the Meshtastic settings to allow GPS to be used and to tell it what Pins are being used 40 / 41.  On the top-right we can see that "inside" it has just picked up [9] satellites, it also shows that it has connected to the T-Beam device that I have sitting a few feet away from me - right, time to move this device into a different location / room and see how it goes from there.

It did pick-up [22] satellites when I placed it near the "home office" window and it picked up the correct co-ordinates too.  excellent.  looks like the device is doing exactly what it says it would do.


M5Stack Keyboard

Well.....seeing as I was "on a roll", I thought I'd do something else useful (?), I ordered a couple of these little keyboards a while back - kinda with the mindset to somehow hook them up with the Heltec devices so that I can type messages directly rather than having to use Bluetooth and my phone.  



Yes, I am aware of the T-Deck and I do indeed have 2 of those devices, but I was also wondering how these little keyboards work.

My previous investigation with such things led me to believe that keyboards required a lot of complication, all to do with keyboard matrixes, the keys being split into sections of that matrix and determining which key was actually pressed was a complicated thing....

Well, for the low low price I was about to be surprised!



The device connects to the I2C bus - which is amazing by the way - therefore it literally just sends 1-byte per keypress

Now, there is some example code available on github HERE, but that assumes you're using the M5 stack device along with the LCD screen, as I'm not I can butcher the code to just do the basics that I need.


As you can see above, the value from Wire.read() is inserted into the [c] variable.  In the debug output, I spit that out as the HEX value and then the string value.  The [20] is [SPACE] and [D] is [Enter], so this little keyboard takes the keypress for each press and passes it to whatever wants it, no mess, no fuss.

In fact here's the snippet of simple code that I was using above:


So simple.

I'm sure that along with the BME280 and individual LoRa modules that I have "in the post", that in 3 weeks time, I'll have thought of "doing something useful" with these lego-block components and I'll keep you updated with what I'm doing and I'll also attempt to keep the "work/work" and "anti-AI" rants down to a minimum  ;-)

You know it's true:



UPDATE:

Amazon just delivered the "next shiny thing".

I took a gamble, as I've just recently been stung by some 256Gb SD-cards that were, a little less and didn't always behave, ie. I was able to copy just over 8Gb, but was getting errors doing more... so, I noticed these 1TB sd-cards for a really low price & thought I'd take a gamble:


According to UBuntu, it looks to be legit:


and from Disks:


and from GParted:



I guess I'll go stick it in the RPi5 later on and start "using it".  

It'll be a nice "backup" drive, somewhere to stick all my "prepper" info, such as the backup of wikipedia via kiwix... an article for another day.


Comments