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
Letzte ÜberarbeitungBeide Seiten der Revision
projekte:xplorer:software [2014/02/02 16:51] – anleitung erweitert thastiprojekte:xplorer:software [2014/05/11 12:17] – [Vorbereitung Temperatursensor] 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 ===== +==== Stromverbrauch nach Herunterfahren ==== 
-==== Installation des Grundsystems ==== +  * Muss man den Raspberry Pi von Spannung trennenoder braucht er nach Herunterfahren nur noch wenig Strom? 
-  * http://distribution.hexxeh.net/raspbian/raspbian-r3.zip herunterladen und per dd auf SD-Karte schreiben +  * Raspberry + IQ-Mixer + Soundkarte 
-  * Raspberry Pi starten lassenIP per DHCP zuweisen -> pi:raspberry +    Pon = 10V*0,23A = 2,3W 
-  * root-Passwort ändern +    Poff = 10V*0,09A = 0,9W 
-  rm /etc/ssh/ssh_host_&& dpkg-reconfigure openssh-server +    Verringerung der aufgenommenen Leistung auf unter die Hälfte  
-  apt-get update +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. 
-  apt-get install ntp fake-hwclock +==== Rescue-Modus ==== 
-  apt-get install tasksel +Der Raspberry Pi muss bei einem unerwarteten Reboot nach erfolgtem Missionsstart sofort ein Ausklinken auslösen!
-  * 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 
-    *  
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