Hi,
ich habe mit GnuRadio auf dem BananaPi mir ein kleines Programm
gebastelt, welches per RTL-SDR (RTL2832u + R820T) auf 137,xx MHz die
Noaa Satelliten empfängt. Das funktioniert soweit auch ganz gut. Das
Programm wird von einem Lazarus-Programm zu gegebener Zeit getstartet.
Ist die Zeit für den Satelliten um, so sendet das Lazarus-Programm per
Shell ein "Killall python" Befehl, welches die Aufnahme beendet und
danach aus der aufgenommenen Wave-Datei das Satellitenbild generiert,
Landkarte darüber legt und auf die Homepage lädt.
Das Problem ist nun, dass die Aufnahmen nicht immer bis zum Ende
aufgenommen werden, sondern das GnuRadio-Programm teils mitten in der
Aufnahme unvermittelt abbricht, obwohl die Zeit für den KillAll-Befehl
noch garnicht erreicht wurde. Entsprechend fehlen dann natürlich Teile
des Satellitenbildes. Kann es sein, dass es Hintergrundprozesse unter
Raspbian für BananaPi gibt, welche das System so stark auslasten (ausser
der Aufnahme passiert während der Zeit nichts. Selbst mein
Wetterstationsprogramm wird für die Zeit der Aufnahme beendet und danach
wieder gestartet) dass das GnuRadio Programm abbricht? Was mir gerade
durch den Kopf geht, ist der Punkt Strom. Bisher läuft das System über
ein 2A Netzteil, wobei gesagt werden muss, dass das System auf einer
Sata-Platte (160GB, 2,5", 5V/700mA) liegt und zusammen mit dem SDR-Stick
bestimmt nicht wenig Strom zieht. Daher werde ich erstmal noch über den
zweiten Micro-USB-Anschluss ein zweites 2A Netzteil dran hängen, in der
Hoffnung das es daran lag.
Fallen Euch noch Dinge ein, die das GnuRadio-Programm zum Absturz
bringen könnten? Die Bilder können hier: http://www.stenzis-hp.de/ unter
dem Punkt "Satellitenbilder BananaPi" angeschaut werden.
Vielen Dank im Vorraus,
Stefan.
Nachtrag: Ich habe jetzt am USB-OTG Anschluss ein zweites 5V/2A Netzteil
am laufen. Mal schauen, ob die Aufnahmen nun zukünftig ohne vorzeitigem
Ende laufen.
Mit Programmen wie htop oder top kannst du dir den Speicherhunger sowie
die CPU-Nutzung der laufenden Prozesse anschauen.
Bist du dir sicher, dass dein Lazarus-Projekt gnuradio immer zum
richtigen Zeitpunkt killt? Du könntest zur Kontrolle einen Logger in
dein Lazarus-Projekt einbauen, der bei jedem kill die Uhrzeit in eine
log-Datei schreibt.
Mit uptime kannst du rauskriegen, wie lange das System schon läuft (um
versehentliche Neustarts auszuschließen).
Viele Grüße
Michael
Hallo Michael,
denke mal, das mit den Zeiten sollte stimmen. Das Lazarus-Programm prüft
im Sekundentakt die aktuelle Zeit, mit der in einer Textdatei
hinterlegten Zeit. Stimmen beide überein, wird der Kill-Befehl
ausgeführt. Wegen Uptime, das System startet ja nicht gänzlich neu. Es
wird nur das kleine GnuRadio Programm teils vorzeitig beendet. Wie
gesagt, ich habe jetzt ein zweites Netzteil mit 2A am USB-OTG Anschluss.
Zusammen mit den 2A für BananaPi und Sata-Platte am eigentlichen
Strom-MicroUSB des Banana (vom Netzteilstecker geht ein Y Kabel ab. Ein
Anschluss direkt an die Sata-Platte, der andere an den Micro-USB des
Banana), ergeben sich somit 4A für das gesamte System, statt bisher 2A.
Vielleicht waren die 2A einfach zu wenig (2A für Sata-Platte, SDR-Stick
und BananaPi), wodurch der SDR-Stick hier und da mal Aussetzer hatte,
was GnuRadio dann nicht gut fand und sich beendet hat.
Der Befehl TOP zeigt nur Hintergrundprozesse, wie Lautstärkeregelung,
Uhr und derartiges, wenn alle Fenster zu sind. Denke, da werde ich nicht
mehr viel optimieren können. Zeitsynchronisation wurde auch auf ntpdate
per Crontab im Stundentakt geändert.
Auf jeden Fall danke ich Dir für die Vorschläge. Ich werde berichten ob
das hinzufügen des zweiten Netzteils bringt.
Gruß Stefan.
Update:
Bisher lief alles auf Raspbian, welches Lemaker für den Banana-Pi
portiert hat. Allerdings habe ich nun hier:
http://forum.golem.de/kommentare/opensource/raspberry-pi-2-ausprobiert-schnell-rechnen-langsam-speichern/ein-wenig-doof-..../89796,4043611,4046511,read.html
Vierter Post von oben von Cubie2, erfahren das Raspbian nur einen von 2
Prozessorkernen unterstützt. Daher habe ich mir nun Bananian
installiert, welches ein Minimal-System ohne Desktop ist und mir LXDE
darauf installiert. Zumindest wird beim booten schon mal angezeigt, dass
beide Kerne Verwendung finden. Mal schauen ob sich darauf GNURadio
genauso gut compilieren lässt wie auf Raspbian und ob sich durch die
Nutzung beider Kerne, mein Problem von allein löst. Irgendwo aber
schwache Leistung, dass ein für den BananaPi portiertes System dessen
Hardware nicht in vollem Umfang unterstützt.
Hallo Stefan,
hast Du mittlerweile dein Projekt voranbringen können und Gnuradio unter
Bananian zum Laufen gebracht?
Ich bin nämlich mit der selben oder ähnlichen Aufgabe am kämpfen und
komme nicht richtig weiter.
Momentan hänge ich im Bereich "cmake" fest und bekomme stets die
Fehlermeldung: "volk required but not found".
Der Versuch, volk zu installieren, ist bis jetzt gescheitert.
Über einen Tipp von dir, falls Du bereits erfolgreich warst, würde ich
mich freuen. ;-)
Gruß
Icke
Moin,
falls es jemandem hilft:
Ich habe ein ähnliches Projekt auf einem BananaPro realisiert, auch mit
GnuRadio und RTL2832 (Noxon). Allerdings geht es bei mir nicht um die
NOAA-Satelliten sondern um AIS und ADS-B, beides funktioniert
einwandfrei. AIS ist deutlich stressiger für die Banane und erzeugt eine
dauerhafte Load von ca. 3.4, vermutlich weil auf beiden AIS-Frequenzen
gleichzeitig getrackt wird.
Gelegentlich hatte ich das Problem, dass im AIS-Betrieb das System
sporadisch abstürzt und neu bootet. Die Ursache war tatsächlich die
Spannungsversorgung, die bedingt durch ein zu langes USB-Kabel ein wenig
wackelich war. Mit einem kurzen Kabel geht es problemlos.
Unterwegs versorge ich das Teil aus einem USB- Powerpack vom Aldi (ich
glaube 7.2Ah), damit läuft AIS ziemlich genau 4 Stunden, dann ist
Feierabend.
Als System verwende ich Armbian, das ist definitiv das Beste, was mir
bananenmäßig bisher begegnet ist.
Frage zum NOAA-Receiver: Welche Antenne verwendest Du? Hast Du eine
Quadrifilar-Antenne?
Hallo,
ich habe heute zufällig diesen Thread wieder entdeckt. Der Empfang läuft
über einen SDR-Stick (RTL2832u + R820T) und einer QFH-Antenne für
137MHz, welche ich mir selbst gebaut habe. Die Problematik des
vorzeitigen beendens des GNUradio-Programms besteht leider noch immer.
Ich habe inzwischen schon mit allem möglichen experimentiert. Kürzeres
Kabel, aktiver USB-Hub mit eigenem Netzteil, andere Programme
automatisch beenden wenn Satellit empfangen wird, ... Bisher hat nichts
geholfen. Mal schafft es das Programm so lange zu laufen, bis es durch
das Steuerprogramm beendet wird und ein anderes mal, beendet sich das
GNURadio-Programm vorzeitig selbst. Zu bewundern sind die Satbilder
(Inzwischen auch die des russischen Meteor) unter
http://wetterstation-hohenwalde.de/ .
Gruß Stefan.