Benutzer-Werkzeuge

Webseiten-Werkzeuge


projekte:xplorer:software

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
projekte:xplorer:software [2014/02/18 09:03] – [Ablaufsteuerung] thastiprojekte:xplorer:software [2014/05/11 12:18] (aktuell) – [Rescue-Modus] thasti
Zeile 1: Zeile 1:
 ====== Software ====== ====== Software ======
 +
 +Die Software für das Projekt wird bei [[https://github.com/loetlab-jena/xplorer|github]] entwickelt. 
  
 ===== Signalverarbeitung ===== ===== Signalverarbeitung =====
-Durch einfachekleine Module wird eine Plug&Play-Pipeline-Architektur geschaffen. Alle Module unterstützen als Ein/Ausgabe von Audio-Dateien entweder Dateien oder stdin/stdout. So ist das in Linux übliche Piping möglich. Das Datenformat für Audio wird festgelegt auf Little Endian, 16 Bit. Die Samplerate wird standardmäßig von jeder Software zu 48kHz angenommen, kann aber durch Setzen der Umgebungsvariable XPLORER_FS überschrieben werden. +Da die Erzeugung des IQ-Basisbandsignals direkt im Raspberry Pi passieren solltemussten einige Module zur Signalverarbeitung geschrieben werden. Diese umfassen die APRSund SSTV-Erzeugung, eine Sprachansage und die Frequenzmodulation.
-Ausnahme sind hier die Erzeugung von APRS und SSTV. Diese werden aus Performancegründen mit der kleinstnötigen Samplerate erzeugt und danach auf die genutzte Samplerate skaliert+
  
 ===== Bestandteile ===== ===== Bestandteile =====
Zeile 9: Zeile 10:
  
   * Ablaufsteuerung (Aufnehmen und Abspeichern von Bildern, Erzeugung SSTV und APRS, Aussendung) - Python   * Ablaufsteuerung (Aufnehmen und Abspeichern von Bildern, Erzeugung SSTV und APRS, Aussendung) - Python
-  * LO-Steuerung (Trägerfrequenzerzeugung durch Einstellung GP0CLK) - C +  * LO-Steuerung (Trägerfrequenzerzeugung durch Einstellung des SI570) - C 
-  * APRS-Erzeugung (Mono-NF) - C+  * APRS-Erzeugung (Mono-NF) - Python
   * Robot36-Erzeugung (Mono-NF) - C   * Robot36-Erzeugung (Mono-NF) - C
   * FM-IQ-Modulation (Mono-NF zu Stereo-IQ) - C   * FM-IQ-Modulation (Mono-NF zu Stereo-IQ) - C
Zeile 17: Zeile 18:
   * Resampling von Audiodateien (resample) - builtin   * Resampling von Audiodateien (resample) - builtin
   * Konvertieren der Webcambilder zu 320x240 für Robot36 (convert) - builtin   * Konvertieren der Webcambilder zu 320x240 für Robot36 (convert) - builtin
 +  * gpsd für Aufnahme von GPS-Daten 
  
 ==== IQ-Modulation ==== ==== IQ-Modulation ====
Zeile 22: Zeile 24:
   * stereo-Audiodatei ausgeben   * stereo-Audiodatei ausgeben
  
-==== PIQ ==== +==== LOCTL / LOCTL570 ==== 
-  * GP0CLK auf Trägerfrequenz einstellen +  * GPCLK0 bzw Si570 auf frei wählbare Trägerfrequenz einstellen
-  * Stereo-WAV (beinhaltet IQ-Daten) über Soundkarte abspielen +
-  * GP0CLK abschalten+
  
 ==== APRS ==== ==== APRS ====
   * übergebene Position (Lat, Lon, Höhe, Temperatur) in WAV schreiben   * übergebene Position (Lat, Lon, Höhe, Temperatur) in WAV schreiben
-  * TODO Rewrite in C +  * sollte aus Performancegründen in C reimplementiert werden, stellte sich aber als nicht nötig heraus.
 ==== SSTV ==== ==== SSTV ====
   * übergebene Bilddatei in Robot-36 kodierte WAV wandeln   * übergebene Bilddatei in Robot-36 kodierte WAV wandeln
-  * OK, funktioniert +
-  * TODO Performancetests+
  
 ==== Ablaufsteuerung ==== ==== Ablaufsteuerung ====
 +Parameter T bestimmt die Missions-Steigzeit. Er muss global veränderbar sein.
 +
 Im Vorbereitungsbetrieb: Im Vorbereitungsbetrieb:
   * Start der Software   * Start der Software
-  * Warten auf GPS Fix +  * Status-LED an 
-  * LED an +  * Warten auf GPS-Fix 
-  * Testaussendungen (APRS, Pause, SSTV, Pause, APRS) +  * Status-LED blinken
-  * LED blinken+
   * 1 Minute warten   * 1 Minute warten
-  * Missionsstart (LED aus)+  * Missionsstart (SSTV-Aussendung beginnt)
  
 Im Missionsbetrieb:  Im Missionsbetrieb: 
-  * Beginn SSTV-Aussendung auf 145.200 (36 Sek) +  * PA an 
-  * neues Webcambild speichern +  * Beginn SSTV-Aussendung auf 145.200 (36 Sek), währenddessen: 
-  * SSTV-Erzeugung (robot36,fmmod) +    * neues Webcambild speichern 
-  * APRS-Erzeugung (afsk-encoder,fmmod) +    * SSTV, APRS und Ansage für nächste Aussendungen erzeugen
-  * Erzeugung Ansage 3xLAT, 3xLON  +
   * Aussendung APRS auf 144.800 (3 Sek)    * Aussendung APRS auf 144.800 (3 Sek) 
   * Aussendung Ansage auf 145.200 MHz  (5 Sek)   * Aussendung Ansage auf 145.200 MHz  (5 Sek)
-  * Pause 20 Sekunden +  * PA aus 
-  * nach X Minuten (je nach Version) wird die Nutzlast abgesprengt +  * Pause, bis 1min vorbei ist 
-  * nach X + TBD Minuten wird der Raspberry Pi heruntergefahren+  * nach wird die Nutzlast abgesprengt (siehe Absprengung) 
 +  * nach 2*T wird nur noch aller 5 Minuten APRS gesendet, kein SSTV weiter 
 +  * nach 3*T wird der Raspberry Pi heruntergefahren
  
 Absprengung: Absprengung:
 +  * Aussendung Signalton
   * Mikrotaster abfragen   * Mikrotaster abfragen
-  * wenn geschlossen: Heizung an bis er offen ist +    * wenn geschlossen: Heizung an bis er offen ist 
-  * wenn offen: Heizung für ?? Sekunden an +    * wenn offen: Heizung für Sekunden an
-  * Aussenden Signalton!+
  
 ==== Stromverbrauch nach Herunterfahren ==== ==== Stromverbrauch nach Herunterfahren ====
-  * Muss man den Raspberry Pi von Spannung trennen, oder braucht er nach Herunterfahren nur noch wenig Strom? --> scheinbar ist es so, dass er nach dem runterfahren noch mehr strom braucht - also besser anlassen.+  * Muss man den Raspberry Pi von Spannung trennen, oder braucht er nach Herunterfahren nur noch wenig Strom?
   * Raspberry + IQ-Mixer + Soundkarte   * Raspberry + IQ-Mixer + Soundkarte
     * Pon = 10V*0,23A = 2,3W     * Pon = 10V*0,23A = 2,3W
     * Poff = 10V*0,09A = 0,9W     * Poff = 10V*0,09A = 0,9W
     * Verringerung der aufgenommenen Leistung auf unter die Hälfte      * Verringerung der aufgenommenen Leistung auf unter die Hälfte 
 +Das Problem wurde schlussendlich nicht in Software, sondern durch die Kopfschusselektronik gelöst. Damit wird der Raspberry Pi hart vom Akku getrennt, was die Lebensdauer des Peilsenders enorm vergrößert.
 +
  
-==== Vorbereitung Temperatursensor ==== 
-    * apt-get install i2c-tools lmsensors 
-    * modprobe i2c-dev echo i2c-dev >> /etc/modules 
-    * i2cdetect -y 1 --> Anzeige des LM75 
-    * echo lm75 0x48 > /sys/class/i2c-adapter/i2c-1/new_device 
projekte/xplorer/software.1392714205.txt.gz · Zuletzt geändert: 2014/02/18 09:03 von thasti

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki