Giter VIP home page Giter VIP logo

sam210723 / xrit-rx Goto Github PK

View Code? Open in Web Editor NEW
93.0 93.0 18.0 4.26 MB

๐Ÿ“ก Receive images from weather satellite GEO-KOMPSAT-2A (GK-2A).

Home Page: https://vksdr.com/xrit-rx

License: MIT License

Python 85.89% Makefile 0.63% HTML 1.30% JavaScript 10.05% SCSS 2.13%
airspy coms-1 geo-kompsat-2a gk-2a hrit lrit python python3 rtlsdr satellite satellite-imagery weather weather-satellite xrit-rx

xrit-rx's People

Contributors

cql1983 avatar sam210723 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

xrit-rx's Issues

PIL OSError when font is missing

PIL throws an OSError when it can't load a font

Traceback (most recent call last):
  File "enhance-ir.py", line 338, in <module>
    init()
  File "enhance-ir.py", line 82, in init
    handle_input(args.INPUT)
  File "enhance-ir.py", line 184, in handle_input
    process(input)
  File "enhance-ir.py", line 244, in process
    fnt = ImageFont.truetype("arialbd.ttf", size=38)
  File "/usr/lib/python3/dist-packages/PIL/ImageFont.py", line 280, in truetype
    return FreeTypeFont(font, size, index, encoding, layout_engine)
  File "/usr/lib/python3/dist-packages/PIL/ImageFont.py", line 145, in __init__
    layout_engine=layout_engine)
OSError: cannot open resource

Mystery ADD file

A couple times per day a mystery ADD file (VCID 5) will be downlinked but is never be saved to disk. The demuxer will sit on VCID 5 for a couple minutes then drop the file upon changing to VCID 63.

xrit-rx output

Will need to observe in verbose mode.

Automatically generate images

Generate images from xRIT files automatically.
Add "output type" option to config file (images/xRIT/both). Default to images only.

Unexpected keyword argument 'width'

/home/pi/xrit-rx/received/LRIT/20191229/FD/IMG_FD_142_IR105_20191229_235006.jpg
/home/pi/xrit-rx/received/LRIT/20191229/FD/IMG_FD_143_IR105_20191229_000006.jpg
-----------------------------------------

Processing /home/pi/xrit-rx/received/LRIT/20191229/FD/IMG_FD_001_IR105_20191229_001006...
Traceback (most recent call last):
  File "./enhance-ir.py", line 338, in <module>
    init()
  File "./enhance-ir.py", line 82, in init
    handle_input(args.INPUT)
  File "./enhance-ir.py", line 184, in handle_input
    process(input)
  File "./enhance-ir.py", line 241, in process
    draw.rectangle((p1, p2), outline=(0xFF, 0xFF, 0xFF), width=3)
TypeError: rectangle() got an unexpected keyword argument 'width'

VCDU continuity counter

KMA NMSC has changed the VCDU continuity counter behaviour again.
It now seems to count packets per VCID (again) rather than globally.

HRIT Decoding (J2K and missing CPPDUs)

I got a dump of an HRIT stream and am trying to decode it using xrit-rx. I get a lot of errors like

   [TP_File] COUNTER: 0 (Other, SEGMENT:?) LENGTH: 5078090
     LENGTH: ERROR (EXPECTED: 5078090, ACTUAL: 5069900, DIFF: -8190)
     SKIPPING FILE DUE TO DROPPED PACKETS
   NO CP_PDU TO FINISH (DROPPED PACKETS?)
   [CP_PDU] EOF MARKER

Product files (.bin) are written, but their size is too small.

I have checked VCDU counter field, and I does not see any packet loss from receiver, counter leaps only on transmission start/stop:

Time               Prev   Current
12:46:39 Counter leap: e1d486 0
12:51:50 Counter leap: 1bcf2  e1d487
12:56:39 Counter leap: e371e3 0
13:01:51 Counter leap: 1be25  e371e4
13:06:39 Counter leap: e50e09 0
13:11:52 Counter leap: 1bf18  e50e0a
13:16:39 Counter leap: e6a940 0
13:21:52 Counter leap: 1bfe4  e6a941
13:26:39 Counter leap: e843ab 0
13:31:53 Counter leap: 1c081  e843ac
13:36:40 Counter leap: e9de29 0
13:41:53 Counter leap: 1c0cf  e9de2a
13:46:40 Counter leap: eb77a9 0

Links to dumps:
hrit03.dmp
hrit03.log
hrit04.dmp
hrit04.log

xrit-rx stops working after a while

I get the following error after a few days of running:

pi@raspberrypi:~ $ sudo systemctl status xrit-rx
โ— xrit-rx.service - xrit-rx - LRIT/HRIT Downlink Processor
Loaded: loaded (/etc/systemd/system/xrit-rx.service; enabled; vendor preset: enabled)
Active: active (running) since Sun 2022-08-14 14:27:28 +08; 1 weeks 1 days ago
Docs: https://github.com/sam210723/xrit-rx
Main PID: 1451 (python3)
Tasks: 3 (limit: 4915)
CPU: 31min 5.523s
CGroup: /system.slice/xrit-rx.service
โ””โ”€1451 /usr/bin/python3 xrit-rx.py

