Lichtsteuerung mit dem Raspberry Pi, QLC+ und OpenDMX-kompatiblen Interfaces

  • Ersteller chrisderock
  • Erstellt am
frank@frank-VirtualBox:~/RPi-Kernel$ ./RPiKernelBuild.sh
bash: ./RPiKernelBuild.sh: /bin/bash^M: bad interpreter: No such file or directory

frank@frank-VirtualBox:~/RPi-Kernel$

Lass mich raten: Du hast das Script zuerst auf Deine Windose geladen? Das Problem lässt sich lösen:

$: sudo apt-get install dos2unix && dos2unix RPiKernelBuild.sh

Unter Windows und Unix/Linux hast Du verschiedene Arten, wie Zeilen beendet werden:

Windows: \r\n (Carriage Return, Newline)
Linux: \n (Newline)

Also wird das Carriage Return als ^M dargestellt.
 
  • Gefällt mir
Reaktionen: 2 Benutzer
Ich habe dein Script "RPiKernelBuild.sh" getauft...

Hallo chrisderock,

... wenn ich das unter Windows herunterlade und dann nach Ubuntu kopiere, dann ist an jedem Zeilenende ein 'CR' 'LF' dran. Sowas aber auch...

Also lade ich es unter Ubuntu mittels Firefox (kopiere es in ein leeres Dukument), dann sind nur 'LF' am Zeilenende. Das war schon mal eine wesentliche Hürde...

Es läuft dann auch ein paar Sekunden und endete danach (ohne Fehlermeldungen!) mit:
...
update-alternatives: using /usr/bin/g++ to provide /usr/bin/c++ (c++) in auto mode
Setting up dpkg-dev (1.17.5ubuntu5.3) ...
Setting up build-essential (11.6ubuntu6) ...
Setting up libfakeroot:i386 (1.20-3ubuntu2) ...
Setting up fakeroot (1.20-3ubuntu2) ...
update-alternatives: using /usr/bin/fakeroot-sysv to provide /usr/bin/fakeroot (fakeroot) in auto mode
Setting up libalgorithm-diff-perl (1.19.02-3) ...
Setting up libalgorithm-diff-xs-perl (0.04-2build4) ...
Setting up libalgorithm-merge-perl (0.08-2) ...
checking needed programs

frank@frank-VirtualBox:~/RPi-Kernel$

Ist das ein "gutes Zeichen"?

Auweia...

Frank
--- Beiträge wurden zusammengefasst ---
Lass mich raten: Du hast das Script zuerst auf Deine Windose geladen? Das Problem lässt sich lösen:

$: sudo apt-get install dos2unix && dos2unix RPiKernelBuild.sh

Unter Windows und Unix/Linux hast Du verschiedene Arten, wie Zeilen beendet werden:

Windows: \r\n (Carriage Return, Newline)
Linux: \n (Newline)

Also wird das Carriage Return als ^M dargestellt.


Ja, deine Antwort so schnell, während ich hier am Verzweifeln bin...

Frank
 
Kein Problem. Schau mal an den Anfang des Script. Dort wird die Existenz von verschiedenen Programmen getestet. Ich denk mal, bei Dir fehlt noch git, dass Du aber mit

$: sudo apt-get install git

installieren kannt.
 
  • Gefällt mir
Reaktionen: 1 Benutzer
Kein Problem. Schau mal an den Anfang des Script. Dort wird die Existenz von verschiedenen Programmen getestet. Ich denk mal, bei Dir fehlt noch git, dass Du aber mit

$: sudo apt-get install git

installieren kannt.

Hallo chrisderock,

:rolleyes: ja, das fehlte schon mal...

... und jetzt --- :great: --- lädt es auch gleich schon (nach dem Neustart des Scripts) das aktuelle '2015-02-16-raspbian-wheezy.zip'.............

:):):)

Hoffentlich machst DU jetzt nicht schlapp... :engel:

Und falls es durchläuft...
... ein QLC+ ist dann aber noch nicht drauf, oder?

Hilfst du dann weiter --- oder müsste ich jetzt schon "flügge" sein? :cool:

Vielen Dank Frank
 
