Nikos Roussos
Libre Space Foundation
Network
Client
Rotator
Antennas
DB
Bring your own
Build your own
ohai.satnogs.org
FreeCAD
KiCad
QCad
Reference platform: Raspberry Pi3 + rtlsdr
Works with any SDR supported by gr-osmosdr
Client runs on any Linux platform - Python & Gnuradio
LNA highly recommended, LNA4ALL or others
Gitlab CI
PiGen
Ansible
Crowd-sourced satellite database
Repository for collected telemetry data
db.satnogs.org
def find_sync_index(data):
sync_bytes = bytearray([0x55, 0x53, 0x36]) # U S 6 or 0x55 0x53 0x36
packet_start_index = bytearray(data).find(sync_bytes)
return packet_start_index
payload = bytearray.fromhex(payload)
sync_offset = find_sync_index(payload)
if sync_offset == -1:
raise ValueError('No sync bytes found')
else:
payload = payload[sync_offset:len(payload)]
network.satnogs.org
@app.task
def archive_audio(id):
obs = Observation.objects.get(id=id)
identifier = 'satnogs-observation-{0}'.format(obs.id)
if os.path.isfile(obs.payload.path):
ogg = obs.payload.path
filename = obs.payload.name.split('/')[-1]
md = dict(collection=settings.ARCHIVE_COLLECTION,
title=identifier,
mediatype='audio')
res = upload(identifier, files=[ogg], metadata=md,
access_key=settings.S3_ACCESS_KEY,
secret_key=settings.S3_SECRET_KEY)Nikos Roussos
@comzeradd
nikos@libre.space