Aug 22 18:53:42 raspberrypi python3[1451]: File "/usr/lib/python3.9/http/server.py", line 427, in handle
Aug 22 18:53:42 raspberrypi python3[1451]: self.handle_one_request()
Aug 22 18:53:42 raspberrypi python3[1451]: File "/usr/lib/python3.9/http/server.py", line 415, in handle_one_request
Aug 22 18:53:42 raspberrypi python3[1451]: method()
Aug 22 18:53:42 raspberrypi python3[1451]: File "/home/pi/xrit-rx/dash.py", line 99, in do_GET
Aug 22 18:53:42 raspberrypi python3[1451]: self.wfile.write(
Aug 22 18:53:42 raspberrypi python3[1451]: File "/usr/lib/python3.9/socketserver.py", line 799, in write
Aug 22 18:53:42 raspberrypi python3[1451]: self._sock.sendall(b)
Aug 22 18:53:42 raspberrypi python3[1451]: BrokenPipeError: [Errno 32] Broken pipe

VCID filtering

Add option to blacklist individual VCIDs so the demuxer ignores them.

Elektro-L3 support

Hi, Great software. Are there any plans on having Elektro-L3 support in this software?

CE-SAT-1 support

Sam,

I had come across your website/article describing how to receive downlink imagery from the GK-2A satellite. I was extremely interested in receiving downlink imagery from GOES vehicles and any future vehicle that may support similar protocols. I am fairly new to the satellite industry so please excuse some questions that may seem obvious, and I had not looked deeply into xrit-rx yet (or goestools) but I figured I would ask some questions I had while I had them.

Regarding xrit-rx, will this software work only for GK-2A or will it also support downlink imagery from GOES-16/17? (Better yet would be great if this could be modular in some way to configure which vehicles to support to help support later/newer vehicles).

Through some research, it appears a new imagery satellite developed by Canon (CE-SAT-1) is in orbit and I would be interested to know if it would be possible to capture downlink telemetry from this vehicle. It appears to have an S-band antenna for uplink/downlink. Would a specific antenna need to be obtained or would the hardware instructions described in your GK-2A tutorial be sufficient?

I noticed you had forked the goestools repo to work for the GK-2A spacecraft, from your estimations what would the level of effort be to create a modular fork of goestools for which it could be extensible to more than just GOES vehicles or even non imagery vehicles? I figure this could be easily accomplished by some sort of configuration element being added to the base repo but would require per vehicles unique files to be loaded dynamically..

As I am in US, I do not believe I can receive imagery from the GK-2A spacecraft, I am curious if there is some way that you believe a simulator could be created to simulate the downlink imagery data to test integration / software updates? (Could be fancy with it and incorporate machine learning techniques to make it seem somewhat real or just generate based off of stored image data).

Lastly, I just wanted to thank you for your hard work on this software as it seems really neat and I look forward to using it at some point! It would be great to be able to run sim data as I could start digging into this stuff more quickly than setting up an antenna at my apartment complex lol.

DVB Discussion

Sam,
I have the code running in Debain fine, the installed with no issue at all as per your instructions with no "debianisation" required..

For receive I converted a very cheap S band LNB used on the Indonesian SES7 signal, just bypass the filters and mixer and extend the dipoles a bit it works really well.

Also I am setting up to try and convert a cheap linux based DVB-S2 into a TCP receiver like a Novra, strangely the Chinese chip set manufacturer has produced a development board and a linux source for it. Its early days and I am still setting up toolchains and investigating the receiver and code etc,

If it becomes a reality, I would try and port Xrit into it as well.

One question is will a Novra box or DVB card process the GK-2A HRIT signal?

If you have a few minutes have a look at the LNB and receiver in my posts in these couple of forum threads..

https://www.austech.info/showthread.php/117308-Setup-for-weather-satellite-GK-2A
https://www.austech.info/showthread.php/118829-An-alternative-linux-stb-with-maufacturer-support-GX6605S-and-GX6622-chipset

Thank you for the hard work :)

HI Sam

Just wanted to let you know I have been able to follow your instructions for raspberry and have a working setup ( minus the signal lol )

(side note)
python3 tools\keymsg-decrypt.py EncryptionKeyMessage_001F2904C905.bin 001F2904C905

was causing issues for me, From my limited knowledge the \ I was thinking should have been /

python3 tools/keymsg-decrypt.py EncryptionKeyMessage_001F2904C905.bin 001F2904C905 and it worked so was able to finish the installation on the Pi

I have built a cantenna on a 90cm dish but unfortunately my signal is not locking. Will post a picture of my sdrsharp today to see what the issues are as the frequency is slightly off at 1692170 ? if I use my other sdr its then at 1692100. also i should add my dish will hold a signal when I turn the dish 2-5 degrees in any direction( left, right, up & down) which leads me to scratch my head as when I play with ku band lnb setups if I'm off my 1 degree I completely lose my signals

Have some free time today will try for a lock and send a picture or two of the waterfall.

Thank you for the hard work, effort & tutorials you have provided

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.