Und falls es durchläuft...
... ein QLC+ ist dann aber noch nicht drauf, oder?

Hilfst du dann weiter --- oder müsste ich jetzt schon "flügge" sein?

Noe, QLC+ ist dann noch nicht dabei. Aber das bekommen wir dann auch noch hin :)
 
  • Gefällt mir
Reaktionen: 1 Benutzer
Hab das Script auch grad laufen. Passenderweise bin ich grad in die C++ GUI Programmierung mit Qt eingestiegen. Da kommt mir das sehr gelegen ;)
 
  • Gefällt mir
Reaktionen: 1 Benutzer
Noe, QLC+ ist dann noch nicht dabei. Aber das bekommen wir dann auch noch hin :)

Lieber chrisderock,

über diese vielen Anfangshürden stolpernd habe ich ja fast mein (ursprüngliches) Ziel aus den Augen verloren...

Ich habe ja schon recht gute Erfahrungen mit dem nachträglichen "Einbau" eines TFT-Treibers in ein aktuelles Raspian gesammelt, incl. Touchscreen natürlich...

Nun hoffe ich, dass das bei DEINEM Build ebenfalls klappt, auch wenn QLC+ läuft. Wenn die Virtuelle Konsole einfach genug "gestrickt" ist, dann sollte sie hoffentlich auch auf so einem kleinen TFT Platz finden, und die verschiedenen Chases sollten sich dann per Touch starten lassen. Ohne WiFi Kopplung also, standalone. Darüber wäre ich sehr glücklich...

Schaun' wir mal...

Danke!

Frank
--- Beiträge wurden zusammengefasst ---
... also bis jetzt läuft und läuft und läuft dein Script und hat offensichtlich 'ne Menge zu erledigen. :)

Frank
 
Hallo chrisderock,

es läuft (der build-Prozess) unaufhörlich. Das sieht gut aus. Keine Ahnung allerdings, was "er" gerade macht...

Und was mache ich dann, wenn / falls es durchgelaufen ist?

Soll ich das Image mal auf's RPi laden?

Ist der aktuelle Status in der VirtualBox dann irgendwie weiterverwendbar? Wenn "wir" ( :) ) dann mit dem QLC+ fortsetzen wollen? Soll ich einen "Sicherungspunkt" setzen (ob das alles restauriert, weiß ich aber leider nicht)?

Frank
 
Dann mach ich mal weiter mit QLC+..

Zuerst müssen wir noch ein paar Bibliotheken ins Dateisystem des RasPi werfen:

libasound2_1.0.28-1_armhf.deb
libasound2-dev_1.0.28-1_armhf.deb
libfftw3-3_3.3.4-1+rpi1_armhf.deb
libfftw3-dev_3.3.4-1+rpi1_armhf.deb
libfftw3-double3_3.3.4-1+rpi1_armhf.deb
libfftw3-single3_3.3.4-1+rpi1_armhf.deb
libftdi1_0.20-2_armhf.deb
libftdi-dev_0.20-2_armhf.deb
libudev-dev_175-7.2_armhf.deb
libusb-0.1-4_0.1.12-25_armhf.deb
libusb-dev_0.1.12-25_armhf.deb

Die holen wir uns einfach von
http://mirrordirector.raspbian.org/raspbian/pool/main/ (Da muss man ein wenig suchen). Damit wir die jetzt ins Dateisystem bekommen, installieren wir noch mc:

$: sudo su -
$: apt-get install mc
$: mc


Das ist ein Dateimanager fürs Terminal. Mit dem navigieren wir auf der einen Seite zu dem Ort, an dem die *deb liegen, mit der anderen Seite zum rootfs. Für jedes *deb wechseln wir nun in die Datei (genauso wie in ein Verzeichnis) und kopieren den Inhalt von 'CONTENTS' ins rootfs (Kopieren = F5 auf der Tastatur). Dabei bitte darauf achten nur solche Dateien zu ersetzen, die im rootfs die Größe 0 haben. Jetzt sind die Bibliotheken vollständig und wir beenden MC mit ESC-0 (Escape-NULL, also nacheinander drücken) und drücken Ctrl-D um den Root-Modus zu verlassen.

Als nächstes holen wir uns QLC+

