Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
DAB (+) Rpi + RTL2832 USB Stick
#21
(04.04.2017, 21:11)harryberlin schrieb: also vor 2h hat er wohl was angepasst mit autogain.
was muss man alles machen, um die compilierte .so zu bekommen?
kann man die dann einfach kopieren, oder muss man noch andere sachen installieren?

hier ist doch schon mal ein anfang für python.
https://github.com/JvanKatwijk/dab-cmdli...cmdline.py

@harryberlin: Klasse. Jan ist spitze :-)

Kompilieren ist (relativ) einfach. Ich habe ein relativ aktuelles Raspbian Jessie Image auf meinem Pi 3, auf dem ich bereits RasPiCar installiert habe. Wichtig ist, dass man den remote login (sprich SSH aktivieren) vor dem ersten Reboot mit rasp-config einschaltet um den Zugriff vom PC aus mit putty zu ermöglichen.

Anschliessend folgt man Jans Anweisungen und beachte, dass die Schritte nicht immer chronologisch sind. Bedeutet, dass man im Error-Fall u.U. etwas im Internet recherchieren muss. Auf jeden Fall gibt es die Schritt für Schritt Anleitung von jan für sein Projekt qt-dab und hier findet man die Befehle zum installieren der bei dab_cmdline erwähnten und benötigten Pakete.


Aus dem Gedächtnis (bitte ergänzen, falls etwas fehlt):
Code:
sudo apt-get update
sudo apt-get install --fix-missing build-essential g++ cmake pkg-config
sudo apt-get install libsndfile1-dev libfftw3-dev portaudio19-dev  
sudo apt-get install libfaad-dev zlib1g-dev libusb-1.0-0-dev mesa-common-dev
sudo apt-get install libgl1-mesa-dev libsamplerate-dev
Code:
# Anstatt rtl-sdr zu installieren, besser die aktuellere Version selber bauen:
wget http://sm5bsz.com/linuxdsp/hware/rtlsdr/rtl-sdr-linrad4.tbz
tar xvfj rtl-sdr-linrad4.tbz
cd rtl-sdr-linrad4
sudo autoconf
sudo autoreconf -i
./configure --enable-driver-detach
make
sudo make install
sudo ldconfig
cd

#Dann dab-cmdline holen und bauen:

git clone https://github.com/JvanKatwijk/dab-cmdline.git
cd ~/dab-cmdline/dab-library
mkdir build

# nun die Anpassungen vornehmen ich verwende meist 'vi'
# die 3. Zeile soll so aussehen:     add_definitions ( -Wall -g -std=c++11)
# etwas weiter unten bei 'adjust to your links' muss man "set(DABSTICK true)" aktiviert lassen und allne anderen 'sets' mit einem '#' auskommentieren.
vi CMakeLists.txt

cd build
cmake ..
make
make install

sudo ldconfig


cd ~/dab-cmdline
# Analog zu oben auch das nachfolgende CMakeFile anpassen
# die 3. Zeile soll so aussehen:     add_definitions ( -Wall -g -std=c++11)
vi CMakeLists.txt


# Nun das 'example' bauen
cd example
mkdir build
cd build
cmake ..
make

# das fertig gebaute 'dab_cmdline sollte nun hier im Verzeichnis "~/dab-cmdline/example/build" zu finden sein
Zitieren
#22
ich nutze osmc.

ich kann dir bis mkdir build folgen.
wozu das 'vi'

und warum soll das example kompiliert werden?
die .so sollte doch reichen, um dann mit python weiter zu machen.

btw: 
ich wohne in der nähe von muc.
Zitieren
#23
(05.04.2017, 17:45)harryberlin schrieb: ich nutze osmc.

ich kann dir bis mkdir build folgen.
wozu das 'vi'

und warum soll das example kompiliert werden?
die .so sollte doch reichen, um dann mit python weiter zu machen.

btw: 
ich wohne in der nähe von muc.

Wie gesagt, ich verwende 'vi' zum Editieren - ansonsten kann man 'nano' oder 'vim' oder irgendeinen anderen Editor verwenden. Nur keine Grudsatzdiskussion - jeder so wie er moog! Wichtig ist, die Einträge richtig einzustellen.

'example' habe ich zum Testen verwendet. Braucht man nicht, wenn alles funktioniert ;-)

btw. Ich wohne direkt in M.

Nachtrag: Die letzte Änderung in Jans Sourcen macht folgende Anpassung in ~/dab-cmdline/dab-library/CMakeLists.txt erforderlich:
if(DEFINED AIRSPY)
   set(AIRSPY true)
endif ()

if(DEFINED SDRPLAY)
   set(SDRPLAY true)
endif ()

#if(DEFINED DABSTICK)
   set(DABSTICK true)
#endif ()

if(DEFINED RTLTCP)
   set(RTLTCP true)
endif ()


Nach den beiden Befehlen:
    cmake ..
    make clean
kann dann 'dab-library' wie oben beschrieben neu gebaut werden.
Hinweis: der Befehl "make install" erfordert root Rechte, daher:
    sudo make install
Zitieren
#24
ich komme trotzdem nicht mit.
was bewirkt das ein und auskommentieren?
kann man mit hilfe des python moduls einen sendersuchlauf starten?
gibt das modul eine senderliste zurück? und in welcher form? sendername oder kanal?
gibt das modul einen artist zurück?
gibt das modul einen titel zurück?
gibt das modul eine bilddatei zurück?
was soll jetzt dieses tcp?
Zitieren
#25
(06.04.2017, 17:10)harryberlin schrieb: ich komme trotzdem nicht mit.
was bewirkt das ein und auskommentieren?
kann man mit hilfe des python moduls einen sendersuchlauf starten?
gibt das modul eine senderliste zurück? und in welcher form? sendername oder kanal?
gibt das modul einen artist zurück?
gibt das modul einen titel zurück?
gibt das modul eine bilddatei zurück?
was soll jetzt dieses tcp?

Auf viele der Fragen habe ich noch keine Antwort, aber ich hoffe auf Helfer...

Jan hat gestern die Konfiguration von aussen parametrierbar gemacht. Auf die Schnelle wußte ich nicht, wie das geht. Hier die simple Antwort:
   cmake .. -DDABSTICK=ON
Damit ist das Auskommentieren der if statements in ~/dab-cmdline/dab-library/CMakeLists.txt nicht mehr notwendig.

Der Sendersuchlauf geht (noch) nicht. Hier gibt es Überlegungen, wie/wo/was/wer mit Jan. Mein Vorschlag war es, einen Layer für die Radio Stationsverwaltung einzuführen. Der Layer läge zwischen dab-cmdline und Kodi, wird allerdings vom Quellcode bei dab-cmdline angesiedelt sein.

Der Layer müßte die folgenden Funktionen haben:
- Scan, Clear zum Aufbau der Radio Stationsliste
- Get Radio Stationsliste
- Set aktuellen Sender, der dann den gewünschten Sender abspielt. (Evt. Start und Stop Play).
- Set Callback Funtions zum Anzeigen der Radio Informationen und Bilder. Die Callbacks selber liegen klar auf Kodi Seite. Hier brauche ich einen Kodi Spezialisten, der definiert, wie dies implementiert werden kann und wie die Schnittstelle der Callbacks aussehen muss, um Informationen zum Programm, usw. anzeigen zu können.


'tcp' brauchen wir hier nicht. Nur 'DABSTICK' ist erforderlich.
Zitieren
#26
ich bin da zu wenig im thema, um zu verstehen was DDABSTICK=ON, SDR, AIRSPY bedeutet.

sinnvoll wäre eine klasse.
ich weiß zwar nicht was ein cmd layer ist, aber wozu?
in python kann man variablen ganz gut verwalten.

eine gui mit python code in kodi ist nicht all zu schwer.
Zitieren
#27
(06.04.2017, 20:38)harryberlin schrieb: ich bin da zu wenig im thema, um zu verstehen was DDABSTICK=ON, SDR, AIRSPY bedeutet.

sinnvoll wäre eine klasse.
ich weiß zwar nicht was ein cmd layer ist, aber wozu?
in python kann man variablen ganz gut verwalten.

eine gui mit python code in kodi ist nicht all zu schwer.

;-) Da nehme ich mit, dass du interessiert bist und ggf. den GUI Teil in Kodi ansehen würdest?

Die Problemstellung ist hier, zunächst eine Analyse der derzeit verwendeten FM Radio App (Add-On) vorzunehmen (Lernphase), mit der Zielsetzung es hier bei DAB ähnlich machen zu wollen. Vorteil wäre, dass man eine Basis zum experimentieren hätte...
Zitieren
#28
wieso die vorhandene, was ist mit der?
Zitieren
#29
Big Grin 
(07.04.2017, 15:41)harryberlin schrieb: wieso die vorhandene, was ist mit der?
Die vorhandene ist für FM [Bild: biggrin.png]
Zitieren
#30
ja, das ist mir schon bekannt. ich versteh nur nicht, wozu sie für dab notwendig ist?
Zitieren


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 2 Gast/Gäste
RasPiCarProjekt