Coder Social home page Coder Social logo

faradayrf / aprs2influxdb Goto Github PK

View Code? Open in Web Editor NEW
28.0 28.0 9.0 118 KB

Interfaces ham radio APRS-IS servers and saves packet data into an influxdb database

Home Page: https://www.faradayrf.com

License: GNU General Public License v3.0

Python 100.00%

aprs2influxdb's People

Contributors

kb1lqc 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

Watchers

 avatar  avatar  avatar

aprs2influxdb's Issues

Implement Unit Testing

Summary

Start testing this code. Might need to rework seperate functions to perform tasks for this.

Problem Explanation

https://docs.python.org/2/library/unittest.html

Supporting Information

This is a handy spot to post any screenshots or file outputs in order to better support this issue. We want to keep the top of the ticket clutter-free as possible.

Support APRS Telemetry Scaling and Naming

Summary

aprslib provides parsing of scaling values and channel names. We should use these...

http://aprs-python.readthedocs.io/en/latest/parse_formats.html#telemetry-configuration

Problem Explanation

Provide a more in-depth explanation of the problem or feature if applicable

Supporting Information

This is a handy spot to post any screenshots or file outputs in order to better support this issue. We want to keep the top of the ticket clutter-free as possible.

Remove use of Configuration Files

Summary

Remove use of configuration files as use is simple and we can rely on command line arguments ever time we need to run the code and that seems much more simple.

Problem Explanation

It seems like a lot of work to keep supporting configuration files and this program aims to be simple. I think we should just use command line arguments instead.

Supporting Information

  • Remove Configuration Files
  • Ensure use of command line arguments in all spots where configs were loaded before

Add CWOP Support

Summary

Pull in CWOP weather stations from the CWOP source. This is distinctly different than APRS-IS. I've known about this for a few weeks but poking from @el-iso makes me think this is probably more useful than originally thought.

Problem Explanation

Provide a more in-depth explanation of the problem or feature if applicable

Supporting Information

Stop Program from Exiting Every Hour or So

Summary

Make this program more robust, It seems to exit often. Maybe I should log to file as well so I can figure out what goes wrong easier.

Problem Explanation

For some reason the program exits every hour or so. I am not sure if it is running out of memory or a network connection is failing. Need to investigate more.

Supporting Information

This is a handy spot to post any screenshots or file outputs in order to better support this issue. We want to keep the top of the ticket clutter-free as possible.

Pull in all Useful APRS Information

Summary

I am missing some information provided my aprslib which Faraday doesn't send. I should also consider compressed formats.

Problem Explanation

Provide a more in-depth explanation of the problem or feature if applicable

  • Save all relevant information for uncompressed packets to influxdb
  • Parse and save all relevant compressed packets to influxdb
  • Separate parsing and consumer functions better

Supporting Information

Uncompressed

aprs2influxdb_UncompressedPackets.zip is a zip file of valid (should be) uncompressed packets over about 30 seconds. Should contain most relevant data

Parsing Ocassionally Errors With Unbalanced Quotes

Summary

image

Problem Explanation

Provide a more in-depth explanation of the problem or feature if applicable

Supporting Information

This is a handy spot to post any screenshots or file outputs in order to better support this issue. We want to keep the top of the ticket clutter-free as possible.

APRS-IS Login Required to be Unique

Summary

Logging into APRS-IS appears to require unique callsigns. This is problematic because I only have one! I want to connect faraday-aprs client to APRS-IS and also aprs2influxdb. What ends up happening is that APRS-IS just ignores the second connection. This means if aprs2influxdb is connected then Faraday data never gets to APRS-IS. Need a path around this.

Problem Explanation

ping @PhirePhly would you know any fix for this? Seems pretty restrictive.

Supporting Information

This is a handy spot to post any screenshots or file outputs in order to better support this issue. We want to keep the top of the ticket clutter-free as possible.

Compressed Packets Have Wierd Non-Conformities

Summary

Not all packets are as expected. I have seen some compressed packets that have some super long comments and have altitudes among other items such as timestamps. I should support them.

Problem Explanation

This could easily be proper APRS format but the aprslib documentation led me not to know if this is to be expected. Moving on and not supporting at the time of this ticket creation. Will do later.

Supporting Information

{'comment': u'L3>4JOAlBXLAAzE9JOAlBXLAA+g4JOAlBXLAAip4JOAlBXLAAAo9JOAlBXLAAnk9JOAlBXLAA"<3JOAlBXLAA]k8JOAlBXLAABh3JOAlBXLAANn3JOAlBXLAA4Y3JOAlBXLAAZc4JOAlBXLAALO4JOAlBXLAA-08JOAlBXLAAT(3JOAlBXLAAVs3JOAlBXLAA', 'via': u'DL7AD', 'from': u'DL7AD-13', 'to': u'APECAN', 'messagecapable': False, 'altitude': 0.3048, 'format': 'compressed', 'longitude': 0.0, 'raw': u'DL7AD-13>APECAN,WIDE1-1,qAO,DL7AD:/044031h/NN!!NN!!O!!6L3>4JOAlBXLAAzE9JOAlBXLAA+g4JOAlBXLAAip4JOAlBXLAAAo9JOAlBXLAAnk9JOAlBXLAA"<3JOAlBXLAA]k8JOAlBXLAABh3JOAlBXLAANn3JOAlBXLAA4Y3JOAlBXLAAZc4JOAlBXLAALO4JOAlBXLAA-08JOAlBXLAAT(3JOAlBXLAAVs3JOAlBXLAA', 'symbol_table': u'/', 'timestamp': 1507610431, 'latitude': 0.0, 'path': [u'WIDE1-1', u'qAO', u'DL7AD'], 'symbol': u'O', 'raw_timestamp': u'044031h'}

Fix Configuration File

Summary

Provide a generic configuration file setup for a base install of influxdb settings. Allow user to edit this as needed with command line options.

Problem Explanation

Installation should be easy and configuration also easy.

Supporting Information

This is a handy spot to post any screenshots or file outputs in order to better support this issue. We want to keep the top of the ticket clutter-free as possible.

Make Installeable With pip

Summary

Use setuptools and pbr much like faraday-software to install aprs2influxdb

Problem Explanation

Running aprs2db on a server should be simple and therefore this should be installed via pip

Supporting Information

This is a handy spot to post any screenshots or file outputs in order to better support this issue. We want to keep the top of the ticket clutter-free as possible.

Timestamps in Database are Local to Server

Summary

Timestamps are local to when the server receives the APRS-IS packet. Not sure there's much I can do about this with APRS-IS as I don't think many stations at all provide a timestamp. I should put some thought into this however.

Problem Explanation

Provide a more in-depth explanation of the problem or feature if applicable

Supporting Information

This is a handy spot to post any screenshots or file outputs in order to better support this issue. We want to keep the top of the ticket clutter-free as possible.

Update Documentation To Install With Virtual Environment

Summary

Using a virtualenv to install makes the installation work better. This is also self-contained and apparently suggested practice in general. It's difficult to install between Linux and Windows without virtual environments too.

Problem Explanation

Installing on Windows and Debian Linux is a pain without virtualenv. This makes sense to move to and it just streamlines the operation.

Supporting Information

I don't feel that it's necessary to isolate just this program with virtualenv but the user should probably specially use one OR just use one that they use for all packages on their computer as to isolate the python bin/

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.