$: git clone https://github.com/mcallegari/qlcplus.git
$: cd qlcplus


... und passen den erstmal ein wenig an. In die Datei 'variables.pri' fürgen wir zuerst folgende Zeile ein:

QMAKE_LFLAGS += -lfftw3

Danach ändern wir die Einträge

CONFIG -= release
CONFIG += debug


zu

CONFIG += release
CONFIG -= debug


...speichern und schliessen die Datei. Weiter gehts mit den ganzen Tests. Die brauchen wir im Moment nicht, also suchen wir in den Dateien hotplugmonitor/hotplugmonitor.pro und ui/ui.pro nach dem Eintrag

SUBDIRS += test

und setzen einfach ein # davor um ihn zu deaktivieren. Als nächstes schauen wir uns die Datei plugins/plugins.pro an und deaktivieren dort ebenfalls alles, was wir nicht brauchen (wieder ein # vor die Zeile setzen). Bei mir ist zum Beispiel nur dmxusb, midi und artnet übrig geblieben. Jetzt fangen wir das Kompilieren an:

$: /usr/local/qt5pi/bin/qmake
$: make


...und nach ein paar Minuten sollte das auch fertig sein. Nun besorgen wir uns noch das Programm checkinstall, um ein Debianpaket zu bauen:

$: sudo apt-get install checkinstall

...und führen es aus:

$: sudo checkinstall -D --install=no --fstrans=no make install
$: make uninstall
$: checkinstall -D --install=no --fstrans=yes make install


Hier sind drei Schritte nötig, da es anscheinend einen Bug bei Checkinstall gibt. Auf diese Weise klappts aber und ihr habt ein fertiges Debian-Paket.

Eh ihr das Paket auf einem RasPi installiert, denkt bitte daran, die erforderlichen Bibliotheken zu installieren (die *-dev brauchst ihr da natürk´lich nicht) und das Verzeichnis /usr/local/qt5pi aus dem rootfs auf den Pi zu übertragen.

So, fertig ;)
--- Beiträge wurden zusammengefasst ---
es läuft (der build-Prozess) unaufhörlich. Das sieht gut aus. Keine Ahnung allerdings, was "er" gerade macht...

Schau einfach mal ins Script rein. Ist doch auch nur Englisch ;)

Ist der aktuelle Status in der VirtualBox dann irgendwie weiterverwendbar? Wenn "wir" ( :) ) dann mit dem QLC+ fortsetzen wollen? Soll ich einen "Sicherungspunkt" setzen (ob das alles restauriert, weiß ich aber leider nicht)?

Natürlich lässt sich das weiterverwenden. Mit der Umgebung kannst Du eigentlich jedes Programm für den RasPi kompilieren (sofern Du die Abhängigkeiten berücksichtigst)
 
  • Gefällt mir
Reaktionen: 1 Benutzer
Hallo chrisderock,

...
Eh ihr das Paket auf einem RasPi installiert, denkt bitte daran, die erforderlichen Bibliotheken zu installieren (die *-dev brauchst ihr da natürk´lich nicht) und das Verzeichnis /usr/local/qt5pi aus dem rootfs auf den Pi zu übertragen.

Da ist es wieder, das "Fachchinesisch". Oh weh...
Was soll ich mir unter "... erforderliche Bibliotheken installieren..." vorstellen? Das geht doch gewiss nicht so einfach?



Natürlich lässt sich das weiterverwenden. Mit der Umgebung kannst Du eigentlich jedes Programm für den RasPi kompilieren (sofern Du die Abhängigkeiten berücksichtigst)

... oh je, "... die Abhängigkeiten berücksichtigen...". Ob mir das je etwas sagen wird???


Wo kann ich mich denn da noch ein bissel schlau machen...? :rolleyes:

Frank
 
Da ist es wieder, das "Fachchinesisch". Oh weh...
Was soll ich mir unter "... erforderliche Bibliotheken installieren..." vorstellen? Das geht doch gewiss nicht so einfach?

