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
Nächste ÜberarbeitungBeide Seiten der Revision
projekte:xplorer:software [2014/02/02 14:08] thastiprojekte:xplorer:software [2014/05/11 12:17] – [Stromverbrauch nach Herunterfahren] thasti
Zeile 1: Zeile 1:
 ====== Software ====== ====== Software ======
 +
 +Die Software für das Projekt wird bei [[https://github.com/loetlab-jena/xplorer|github]] entwickelt. 
 +
 +===== Signalverarbeitung =====
 +Da die Erzeugung des IQ-Basisbandsignals direkt im Raspberry Pi passieren sollte, mussten einige Module zur Signalverarbeitung geschrieben werden. Diese umfassen die APRS- und SSTV-Erzeugung, eine Sprachansage und die Frequenzmodulation.
  
 ===== Bestandteile ===== ===== Bestandteile =====
 Die Software besteht aus kleinen Modulen, die zentral von einer Ablaufsteuerung koordiniert werden. Die Software besteht aus kleinen Modulen, die zentral von einer Ablaufsteuerung koordiniert werden.
  
-  * Ablaufsteuerung  +  * Ablaufsteuerung (Aufnehmen und Abspeichern von Bildern, Erzeugung SSTV und APRS, Aussendung) - Python 
-  * PiFM (Python-Wrapper+  * LO-Steuerung (Trägerfrequenzerzeugung durch Einstellung des SI570- C 
-  * APRS (Python-Wrapper+  * APRS-Erzeugung (Mono-NF- Python 
-  * Robot36 (Python-Wrapper)+  * Robot36-Erzeugung (Mono-NF) - C 
 +  * FM-IQ-Modulation (Mono-NF zu Stereo-IQ) - C 
 +  * Sprachsynthese (Aneinanderreihen von Zahlen-WAVs mit Pause) - Python / C 
 +  * Audioplayer für Stereo-IQ-Daten (aplay- builtin 
 +  * Resampling von Audiodateien (resample) - builtin 
 +  * Konvertieren der Webcambilder zu 320x240 für Robot36 (convert) - builtin 
 +  * gpsd für Aufnahme von GPS-Daten 
  
-==== PiFM ==== +==== IQ-Modulation ==== 
-  * übergebene WAV-Datei über HF aussenden +  * mono-Audiodatei frequenzmodulieren (Frequenzhub und Mittenfrequenz einstellbar) 
-  * **TODO** hinterher HF abschalten+  * stereo-Audiodatei ausgeben 
 + 
 +==== LOCTL / LOCTL570 ==== 
 +  GPCLK0 bzw Si570 auf frei wählbare Trägerfrequenz einstellen
  
 ==== APRS ==== ==== APRS ====
-  * **TODO** übergebene Position (Lat, Lon, Höhe, Temperatur) in WAV verpacken +  * übergebene Position (Lat, Lon, Höhe, Temperatur) in WAV schreiben 
-  * via PiFM versenden+  * sollte aus Performancegründen in C reimplementiert werden, stellte sich aber als nicht nötig heraus. 
 +==== SSTV ==== 
 +  * übergebene Bilddatei in Robot-36 kodierte WAV wandeln
  
-==== Robot36 ==== 
-  * übergebene Bilddatei in wav wandeln 
-  * via PiFM versenden 
  
 ==== 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: 
-  * Speichern aktuelle Positionsinformation +  * PA an 
-  * Aussendung APRS auf 144.800 MHz (Sek) +  * Beginn SSTV-Aussendung auf 145.200 (36 Sek), währenddessen: 
-  1 Bild speichern +    neues Webcambild speichern 
-  Ansage 3xLAT3xLON auf 145.200 MHz (10 Sekunden  +    SSTVAPRS und Ansage für nächste Aussendungen erzeugen 
-  * Aussendung SSTV auf 145.200 MHz (36 Sekunden) +  * Aussendung APRS auf 144.800 (3 Sek)  
-  * Pause (10 Sekunden+  * Aussendung Ansage auf 145.200 MHz  (5 Sek
-  * Aussendung APRS (3 Sek) +  * PA aus 
-  * Pause 20 Sekunden +  * Pause, bis 1min vorbei ist 
-  * nach X Minuten (je nach Version) wird die Nutzlast abgesprengt +  * nach wird die Nutzlast abgesprengt (siehe Absprengung) 
-  * nach X + TBD Minuten wird der Raspberry Pi heruntergefahren und/oder abgeschaltet+  * 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! +
- +
-==== offene Fragen ==== +
-  * 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. +
- +
-===== Aufsetzen des Produktivsystems ===== +
-==== Installation des Grundsystems ==== +
-  * 2014-01-07-wheezy-raspbian.img auf SD-Karte übertragen +
-  * Raspberry Pi starten lassen, IP per DHCP zuweisen -> pi:raspberry +
-  * Ausführen von raspi-config +
-    * Camera Support on +
-    * Expand Filesystem +
-  * mit aptitude alle X-Server-bezogenen Pakete entfernen+
  
 +==== Stromverbrauch nach Herunterfahren ====
 +  * Muss man den Raspberry Pi von Spannung trennen, oder braucht er nach Herunterfahren nur noch wenig Strom?
 +  * Raspberry + IQ-Mixer + Soundkarte
 +    * Pon = 10V*0,23A = 2,3W
 +    * Poff = 10V*0,09A = 0,9W
 +    * 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.
 +==== Rescue-Modus ====
 +Der Raspberry Pi muss bei einem unerwarteten Reboot nach erfolgtem Missionsstart sofort ein Ausklinken auslösen!
 ==== Vorbereitung Temperatursensor ==== ==== Vorbereitung Temperatursensor ====
     * apt-get install i2c-tools lmsensors     * apt-get install i2c-tools lmsensors
Zeile 66: Zeile 78:
     * i2cdetect -y 1 --> Anzeige des LM75     * i2cdetect -y 1 --> Anzeige des LM75
     * echo lm75 0x48 > /sys/class/i2c-adapter/i2c-1/new_device     * echo lm75 0x48 > /sys/class/i2c-adapter/i2c-1/new_device
-    *  
projekte/xplorer/software.txt · Zuletzt geändert: 2014/05/11 12:18 von thasti

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki