Coder Social home page Coder Social logo

rhmedel / ground-station Goto Github PK

View Code? Open in Web Editor NEW

This project forked from darods/cansat-ground-station

0.0 1.0 0.0 85.11 MB

Code for a ground station where different sensor data are displayed in real time using Arduino and PyQtGraph

License: MIT License

Python 100.00%

ground-station's Introduction

Ground station for CanSat or OBC's

Code for an ground station where different sensor data are displayed in real time.

imagen

Table of contents


Support

If you used this project or learned something please give this project a star to keep doing open source projects


General info

The purpose of this project is to make the data transmitted by an OBC (on board computer) or a CanSat understandable at first sight through a text string on a serial port.

The code is in spanish but the logic behind is universal.

This project is strongly related to another rocket science and CanSat project. It's still in development.

Bugs

  • Most of the times the text items disappear, i invite you to solve this :v.

  • Sometimes it can't convert the first value of the list to int, but it solves it self by re-running it.


Technologies

Project is created with:

  • numpy==1.18.2
  • PyQt5==5.14.2
  • PyQt5-sip==12.7.2
  • pyqtgraph==0.10.0
  • pyserial==3.4

Setup

To be able to run it you have to open the terminal in the folder and type:

$ virtualenv env
$ source env/bin/activate
$ pip3 install -r requeriments.txt
$ python3 interfaz.py

if you don't have the electronics you can still use it! When the terminal asks you to write a serial port, write anything and it will work, obviously it won't trace any data. (but the text bug remains ;v).


How does it work?

How does it sample?

Every 500 ms takes a sample, this number comes from the data rate that the Arduino has. The loop is:

timer = pg.QtCore.QTimer()
timer.timeout.connect(update)
timer.start(500)

What values uses?

The update() function updates the graphics and text of the interface. The first thing it does is get a list of the information to be updated, this list is noted as a valor.

Then within update you execute the update methods specific to each element that depends on this list.

The values it receives are: 0. Logging time

  1. Relative height
  2. Is in free fall (0 or 1)
  3. Temperature
  4. Atmospheric pressure
  5. Pitch
  6. Roll
  7. Yaw
  8. Acceleration in X
  9. Y-axis acceleration
  10. Z-acceleration

How does it store the information?

Clicking on the iniciar almacenamiento button calls a function of the db class that changes a state that determines whether the guardar method writes the information in the list. The same happens with the detener almacenamiento button.

In this file the list called valor is stored in the same order adding at the end the date that is registered in the computer.


Sources

"If I have seen further than others, it is by standing upon the shoulders of giants." - newton making fun of hooke's back.


Licence

It's MIT <3. (for now)

Developed by Daniel Alejandro Rodriguez Suarez, leader of the ATL research seedbed, linked to the Universidad Distrital's LIDER research group.

ground-station's People

Contributors

darods avatar rhmedel avatar

Watchers

 avatar

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.