Na zum Beispiel die da:
libasound2_1.0.28-1_armhf.deb
libasound2-dev_1.0.28-1_armhf.deb
libfftw3-3_3.3.4-1+rpi1_armhf.deb
libfftw3-dev_3.3.4-1+rpi1_armhf.deb
libfftw3-double3_3.3.4-1+rpi1_armhf.deb
libfftw3-single3_3.3.4-1+rpi1_armhf.deb
libftdi1_0.20-2_armhf.deb
libftdi-dev_0.20-2_armhf.deb
libudev-dev_175-7.2_armhf.deb
libusb-0.1-4_0.1.12-25_armhf.deb
libusb-dev_0.1.12-25_armhf.deb

... oh je, "... die Abhängigkeiten berücksichtigen...". Ob mir das je etwas sagen wird???
Genau wie QLC z.B. von libasound2 und libfftw3 abhängt, haben andere Programme andere Abhängigkeiten :)
 
  • Gefällt mir
Reaktionen: 1 Benutzer
Na zum Beispiel die da:



Genau wie QLC z.B. von libasound2 und libfftw3 abhängt, haben andere Programme andere Abhängigkeiten :)


... aha. Und wenn ich diese Bibliotheken in meiner Ubuntu-VirtualBox installiere / extrahiere, dann wissen die Tools Bescheid und machen alles von alleine? Oh weh...

Kann man das irgendwo "studieren"?

Ich wollte doch bloß QLC+ aufs RPi bekommen... :rolleyes:

Nun hast du mich mit deinen Scripten so verwöhnt (... hey, die laufen ja immer noch, ohne "Zusammenbruch"!) und jetzt soll ich das wieder alleine hinkriegen. :mad:

Ich probiere es. Kommt da dann irgendwann ein "fertiges" Image heraus, das ich auf eine SD Card programmieren kann?

Danke...
Frank
--- Beiträge wurden zusammengefasst ---
... das ist langsam eine Zumutung für dich, ich weiß es...
--- Beiträge wurden zusammengefasst ---
Hallo chrisderock,

die Bibliotheken sind schon mal "gefunden". Der Script werkelt immer noch.

Bibliotheken.JPG

Es bleibt (irgendwie) spannend! :redface:

Viele Grüße
Frank
 
Zuletzt bearbeitet:
Hallo chrisderock,

also ganz so glatt läuft es nun doch noch nicht... :redface:

In deiner Anleitung mit der ersten Zeile "Dann mach ich mal weiter mit QLC+.." bin ich also soweit gekommen, die Bibliotheken als deb-Dateien zu speichern.

"mc" ist auch installiert.

Deine ausführliche Beschreibung zum Kopieren des Inhalts von 'CONTENTS' ins 'rootfs' ist (leider :rolleyes:) für solche Newbies (wie :weird: ...) wieder nicht ganz verständlich:
  • "Dabei bitte darauf achten nur solche Dateien zu ersetzen, die im rootfs die Größe 0 haben" verstehe ich nicht. Im 'rootfs' sind doch erst einmal gar keine Dateien. Was meinst du mit "die im rootfs die Größe 0 haben"?

  • Vielleicht mache ich aber schon etwas anderes falsch? Wenn ich in solch eine Bibliothek gehe, dann sehe ich zuerst den Ordner 'CONTENTS' (neben ein paar anderen). Im 'CONTENTS' ist dann fast ausnahmslos nur der Ordner 'usr'. Ist dieser komplett in 'rootfs' zu kopieren, per F5? Oder muss man auch 'usr' zuerst öffnen und dann die Unterordner kopieren, oder noch tiefer hineingehen und dann erst kopieren?
    Ich habe immer den 'usr' Ordner kopiert (und aus einer Bibliothek zusätzlich einen 'lib' Ordner)

  • Die Position der Zeile
    QMAKE_LFLAGS += -lfftw3
    innerhalb der Datei 'variables.pri' ist wohl nicht entscheidend? Ich habe sie als erstes Kommando reinkopiert, also ziemlich weit oben. Ist das okay?

  • Alle weiteren Änderungen / Ergänzungen waren auch erst einmal leicht nachzuvollziehen...
Dann
$: /usr/local/qt5pi/bin/qmake
$: make


aber danach steigt "er" wieder aus:

frank@frank-VirtualBox:~/RPi-Kernel/qlcplus$ /usr/local/qt5pi/bin/qmake
frank@frank-VirtualBox:~/RPi-Kernel/qlcplus$ make
cd hotplugmonitor/ && ( test -e Makefile || /usr/local/qt5pi/bin/qmake /home/frank/RPi-Kernel/qlcplus/hotplugmonitor/hotplugmonitor.pro -o Makefile ) && make -f Makefile
make[1]: Entering directory `/home/frank/RPi-Kernel/qlcplus/hotplugmonitor'
cd src/ && ( test -e Makefile || /usr/local/qt5pi/bin/qmake /home/frank/RPi-Kernel/qlcplus/hotplugmonitor/src/src.pro -o Makefile ) && make -f Makefile
Project ERROR: libudev development package not found
make[1]: *** [sub-src-make_first-ordered] Error 3
make[1]: Leaving directory `/home/frank/RPi-Kernel/qlcplus/hotplugmonitor'
make: *** [sub-hotplugmonitor-make_first-ordered] Error 2

frank@frank-VirtualBox:~/RPi-Kernel/qlcplus$

Zumindest das, was ich für das fehlende 'libudev development package' halte, war ja bei den Bibliotheken dabei! Es sei denn, dass das Kopieren (siehe oben) bei mir völliger Blödsinn geworden ist...

Vielen Dank im Voraus!
Frank
 
Hallo chrisderock,

als Bibliotheken sind die folgenden vorhanden:

Bibliotheken.JPG

Der Screenshot gestern enthielt noch einen Fehler, da sich beim Suchen der Bibliotheken schnell mal ein Fehler "einschleicht"...

Da die zuerst fehlende Bibliothek sehr stark an die Fehlermeldung erinnerte (libudev), war zunächst die Hoffnung groß, wurde aber sogleich wieder zerstört.

Vielen Dank im Voraus
Frank
 
... hoffentlich ist dieses Wochenende bald vorüber... :D

Ich freue mich so auf die nächsten Tipps von chrisderock!!!

Voller (ungeduldiger) Hoffnung...
Frank :engel:
 
Vielleicht mache ich aber schon etwas anderes falsch? Wenn ich in solch eine Bibliothek gehe, dann sehe ich zuerst den Ordner 'CONTENTS' (neben ein paar anderen). Im 'CONTENTS' ist dann fast ausnahmslos nur der Ordner 'usr'. Ist dieser komplett in 'rootfs' zu kopieren, per F5? Oder muss man auch 'usr' zuerst öffnen und dann die Unterordner kopieren, oder noch tiefer hineingehen und dann erst kopieren?
Ich habe immer den 'usr' Ordner kopiert (und aus einer Bibliothek zusätzlich einen 'lib' Ordner)
Den Ordner 'usr' kannst Du so wie er ist ins rootfs kopieren.
  • "Dabei bitte darauf achten nur solche Dateien zu ersetzen, die im rootfs die Größe 0 haben" verstehe ich nicht. Im 'rootfs' sind doch erst einmal gar keine Dateien. Was meinst du mit "die im rootfs die Größe 0 haben"?
