cceremuga / ionosphere Goto Github PK
View Code? Open in Web Editor NEWAn APRS Rx IGate for RTL-SDR devices.
License: MIT License
An APRS Rx IGate for RTL-SDR devices.
License: MIT License
INFO[10800] Uploading beacon.
WARN[10800] APRS-IS is not connected and not configured. Verify config.
What am I missing that's causing the WARN?
beacon:
enabled: true
call-sign: "KJ6DZB-5"
interval: 10m
comment: "145.825mhz RX"
handlers:
BTW works great!
Hi,
Let me begin with a big thank-you for creating this. Much appreciated!
I've been taking a look at the structure of the beacon, and it seems that all the elements of the go-aprs packet are available.
Would it be possible to include location in the beacon uploaded to APRS-IS?
I'm not a go developer, but I take take a first stab at it if you can provide some support.
Thanks,
Pablo
ionosphere/services/packet/packet.go
Line 15 in 19d03f0
Hi,
multimon-ng AX.25 packet radio decoder output is not binary clean. It is designed for decoding packets for human-readable use, and it strips/modifies out some bytes (non-printable packets which do appear in some packet formats) and does not handle multi-line packets well. Using it on an iGate will cause modified duplicate packets to be generated on the APRS-IS, when other iGates forward an intact packet and this igate forwards a corrupted packet.
A far better strategy for creating an iGate with an RTL-SDR is doing FM demodulation with rtl_fm, and passing the audio stream to Direwolf which can either be configured to act as a standalone iGate, or used as a KISS TNC for another iGate software (I use it with aprx). This provides a proper, safe APRS implementation, which treats the packets the same way as other iGates on the network, without data corruption.
Please see https://github.com/hessu/aprsc/blob/main/doc/IGATE-HINTS.md for details.
in your readme:
Make sure all software in the Requirements section is installed.
Ensure your RTL-SDR device is connected.
Download and extract the latest release matching your system.
Edit config/config.yml to match your needs.
In a terminal, from the directory containing Ionosphere, run ./ionosphere.
in my terminal:
danny@node3:~/ionosphere/config$ nano config.yml
danny@node3:~/ionosphere/config$ cd ..
danny@node3:~/ionosphere$ ls
config go.sum LICENSE Makefile services
framework handlers logo.png README.md subprocesses
go.mod interfaces main.go SECURITY.md tasks
danny@node3:~/ionosphere$ ./ionosphere
-bash: ./ionosphere: No such file or directory
danny@node3:~/ionosphere$
too bad it also seemed like a good idea
I was using my local digipeater and the service crashed while I was out:
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x54abcb]
goroutine 11 [running]:
github.com/cceremuga/ionosphere/framework/marshaler.ToLogFormat(...)
/home/user/sdr/aprs/ionosphere/framework/marshaler/marshaler.go:35
github.com/cceremuga/ionosphere/handlers/stdout.Stdout.Handle({}, 0xc0001d3c80)
/home/user/sdr/aprs/ionosphere/handlers/stdout/stdout.go:42 +0x12b
github.com/cceremuga/ionosphere/services/packet.handle(0xc0001e7200?)
/home/user/sdr/aprs/ionosphere/services/packet/packet.go:47 +0x74
github.com/cceremuga/ionosphere/services/packet.Decode({0x5c9238?, 0xc000064ae0?})
/home/user/sdr/aprs/ionosphere/services/packet/packet.go:33 +0x15d
created by github.com/cceremuga/ionosphere/subprocesses/multimon.Start
/home/user/sdr/aprs/ionosphere/subprocesses/multimon/multimon.go:41 +0x28a
I'm trying to run ionosphere on an older netbook running Ubuntu server (Latest release, command line only). Everything loads properly when I issue the ./ionosphere command, but instead of listening for packets, the program terminates, and I am back at the curser. The log file is completely empty.
Is there some dependacy that I'm missing, running on a non Gui version of Linux?
update: I was able to get it running properly installing it a different way (apt install). so likely there was a dependency that wasn't being fulfilled.
Hi how to specify the coordinates of the reception point aprs?
subj
It is possible to connect multiple RTL-SDR to a single pi, so it should be possible to configure which one ionosphere uses. However in the config/config.yml there is no option to specify the serial number of the SDR to use.
Since ionosphere is using rtl_fm, this should be possible as this can take a parameter:
As an example, I've two SDR:
$ rtl_test
Found 2 device(s):
0: Realtek, RTL2838UHIDIR, SN: 00000003
1: Realtek, RTL2832U, SN: 00001000
Since device 0 is the one I would like to use, whenever using rtl_fm I specify -d 0.
Could this functionality to be added to ionosphere?
Would be great to be able to specify a fixed location in a beacon, similar to what Direwolf allows.
Ideally would be awesome to be able to feed it from GPSD in the future.
example
callsign: AB1BB is reported as B1BB
I noted this behavior on two different callsigns in in area.
Can't launch program. It exits with this message:
FATA[0000] Failed to initialize log file.
exit status 1
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.