Howto: Meteor M2 weather satellite image decoding

Hum , i dont think i have this utility…
just did it…
Proceed with file and comeback with result later… Real

image

1 Like

Done for now… i’ll see for the next pass…

Should also have to change the *s SOURCE_PATH for /tmp…??
image

No, the SOURCE_PATH is fine. You have seen the .s file there yourself:

I think the missing convert was the problem. Without the path it will work. With the path it will also work. Just check:

ls -l /usr/bin/convert

To make sure, the path you have now is ok.

It’s a success now…!
You’re right Eelke, we need convert module… Real

All files in /tmp/.satnogs/data
and .s stored in /tmp/.satnogs/data/complete

https://network.satnogs.org/observations/3646382/

1 Like

Love that! Nice picture of the Great Lakes! Have fun! :smiley:

The png files should get removed by satnogs, when they are successfully uploaded.

I’m going to plug away with this tonight and see where i get to but the permission seem to be correct.

image

image

Thanks
Karl.

What should it say ? Should i be looking for the postob.sh script to run in the log.

After running ( sudo -u satnogs /home/pi/postob.sh )

Thanks again for the pointers and help.
Karl.

Hi Karl, in this post (nr 27) above you see my log after an observation. It shows what you see in your second screen shot. That is what I would expect to see. You have now run it as user satnogs, and that worked. That all looks fine. I don’t know, what’s wrong. The setting in sudo satnogs-setup is also not difficult.

Hi Karl,

Can you update postob.sh to include two echos. Also delete the arguments 1, 2, 3, 4. They are not used, but where included in the original forum posts.

#!/bin/bash

echo "POST OBSERVATION SCRIPT RUNNING" 

#Maybe you need to do something with the Bias T:
#/home/pi/rtl_biast/build/src/rtl_biast -b 0
python /home/pi/satnogs-extras/scripts/process_meteor.py

echo "POST OBSERVATION SCRIPT FINISHED" 

They are expected to show up in the log after every observation. Yes every, not only Meteor. This could speed up debugging, we can see more clearly if the script is running.

Also, for test you could skip the arguments in sudo satnogs-setup. Just fill in

/home/pi/postob.sh

Next schedule any sat, and check the log for the echoed text.

It should be something simple. But it appears to be a bit stubborn.

Thank you for a help.

Still the small issues with the Complete Folder but the postob.sh runs fine.

I’ve decided to start from scratch with another Pi and install everything fresh and after doing so last night i can confirm you script is up and running on my second ground station and uploading images just fine.

https://network.satnogs.org/observations/3651466/

So I’ll now get everything working with my G-5500 Rotor and then do a full reinstall on the first Pi I’ve been having issues with.

Again Thanks for your patients and contributing a lot to the project.

Karl.

1 Like

Hi Karl, that is quite a drastic solution. But if it works, it works :slight_smile: And that is very good news! Congratulations! I am also happy, that my howto was helpfull!

I have added another step to the end of the howto, which includes image improvements and the removal of the *.s files. Do you feel like hacking a bit more?

Sure thing… I’ll update the Pi when i get home this evening and then start on the other one.

:+1:

1 Like

Hi,

All the updates complete and the images are still being uploaded. :+1:

They look a lot brighter than previous but I’m still waiting for the coastline to come into view to tell if the images are the correct orientation.

Also got the rotor up and running on the new Pi install.

Thanks
Karl.

2 Likes

Many many thanks Eelke,
great pleasant add-on for observers… Real VE2DSK

1 Like

Hi Eelke…
I comfirm that 180° rotate tweaking is working…!
Again, many thanks… Real

Hi Eelke,
is it possible using local time in formula instead of UTC ??
North America we have -5h offset and some satellite evening pass freeze 00h UTC…
Real

Hi, the time function used requests the local time. But the satnogs stations all have UTC, set as local time. I guess you need to have a second comparison in both if statements:

if (hour>18)or(hour<6):

Hope this helps! Eelke.

I’m stuck before .s file generation with following log around https://network.satnogs.org/observations/4219988/ observation:

