Hi,
was nutzt ihr bei der Auswertung von FMS und ZVEI für Antennen am DVBT-Stick?
Hi,
was nutzt ihr bei der Auswertung von FMS und ZVEI für Antennen am DVBT-Stick?
Irgendwie komme ich nie zu einer Auswertung...
Bräuchte Pocsac 1200, Frequenz ist bekannt.
Vielleicht kann noch jemand bei der SQL-Datenbank helfen. Wo wird die Datenbank abgelegt, woher nehme ich die Daten für das Skript?
Ich würde gerne auf der Himbeere oder der Banane ein Auswertesystem nutzen, und mit ner 2. Himbeere einen Monitor zur Darstellung der Einsatzstellen (in den letzten 15 min.).
Vielleicht auch mit der 3. Himbeere ein GoogleMaps-Fenster, zur Darstellung des Einsatzortes.
Das ist wohl Ziel der meisten User hier. Vielleicht kann man hier Images bereit stellen.
Hallo hobbybastler72,
wo genau hängt es denn? Hast Du rtl_fm installiert bekommen und die Sachen von RasPoc von github gezogen und installiert? Zusätzlich zu diesen Dingen muss natürlioch auch noch ein mysql als Datenbank installiert werden und anschließend eine DB angelegt werden und die darin enthaltenen Tabellen mit dem von Smith zur Verfügung gestellten Skript erzeugt werden.
Ein komplettes Image bereits zustellen denke ich ist nicht sinnvoll, da hier auch sehr viele Anpassunge dann noch gemacht werden müssten, so dass dies dann einwandfrei in Deiner Umgebung läuft.
Prinzipiell vesrtehe ichw as Du damit machen möchtest, allerdings denke ich das dies auch ein RasPi 2 Modell B evtl. je nach Lastaufkommen einzeln bewerkstelligen könnte.
Erst mal Danke für das Script, der MySQL Support arbeitet Top.
Ich würde gerne bei bestimmten ZVEI Schleifen eine ca 30 Sekunden Aufzeichnung starten.
Dazu habe ich zu erst einmal im Script rtl_fm und multimon in 2 einzelne subprocess'es gepackt und leite den stdout von rtl_fm auf den stdin von multimon. Das klappt auch super.
Nun versuche ich bei einem ZVEI Alarm mit einem weiteren Subprozess eine Aufnahme zu starten. Der Sound komtm hierbei wieder direkt von rtl_fm als raw über rtl_fm.stdout in den stdin des Aufnahme Prozess.
Aufnahme versuche ich aktuell per "sox" genue Codeänderung kann ich erst heute Abend Posten. Die Aufnahme an sich funktioniert auch, allerdings total abgehackt und nicht zu verstehen. Multimon wertet aber während der Aufnahme sauber weiter aus.
Ich hoffe Ihr versteht was ich meine und könnt mir evtl helfen.
Gruß
PS: Programmiere zwar kein python, spreche aber viele andere Sprachen, und kann mich daher schnell einarbeiten. Wenn Interesse besteht würde ich mich gerne im Projekt mit einbringen. PHP zwecks Front End ist auch kein Problem :-)
Geändert von Schrolli (31.03.2015 um 11:43 Uhr)
@Schrolli,
das wird so nix.
Ich denke mal Python kommt da mit dem Timing nicht nach.
Habe da schon einiges an Lehrstunden ;-) investiert.
Bei mir funktioniert das so, fast perfekt:
Ich nutze dafür das snd_aloop Device.
Sollte unter Raspian verfügbar sein.
Auf meinem Banana Pi habe ich mir selbst einen Kernel mit aloop gebaut.
1. Mache mal ein "modprobe snd-aloop" und schaue mal mit "aplay -l" ob Du ein Loopback Device hast.
2. Erstelle Dir folgende .asoundrc (bei mir liegt die unter /root/)
3. Jetzt kannst Du hiermit das Signal einspeisen:Code:pcm.dsnooped { type dsnoop ipc_key 2048 ipc_perm 0666 slave { pcm "hw:Loopback,1" channels 1 rate 22050 } }
Und hiermit in den multimon-ng wieder einspeisen:Code:rtl_fm = subprocess.Popen("sudo rtl_fm -d "+str(deviceid)+" -f "+str(frequenz)+"M -M fm -s 22050 -l " + str(squelch) + " -p "+str(ppmerror)+" \ -E DC -F 0 -g 50 | AUDIODEV=plughw:Loopback,0 play -t raw -r 22050 -e signed-integer -b 16 -c1 -V1 -q -", stdout=subprocess.PIPE, stderr=open(LogString_rtl_fm,'a'), shell=True)
Einen Record mache ich hiermit:Code:multimon_ng = subprocess.Popen("sudo arecord_multimonng" +str(deviceid)+ " -r 22050 -D plug:dsnooped -c 1 -f S16_LE -t wav | \ multimon-ng" +str(deviceid)+ " "+str(demod1)+" "+str(demod2)+" "+str(demod3)+" -f alpha -t raw -", stdout=subprocess.PIPE, stderr=open(LogString_multimonng,'a'), shell=True)
Das funktioniert so eigentlich ganz gut. Nur nach ca. 12-24 Stunden,Code:record = subprocess.Popen("sudo arecord_memo" +str(deviceid)+ " -D plug:dsnooped -f S16_LE -r 22050 -c 1 -d " + str(zvei_RecTime) + " -t raw | lame --scale 10 -s 22050 -r -m mono -b 16 --cbr --resample 48k --lowpass 4 --tt '" + ID3 + "' - " + zvei_RecPath + memolink_zvei, stdout=subprocess.PIPE, stderr=open(LogString_memo,'a'), shell=True)
hängt sich der rtl_fm weg. In den Logfiles steht aber kein Fehler.
Eventuell läuft da irgend ein Buffer voll.
Ich habe mir hierfür ein Python WatchDog Script geschrieben.
Damit werden alle Dienste dann durch gestartet.
Momentan experimentiere ich mit dem "tee" Befehl.
Damit starte ich alles vom Bash und splitte den Stream zum
multimon-ng (hier wird ein Python-Filter-Script mit aufgerufen)
und in das snd-aloop Device.
Das läuft so jetzt schon 3 Tage durch !!!!
Gruß
Marcel
Super, Danke!
Werde das morgen mal testen.
Wenn ich das richtig verstehe, leitest du die Daten also in eine virtuelle Soundkarte, von der dann multimon und das record wieder abgreift, ist das so korrekt?
Gruß
Aktive Benutzer in diesem Thema: 5 (Registrierte Benutzer: 0, Gäste: 5)