Wenn beim Kopieren festgestellt wird, dass eine Datei bereits existiert, wird Dir das angezeigt. Dazu werden weitere Informationen zu der Datei wie Erstellungsdatum und Größe angezeigt. Wenn jetzt die zu überschreibende Datei die Größe 0 hat, kannst Du sie überschreiben, sonst nicht.
make[1]: Entering directory `/home/frank/RPi-Kernel/qlcplus/hotplugmonitor'
cd src/ && ( test -e Makefile || /usr/local/qt5pi/bin/qmake /home/frank/RPi-Kernel/qlcplus/hotplugmonitor/src/src.pro -o Makefile ) && make -f Makefile
Project ERROR: libudev development package not found
Da habe ich anscheinend eine Bibliothek vergessen zu erwähnen. Du brauchst noch libudev-dev_175-7.2_armhf.deb, das Du wie den Rest ins rootfs packen musst.
 
  • Gefällt mir
Reaktionen: 1 Benutzer
t
...

Da habe ich anscheinend eine Bibliothek vergessen zu erwähnen. Du brauchst noch libudev-dev_175-7.2_armhf.deb, das Du wie den Rest ins rootfs packen musst.

Hallo christderock,

vielen Dank!!! :)

Das probiere ich dann also gleich aus.

Frank
--- Beiträge wurden zusammengefasst ---
Das probiere ich dann also gleich aus.


... uuuh, nein, die hattest DU nicht vergessen...

Siehe oben, bei den eingefügten Bildern von mir, diese Bibliothek hatte ICH zuerst vergessen...

Dies hatte ich dann aber (selber) bemerkt und diese Bibliothek (und alle anderen auch!) nachträglich geladen. Den Ordner 'lib' in 'rootfs' hatte ich zuvor gelöscht. Dann habe ich den ganzen Vorgang mittels "mc" wiederholt und erneut die entsprechenden Prozeduren aufgerufen...

Die Fehlermeldung war trotzdem die gleiche, also "libudev development package not found", so als wenn das eine völlig andere Ursache hätte...

Von welchem Schritt sollte ich nochmals beginnen, damit evtl. fehlerhaftes (vom Versuch davor) nicht erneut benutzt wird? Welche Ordner darf /sollte ich löschen?

Vielen Dank
Frank
 
Zuletzt bearbeitet:
Hallo chrisderock,

es sieht doch fast so aus, als wenn (durch das Fehlen dieser lib beim ersten Versuch) etwas verunstaltet wurde, was jetzt nachträglich nicht einfach korrigiert werden kann, oder?

Soll ich ALLES noch einmal löschen und neu aufsetzen?

Hast du noch eine Idee, wo ich ggf. (in dem ganzen Ablauf) erneut einsteigen sollte, damit alles "clean" wird?

Vielen Dank im Voraus!
Frank
 
Dies hatte ich dann aber (selber) bemerkt und diese Bibliothek (und alle anderen auch!) nachträglich geladen. Den Ordner 'lib' in 'rootfs' hatte ich zuvor gelöscht. Dann habe ich den ganzen Vorgang mittels "mc" wiederholt und erneut die entsprechenden Prozeduren aufgerufen...
Öhem... im rootfs den Ordner 'lib' zu löschen ist eine ganz schlechte Idee. Da sind auch ettliche andere Bibliotheken drin ;) Ich würde empfehlen, das rootfs neu aufzusetzen und neu mit Bibliotheken zu füllen. Im Ordner Raspberry machst Du folgendes:

$: export LANG=C
$: tar cvfzpP qt5pi.tgz rootfs/usr/local/qt5pi
$: sudo umount rootfs
$: unzip 2015-02-16-raspbian-wheezy.zip
$: UNITS=$(/sbin/fdisk -l 2015-02-16-raspbian-wheezy.img|grep Units|awk '{print $9}');
$: START=$(/sbin/fdisk -l 2015-02-16-raspbian-wheezy.img|grep img2|awk '{print $2}');
$: OFFSET=$(($UNITS * $START))
$: sudo mount -t ext4 -o offset=$OFFSET 2015-02-16-raspbian-wheezy.img rootfs
$: tar xvfzpP qt5pi.tgz


Danach kannst Du die Bibliotheken wieder reinwerfen und noch einen Versuch starten.
 
Hallo chrisderock,

da kommen jetzt schon wieder (viele) Fehlermeldungen beim Kopieren der Bibliotheken, so dass ich denke, dass es zu kompliziert wird, die alle zu untersuchen...

Beispiel:



Das stielt DIR auch zu viel Zeit, dort noch weiter für Ordnung zu sorgen. Ich mache dann doch lieber mit dem Neuaufsetzen einer Virtuellen Maschine (von vorne los) und hoffe, zwischendurch nicht wieder "Blödsinn" anzustellen...

Ich warte nur noch auf dein "Okay"... :great: :mad:

Vielen Dank
Frank
 

Anhänge

  • mc.JPG
    mc.JPG
    72 KB · Aufrufe: 427

Ähnliche Themen


Unser weiteres Online-Angebot:
Bassic.de · Deejayforum.de · Sequencer.de · Clavio.de · Guitarworld.de · Recording.de

Musiker-Board Logo
Zurück
Oben