Jun 06 06:11:36 raspberrypi satnogs-client[6644]: usage: satnogs_lrpt_demod.py [-h] [--antenna ANTENNA] [--baudrate BAUDRATE]
Jun 06 06:11:36 raspberrypi satnogs-client[6644]:                              [--bb-freq BB_FREQ] [--bw BW]
Jun 06 06:11:36 raspberrypi satnogs-client[6644]:                              [--dc-removal DC_REMOVAL]
Jun 06 06:11:36 raspberrypi satnogs-client[6644]:                              [--decoded-data-file-path DECODED_DATA_FILE_PATH]
Jun 06 06:11:36 raspberrypi satnogs-client[6644]:                              [--dev-args DEV_ARGS]
Jun 06 06:11:36 raspberrypi satnogs-client[6644]:                              [--doppler-correction-per-sec DOPPLER_CORRECTION_PER_SEC]
Jun 06 06:11:36 raspberrypi satnogs-client[6644]:                              [--enable-iq-dump ENABLE_IQ_DUMP]
Jun 06 06:11:36 raspberrypi satnogs-client[6644]:                              [--file-path FILE_PATH]
Jun 06 06:11:36 raspberrypi satnogs-client[6644]:                              [--flip-images FLIP_IMAGES] [--gain GAIN]
Jun 06 06:11:36 raspberrypi satnogs-client[6644]:                              [--gain-mode GAIN_MODE]
Jun 06 06:11:36 raspberrypi satnogs-client[6644]:                              [--iq-file-path IQ_FILE_PATH]
Jun 06 06:11:36 raspberrypi satnogs-client[6644]:                              [--lo-offset LO_OFFSET]
Jun 06 06:11:36 raspberrypi satnogs-client[6644]:                              [--other-settings OTHER_SETTINGS] [--ppm PPM]
Jun 06 06:11:36 raspberrypi satnogs-client[6644]:                              [--rigctl-port RIGCTL_PORT] [--rx-freq RX_FREQ]
Jun 06 06:11:36 raspberrypi satnogs-client[6644]:                              [--samp-rate-rx SAMP_RATE_RX]
Jun 06 06:11:36 raspberrypi satnogs-client[6644]:                              [--soapy-rx-device SOAPY_RX_DEVICE]
Jun 06 06:11:36 raspberrypi satnogs-client[6644]:                              [--stream-args STREAM_ARGS] [--sync SYNC]
Jun 06 06:11:36 raspberrypi satnogs-client[6644]:                              [--tune-args TUNE_ARGS]
Jun 06 06:11:36 raspberrypi satnogs-client[6644]:                              [--waterfall-file-path WATERFALL_FILE_PATH]
Jun 06 06:11:36 raspberrypi satnogs-client[6644]: satnogs_lrpt_demod.py: error: unrecognized arguments: --udp-dump-port=57356
Jun 06 06:11:40 raspberrypi satnogs-client[6644]: satnogsclient.observer.observer - ERROR - No waterfall data file found

I see that there is additional unsupported parameter passed to the script - how should I workaround that? I run 1.5 client. Maybe there are additional unsupported parameters added?

EDIT: other demods/decoders seem to have this udp functionality merged in - this seems to relevant merge request: https://gitlab.com/librespacefoundation/satnogs/satnogs-flowgraphs/-/merge_requests/31/diffs

Yes, that is right. The demodulator needs to be updated, to provide the new functionality and be compatible to the new 1.5 Satnogs software. I am unable to create that update properly, but I do have an ugly hack to avoid the error. I have edited the satnogs_lrpt_demod.py file and added support for 4 new arguments to the definition:

def argument_parser():

At the end add:

    parser.add_argument(
        "--udp-IP", dest="udp_IP", type=str, default="127.0.0.1",
        help="Set udp_IP [default=%(default)r]")
    parser.add_argument(
        "--udp-dump-host", dest="udp_dump_host", type=str, default="",
        help="Set udp_dump_host [default=%(default)r]")
    parser.add_argument(
        "--udp-dump-port", dest="udp_dump_port", type=intx, default=57356,
        help="Set udp_dump_port [default=%(default)r]")
    parser.add_argument(
        "--udp-port", dest="udp_port", type=intx, default=16887,
        help="Set udp_port [default=%(default)r]")

And just before:

return parser

Hope this helps you to get it working again.

Best regards Eelke

1 Like

For quick hack but possibly also a future proof solution you could use parse_known_args instead of parse_args as shown here:

1 Like