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/05 23:51] – [IQ-Modulation] ycprojekte: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 =====
 +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 
  
 ==== IQ-Modulation ==== ==== IQ-Modulation ====
Zeile 13: 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
 +  * 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
 +
  
 ==== 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 ==== +
-  * http://distribution.hexxeh.net/raspbian/raspbian-r3.zip herunterladen und per dd auf SD-Karte schreiben +
-  * Raspberry Pi starten lassen, IP per DHCP zuweisen -> pi:raspberry +
-  * root-Passwort ändern +
-  * rm /etc/ssh/ssh_host_* && dpkg-reconfigure openssh-server +
-  * apt-get update +
-  * apt-get install ntp fake-hwclock +
-  * apt-get install tasksel +
-  * tasksel install standard +
-  * apt-get update && apt-get dist-upgrade +
-  * rpi-update +
- +
-==== 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+
  
 +==== 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.
  
  
-> Was spricht gegen ein eigenes Kernelimage/Linuximage(runterladen, dd, fertig)? Dann hat man immer alles zusammen und muss nicht immer von vorn alles selber bauen. Ich werde wohl eh ein Github Repo aufmachen für mein StagePi, da könnte man auch XplorerPi als Branch vom offiziellen Zweig pflegen?   --- //[[dl3yc@darc.de|Sebastian Weiß]] 2014/02/02 18:42// 
->> erstmal muss es reproduzierbar erzeugt sein, dann wird eh ein image draus gemacht. am kernel gibts keine veränderungen, daher wird hier der ganze "userspacekram" ausgehend von einer vanilla installation dokumentiert 
projekte/xplorer/software.1391644291.txt.gz · Zuletzt geändert: 2014/02/05 23:51 von yc

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki