Very sorry if this is documented, but I searched & was not able to find it.
This is VERY much out of my area of expertise, but I am attempting to create code to upload decoded bytes to the database via SIDS. I found ‘some’ help online, and by attempting to copy formatting from the submitter app in gr-satellites. However, I’m failing.
Thanks very much in advance if someone could point what I need to adjust, if I’m even close.
The upload steps that I’ve come up with look like:
Yes, that CURL statement I listed above works, so now it’s just a matter of getting uploads to work in program code.
And you guessed correctly, I’m working on something brand new (to me), an internet-connected Arduino.
To date, all my Arduino work was stand-alone. I know there are 3rd-party wifi & ethernet shields, but never investigated those.
However, now I’m in receipt of a couple of Arduino UNO R4 WiFi devices, so internet connectivity is all built in. Since I decode a lot of LoRa (and FSK) payloads on this platform, naturally I wanted to create the proper code to allow these devices to upload to SatNogs. Of course I’ll put the finished product online when it’s working correctly - seems that there’s a known issue w/ the embedded ESP32 WiFi module that requires a firmware upgrade, so working on that as we speak. Not unusual for 1st-generation products, of course.
On the chance that anyone was wondering about progress on getting SIDS uploads to work from the Arduino platform, after some trial and mostly error, I’ve been uploading successfully to the test database!
Initially I used entirely static, fabricated data. Today I managed to use a “real” timestamp from the Arduino UNO-R4’s real-time clock (synced to internet NTP).
dealing with the TimeStamp turned out to be challenging, but I’m sure would be much easier for anyone with more experience programming the Arduino platform.
Also the transition from a fake static payload of HEX bytes to using real over-the-air decodes was a little tricky, but not as bad as obtaining a fresh timestamp for each upload.
But the bottom line is that I’ve connected an antenna and am uploading real, live, from-outer-space LoRa decodes to the DEV database. Now for some clean-up & sanity checks before putting it online for people to use in all or part with their own hardware!
Still corrections to be made, so not ready to put online yet - will get that done ASAP.
But an exciting night here… first ‘live’ upload of an Arduino LoRa decode to that satellite’s spot in the SatNogs production database! Didn’t know if I would get to this point. And I should add that this isn’t just a ‘LoRa thing’… the various modules available for use w/ a microcontroller such as the Arduino do several forms of FSK also. (A significant number of satellites are going up now w/ transmitters based on these hybrid radio modules, so it just made sense to figure out how to get the same family of ground station receiver hardware SatNogs-enabled).
Will get the sketch online as quickly as I can after a few more items are worked out & tested. Thanks.
Thanks. And I’ll certainly be making the tinyGS admins aware so they can review the logic & steps in this code to see if they would want to make it an option on the client or server side of their setup.
… while testing was done mostly with satellites that do not have ties to the Amateur Community, of course the goal here was to figure out how to utilize platforms like Arduino & ESP32 for when the day comes that a properly coordinated, genuine Amateur satellite goes into orbit with a downlink that only these types of receivers can decode.
After two months of working perfectly, my Arduino code now fails to complete SIDS uploads.
Since I mask the reply except for the ‘201’ response code, I removed filtering so that I could see the entire server response in hopes of seeing an error. However, to my surprise, there is NO server response.
Attempting to manually investigate, I simply put the upload URL into a browser and get the following ‘401’ error: