Spektrum Messung mit Satfind bzw. DVBSnoop

Wünsche, Anträge, Fehlermeldungen
dietmarw
Contributor
Beiträge: 1833
Registriert: Mittwoch 10. April 2002, 15:39

Spektrum Messung mit Satfind bzw. DVBSnoop

Beitrag von dietmarw »

Mal so als Idee..

könnte irgendwer den Satfind dahingehend ergänzen das er auf Wunsch
automatisch Messungen über alle Kanäle bzw. einzelne Bouq. macht?

Auf Kanal schalten, Kanalname + Satfind Werte in Datei im tmp schreiben,
nächster Kanal, Kanalname + Satfind Werte an Datei anhängen,
usw.

Das wäre sehr nützlich um Fehler der Satanlage zu finden!
dietmarw
Contributor
Beiträge: 1833
Registriert: Mittwoch 10. April 2002, 15:39

Beitrag von dietmarw »

*malhochschieb*

könnte sich da nicht evtl. mal ein plugin guru dran versuchen??

oder ein script guru :wink:
(zap auf kanal, dvbsnoop ausgabe auf /tmp, weiterzap...)
PT-1
Moderator english
Beiträge: 2458
Registriert: Donnerstag 20. Dezember 2001, 00:00

Beitrag von PT-1 »

Gibt es da nicht schon ein DVBsnoop Plugin:

http://home.arcor.de/pt-1/mdvbsnoop_v0.7_dbox2.zip
just_me
Einsteiger
Einsteiger
Beiträge: 123
Registriert: Montag 28. November 2005, 11:31

Beitrag von just_me »

Einen verwandten Feature Request "Diagramm Signalstärke über Frequenz" gäbe es auch unter: http://forum.tuxbox-cvs.sourceforge.net ... hp?t=41527
dietmarw
Contributor
Beiträge: 1833
Registriert: Mittwoch 10. April 2002, 15:39

Beitrag von dietmarw »

quick and dirty..
setzt /var/bin/dvbsnoop voraus
also damit scannt er 70 bouqets und jeweils 40 kanäle darin.

Code: Alles auswählen

#!/bin/sh

cd /tmp
rm /tmp/snoop.log

f=1 # anzahl bouqets

while expr $f != 70
do

i=1 # anzahl kanäle


	while expr $i != 40
	do

	pzapit $f $i

#	echo $i
	echo "--- Bouqet $f --- Kanal $i ---"
	echo "--- $f -- $i ---" >>/tmp/snoop.log
	/var/bin/dvbsnoop -s signal -n 2 | sed -e 's/  /_/g' | sed -e 's/__/_/g' | grep cycle: | cut -f4,5,6 -d_ >>/tmp/snoop.log
	i=`expr $i + 1`
	sleep 1
	done


f=`expr $f + 1`
sleep 1
done

ausgabebeispiel
--- 1 -- 1 ---
Sig: 56540_SNR: 59367_BER: 0
Sig: 56540_SNR: 59367_BER: 0
--- 1 -- 2 ---
Sig: 57054_SNR: 59110_BER: 0
Sig: 57054_SNR: 58853_BER: 0
--- 1 -- 3 ---
Sig: 57054_SNR: 58853_BER: 0
Sig: 57054_SNR: 59110_BER: 0
--- 1 -- 4 ---
Sig: 57054_SNR: 59367_BER: 0
Sig: 57054_SNR: 59624_BER: 0
--- 1 -- 5 ---
Sig: 57054_SNR: 59110_BER: 0
Sig: 57054_SNR: 58853_BER: 0
--- 1 -- 6 ---
Sig: 56797_SNR: 59110_BER: 0
Sig: 56797_SNR: 59367_BER: 0
--- 1 -- 7 ---
Sig: 56797_SNR: 59367_BER: 0
Sig: 57054_SNR: 59367_BER: 0
--- 1 -- 8 ---
Sig: 56797_SNR: 59110_BER: 0
Sig: 56797_SNR: 59624_BER: 0
dietmarw
Contributor
Beiträge: 1833
Registriert: Mittwoch 10. April 2002, 15:39

Beitrag von dietmarw »

immer noch quick and dirty, aber deutlich schneller und frequenz ausgabe
immer noch /var/bin/dvbsnoop voraussetzung

ob das kopieren am ende nach var sein soll muss jeder selber wissen.

Code: Alles auswählen

#!/bin/sh

cd /tmp
rm /tmp/snoop.log

f=1 # anzahl bouqets

while expr $f != 70
do

i=1 # anzahl kanäle


	while expr $i != 40
	do

	pzapit $f $i | grep Only && break

#	echo $i
	echo "--- Bouqet $f --- Kanal $i ---"
	echo "--- $f -- $i ---" >>/tmp/snoop.log
	/var/bin/dvbsnoop -s signal -n 2 | sed -e 's/  /_/g' | sed -e 's/__/_/g' | grep cycle: | cut -f4,5,6 -d_ >>/tmp/snoop.log
	/var/bin/dvbsnoop -s feinfo | grep Frequency: >>/tmp/snoop.log
	i=`expr $i + 1`
	sleep 1
	done


f=`expr $f + 1`
sleep 1
done

cp /tmp/snoop.log /var/snoop.log

ausgabe beispiel

Code: Alles auswählen

--- 1 -- 1 ---
Sig: 56540_SNR: 59367_BER: 0
Sig: 56540_SNR: 59367_BER: 0
    Frequency:  1118.856 MHz
--- 1 -- 2 ---
Sig: 57054_SNR: 59624_BER: 0
Sig: 56797_SNR: 59624_BER: 0
    Frequency:  1157.856 MHz
--- 1 -- 3 ---
Sig: 56797_SNR: 59624_BER: 0
Sig: 57054_SNR: 59881_BER: 0
    Frequency:  1157.856 MHz
--- 1 -- 4 ---
Sig: 56797_SNR: 59881_BER: 0
Sig: 56797_SNR: 59881_BER: 0
    Frequency:  1157.856 MHz
--- 1 -- 5 ---
Sig: 56797_SNR: 59881_BER: 0
Sig: 56797_SNR: 59881_BER: 0
    Frequency:  1157.856 MHz
--- 1 -- 6 ---
Sig: 56797_SNR: 59881_BER: 0
Sig: 56797_SNR: 59881_BER: 0
    Frequency:  1157.856 MHz
--- 1 -- 7 ---
Sig: 56797_SNR: 59624_BER: 0
Sig: 56797_SNR: 59881_BER: 0
    Frequency:  1157.856 MHz
just_me
Einsteiger
Einsteiger
Beiträge: 123
Registriert: Montag 28. November 2005, 11:31

Beitrag von just_me »

Hallo Dietmar,

könntest Du die Ausgabe so ändern, dass die Ausgabedatei zeilenweise geschrieben wird (mit allen für jeweils eine Einstellung relevanten Informationen in jeweils eine Zeile) ?

So dass die Datei "snoop.log" so aussehen würde:

Code: Alles auswählen

#Freqency Bouqet Channel RSSI SNR BER
1118.856 1 1 56540 40000 0
1118.856 1 2 56540 40000 1500
1118.856 1 3 56540 40000 100
1118.856 1 4 56540 40000 850
1138.856 2 1 57540 40000 0
1138.856 2 2 56540 40000 1500
1138.856 2 3 56540 40000 400
1138.856 2 4 57000 40000 800
1158.856 3 1 56540 40000 2000
1158.856 3 2 56540 40000 3500
1158.856 3 3 58540 40000 1100
1158.856 3 4 57000 40000 1850
1168.856 4 1 52540 40000 3000
1178.856 5 1 53540 40000 2500
1198.856 6 1 51540 40000 3000
1198.856 7 2 51540 40000 2500
1198.856 8 3 50540 40000 2100
1198.856 9 4 51000 40000 1850
Dies hätte den Vorteil, dass sich die Daten leichter weiterverarbeiten lassen.
Ein gnuplot script, das eine Ausgabe auf dem Bildschirm sowie im png und svg format ausgibt folgt als nächstes:)
Aufruf mit "gnuplot snoop.gnuplot" oder falls gnuplot unter /usr/local/bin installiert ist direkt mit "./snoop.gnuplot".
(Um Missverständnissen vorzubeugen, ich schlage nicht vor, gnuplot auf der dbox zu installieren)

Code: Alles auswählen

#!/usr/local/bin/gnuplot

set title "RSSI and BER versus Freqency" font ",24"
set yrange [35:70]
set xlabel "Freqency [kHz]"
set ylabel "Receive Signal Strength Indicator [arb. Units]"
set y2label "BER"
set y2tics
set y2range [0:20000]

plot "snoop.log" using 1:($4/1000) title "RSSI", \
             ""  using 1:($4/1000) title "" smooth csplines, \
             ""  using 1:6 axes x1y2 title "BER"

#now output in another format
set term png
set out "channel_log.png"
replot

#now output in another format
set term svg
set out "channel_log.svg"
replot

pause -1
Die erste Zeile am Beginn der Datei snoop.log

Code: Alles auswählen

#Freqency Bouqet Channel RSSI SNR BER
ermöglicht übrigens einigen Spreadsheet Programmen, beim Einlesen der Datei direkt diese Namen als Bezeichnung für die Spalten zu übernehmen.
OpenOffice 2.0 scheitert jedoch kläglich daran:(

Danke,
Frieder
dietmarw
Contributor
Beiträge: 1833
Registriert: Mittwoch 10. April 2002, 15:39

Beitrag von dietmarw »

Code: Alles auswählen

#!/bin/sh

cd /tmp
rm /tmp/snoop*.log
rm /var/snoop.log

f=1 # anzahl bouqets

echo "#Freqency Bouqet Channel RSSI SNR BER" >>/tmp/snoop.log


while expr $f != 70
do

i=1 # anzahl kanäle


	while expr $i != 40
	do

	pzapit $f $i | grep Only && break
	sleep 1

	si=`/var/bin/dvbsnoop -s signal -n 1 | sed -e 's/  /_/g' | sed -e 's/__/_/g' | sed -e 's/Sig://g' | sed -e 's/SNR://g' | sed -e 's/BER://g' | grep cycle: | cut -f4,5,6 -d_`
	sig=`echo $si | cut -f1 -d_`
	snr=`echo $si | cut -f2 -d_`
	ber=`echo $si | cut -f3 -d_`
	fre=`/var/bin/dvbsnoop -s feinfo | grep Frequency: | sed -e 's/MHz//g'| sed -e s/' Frequency: '//g`
	echo $fre $f $i $sig $snr $ber >>/tmp/snoop.log

	i=`expr $i + 1`
	done


f=`expr $f + 1`
#sleep 1
done

cat /tmp/snoop.log | sort >/tmp/snoop1.log
cp /tmp/snoop1.log /var/snoop.log
dietmarw
Contributor
Beiträge: 1833
Registriert: Mittwoch 10. April 2002, 15:39

Beitrag von dietmarw »

aktuelle versionen hier http://tuxbox2.trale.de/ unter Tools

v1 - siehe posting über diesem
v2 - plus min/max speicher in der console
PT-1
Moderator english
Beiträge: 2458
Registriert: Donnerstag 20. Dezember 2001, 00:00

Beitrag von PT-1 »

Koennte man so etwas auch machen um alle Pids etc jedes senders zu bekommen ?

Eventuell gleich als Hex umgerechnet ..?

Wuerde gerne eine HTML Seite bauen wo ich direkt per Link auf meine Liebling sender komme.

Eventuell dann auch 2 Sender gleichzeitig und will nicht jeden einzelnen Sender per "hand " abfragen ...

Siehe Diskussion hier:http://www.jackthegrabber.de/viewtopic. ... sc&start=0
dietmarw
Contributor
Beiträge: 1833
Registriert: Mittwoch 10. April 2002, 15:39

Beitrag von dietmarw »

grob angerissen, in der inneren schleife zb

echo "htmlheader, tabelle usw.." >/pfad_zum_htdocs/pids.html
pzapit --getpids | grep audio >>/pfad_zum_htdocs/pids.html
echo "htmlende usw.." >>/pfad_zum_htdocs/pids.html