s<style> .td{ width: 150px; font-size: 30px } .table{ align-items: center; align: center; vertical-align: center; } </style>
codul main (de preferat) trebuie rulat astfel:1. sudo -E python main.py sau
2. sudo -E python main.py ttyUSB0
deoarece pe portul de arduino va avea acces doar utilizatorul root, iar nimeni altcineva nu va avea acces asupra citirii datelor
flagul -E ajuta pentru a oferi utilzatorului root permisiunile de a folosi variabilele locale ale userului pentru a face rendering la GUI
A doua varianta(2.) se foloseste atunci cand stii portul pe care a fost conectata placuta, iar prima pentru detectie automata
Observatie
pachetul va avea structura de tip:
- RSSI - Received Signal Strength Indicator
- NR SATT - Numar de sateliti conectati(matematic vb pentru triangulare este nevoie de 4 pentru a determina un pct in spatiul R3, dar pentru acuratete si pentru regesia vectorului viteza/acceleratie uneori este nevoie de 5 pentru aproximare corecta
- TIMESTAMP - vom avea ceva de forma SS:MMM, unde S este secunda si M milisecunda, deoarece ora si minutul lansarii se cunosc
- LAT -
- LONG -
- TEMP - un integer in Celsius, Kelvin ne aduce redundanta cu variabile de dimensiuni mult mai mari provenit din diferenta fata de un 0 K care este foarte jos fata de Celsius si atunci retinem mult prea multa dimensiune de date
- ALT - altitudinea va fi pana in 30 000ft ~ 10km ca marja superioara, astfel incat ne putem incadra intr-un uint16_t, echivalentul unui Unicode UTF-16 ca dimensiune
- ACCEL (X,Y,Z) - aceeleratia va fi pe 3 axe fiecare cu o valoare
- GYRO (X,Y,Z) - inclinatia va fi de asemenea descompusa pe cele 3 axe
Variabila | Tip de data folosit | Exemplu |
RSSI | uint8_t | 30 |
SAT | uint8_t | 6 |
TIMESTAMP | char [6] | 20:300 24:103 25:099 |
LAT | uint8_t | 2341 |
LONG | uint8_t | 4001 |
LONG | uint8_t | 4001 |
LONG | uint8_t | 4001 |