K.A. ob dies schon weg ist: Verkauf: Raspberry Pi Mod.B + Motorola Lapdock + Adapter
Posts by thbeckmann
-
-
Ich hab' ziemlich lange mit verschiedenen USB-Adaptern 'rumgefummelt. Aber außer Hardware habe ich nichts machen müssen, das ging "out of the box".
-
Hi Obelixus,
mir fallen eine Menge Gründe ein, warum das schief gehen kann: SIRF statt NMEA kann ein Problem sein, aber "krytisch" hört sich für mich eher nach einem Kodierungs-Problem an, also UTF8 versus ISO o.ä. Wenn Du mehr Informationen (z.B. den entstehenden Output) beisteuerst, kommen sicher mehr Ideen!
-
-
Ich benutze nginx mit php als CGI-Modul und als Datenbankserver Firebird, das geht ganz prima, zugegebenermaßen etwas langsamer als bei meinem Quadcore Notebook - für eine Web-Applikation allerdings vollkommen akzeptabel, obwohl die DB ziemlich anspruchsvolle datamining tasks macht.
-
Hi Markus,
ich hab' mich damit befasst, für mein Motorrad ein Tachometer mittels des PI zu bauen - das ist zwar noch nicht fertig, aber einen "Proof of Concept" habe ich: Drehzahlmesser (Zündimpulse) und (Radumdrehungen mittels Hall-Sensor) werden gezählt und ausgewertet.
Das Ergebnis wird an ein 2-zeiliges LCD-Display übermittelt (C-Progrämmchen).
Sicher: "mit Kanonen auf Spatzen", aber Du hast ja ein paar mehr Sensoren und ich hab' vor, das ganze noch mit GPS und anderem zu kombinieren...
Fröhliche Grüße, Thomas
-
Nun, obelixus' Namenspate suggeriert einigen "Wupps" - warum sollte es nicht klappen... Die GPS-Sensoren senden einen recht geschwätzigen Datenstrom, den Du i.d.R. über eine COM-Port-Emulation auslesen kannst - meist handelt es sich um das NMEA-Protokoll, aber das hast Du bestimmt schon herausgefunden. Per Software (die Du m.W. aber selbst schreiben musst) kannst Du das live abfragen und nur bei Veränderungen der Position nach "Scharfschalten" Dir eine Nachricht (z.B. eine SMS) schicken lassen, die die neue Position enthält. Umwandeln in eine Straßenkarte wirst Du die sicher immer müssen, aber Open Street Maps kann m.W. auch Geo-Koordinaten verarbeiten.
-
-
MannMannMann, immer dieses letzte Wort
-
header ist nur nach nix anderem davor möglich, Dein echo 1 führt hier zum Problem
Ich will's mal dahingehend präzisieren, dass keine Ausgabe erfolgen darf (z.B. auch kein Leerzeichen vor dem ersten <?php), bevor Du den header sendest. -
Die GD-Library ist aber vorhanden, oder?
-
Als Alternative zu der recht häufig verwendeten Kombination Apache/PHP/MySQL verwende ich lieber nginx/PHP/Firebird: Das ist leichtgewichtiger und die Firebird-Datenbankengine ist komplett open source und sehr leistungsfähig.
Dieses Tutorial bezieht sich auf Rapbian.Vorbereitung
Ich habe mich mit
angemeldet, damit ich einerseits die grafischen Tools nutzen kann und andererseits gleich eine administrative Konsole zur Verfügung habe.
Alternativ mache ich sowas mit
dann habe ich den Midnight Commander, bei dem man mit Strg-O in eine Konsole wechseln kann, oder mit
um auf der Kommandozeile als root zu werkeln.nginx
Mit
habe ich in einer Konsole nginx installiert.
In /etc/nginx/sites-available/default stehen die Standard-Server-Einstellungen von nginx. Sie besteht aus Abschnitten, die jeweils mit einem Schlüsselwort beginnen dem nach einem Leerschritt ein Wert und ein Semikolon oder ein in geschweifte Klammern eingeschlossener Block folgt.
Insbesondere steht hier, dass das Standard-Web-Verzeichnis unter /usr/share/nginx/www liegt.
Wenn Ihr im Browser localhost als Adresse eingebt, wird der Inhalt der Datei /usr/share/nginx/www/index.html angezeigt - nginx ist korrekt installiert.PHP
Von nginx wird PHP als CGI-Modul angesprochen und muss folglich auch so installiert werden. Man kann dafür den PHP-FPM (FastCGI Process Manager) verwenden:
der sich als Daemon /etc/init.d/php5-fpm als FastCGI Server auf Port 9000 installiert.PHP in nginx anbinden
In /etc/nginx/sites-available/default steht bereits ein Abschnitt zu PHP, den man einfach einkommentieren kann ("#" entfernen). Dabei bleibt der Abschnitt zu "php-cgi alone" auskommentert.
Es wird darauf hingewiesen, dass in /etc/php5/fpm/php.ini die Option cgi.fix_pathinfo=0 gestellt werden soll - weil ich PATH_INFO nicht verwende, hat das für mich keine Bedeutung.
Mit einem
wird die Konfiguration neu eingelesen.
Sollte gemault werden, dass /var/run/nginx.pid nicht korrekt ist, läuft nginx noch nicht und Du startest ihn mit
Testen kann man das Ganze dann mit einem
und der Angabe von localhost/index.php in der Adresszeile des Browsers.
Soll index.php standardmäßig als Index-Seite gelten, muss das in /etc/nginx/sites-available/default in der Zeile "index index.html index.htm;" ergänzt werden: "index index.php index.html index.htm;".
Session-Data unter nginx mit PHP als FastCGI
Auf das Standard-Verzeichnis für die Speicherung der Session-Daten in "/var/lib/php5" hat der FastCGI-Benutzer i.d.R. keinen Schreibzugriff, daher kann kein Session-Data abgelegt werden. Erstellt ein entsprechendes Verzeichnis und gebt ihm die entsprechende Berechtigung:
Das Verzeichnis muss dann in der "/etc/php5/fpm/php.ini" eingetragen werden:Firebird
Der Datenbank-Server Firebird wird mit
installiert. Die anderen Firebird-Architekturen sind für den Pi nicht so geeignet.
Man kann den Server auch selbst kompilieren, wie hier beschrieben, das dauert aber ein Weilchen.
Nach der Installation läuft der Firebird-Server auf Port 3050 unter dem Benutzer firebird (letzteres bedeutet, dass der Server selbst nur dann z.B. Datenbanken anlegen kann, wenn das Datenbankverzeichnis mit den entsprechenden Rechten versehen ist, z.B. firebird gehört).
Die Installation erfolgt im wesentlichen nach /user/local/firebird. Hier unter bin stehen eine Reihe von Standard-Werkzeugen zur Verfügung, für die der Benutzer pi keine Rechte hat - es empfiehlt sich, die nach /home/pi/bin zu verlinken und den Pfad entsprechend zu modifizieren.
Mit
kann man prüfen, ob der Server korrekt läuft.
Da dies kein Firebird-Tutorial werden soll, nur kurz der Hinweis: Als grafisches Datenbank-Administrationswerkzeug läuft auf dem PI auch FlameRobin, und wer eine Windows-Maschine mit dem PI verbinden kann/will, kann auch IBExpert benutzen.Firebird in PHP
In der Ausgabe der Testseite (phpinfo, s.o.) lässt sich erkennen, dass standardmäßig interbase bereits als dynamische Bibliothek zur Verfügung steht und dass die zugehörige Client Library Firebird ist - Firebird ist im wesentlichen kompatibel mit Interbase und die Aufrufe im PHP-Code erfolgen über die entsprechenden ibase_ Funktionen - Hinweise, wie die Verwendung erfolgt, finden sich in der PHP-Dokumentation zu Firebird/Interbase. -
Der ANSI-kompatible SQL-Server Firebird ist schnell, mächtig (Trigger, Prozeduren, Recursive Common Table Expressions und vieles mehr) und Open Source. Es gibt verschiedene gute, freie Werkzeuge zur Arbeit mit dem Server wie FlameRobin (läuft auch auf dem PI) und IBExpert (Windows, in der "Personal"-Version frei).
Grundsätzlich stehen mit
fertige Binaries für den Betrieb des Servers zur Verfügung - aber leider sind die nicht immer ganz aktuell.
Da ich eine aktuelle Version brauche, habe ich den Server selbst kompiliert - das ist einiger Fummelkarm, dieses Tutorial richtet sich also eher an erfahrenere Benutzer (fragt, wenn Ihr irgendwo stecken bleibt):
Build des SQL-Servers
Mein Kollege Frank hat mir seine Entwicklungsumgebung firebird.tar.gz zur Verfügung gestellt, die ich hier angehängt habe.
Um mir während der Arbeit dauernde "sudos" zu ersparen, wechsle ich mit
komplett in den sudo-Modus oder starte mit
eine X-Session als root.
Auf einem frischen PI steht vermutlich SVN (Subversion) und verschiedene Bibliotheken nicht zur Verfügung, also erstmal installieren mit
Das Archiv von Frank habe ich nach /home/firebird/src entpackt. Dort führe ich nun
aus, damit holt sich der PI die aktuellen Release-Sources des Firebird vom SVN-Server.
In der Datei config25 prüfe ich, ob enable-superserver=yes steht, weil das für den PI die geschickteste Architektur des Firebird ist.
Mit
wird die Konfiguration angepasst - mit dem Konfigurieren ist der PI rund 20 Minuten beschäftigt, am Ende kommt die MeldungWenn man das dann tut
dauerts 'n bißchen (also sicher deutlich mehr als 'ne Stunde), währenddessen der PI 100%-CPU in die Kompilierung des Servers steckt.
Wenn's kürzer dauert, ist in der Regel was schiefgegangen, in ./fb25_release/make.log findet sich dann ein Hinweis, was das ist.
Nun ist der Server fertig kompiliert und muss nur noch installiert werden:
Er läuft als Benutzer firebird und ist nach /user/local/firebird installiert. -
Öhm, mag sein, dass ich völlig falsch liege, aber: Einen Webserver (nginx, lightttd, apache) hast Du eingerichtet, oder?
-
Wie sagt's der Ostfriese: "Und was ist mit Tee?" -
da das stdout weiter versorgen muss, hatte ich erwartet, dass es das buffering der shell unterdrückt...
-
-
Hi Passi,
ich bin auch erstmal ziemlich am Suchen gewesen.
Ich hab's am Ende so gelöst. (Wenn der Dropbox-Link nicht geht packe ich's woanders hin).
Insbesondere ging bei mir eines der USB-Kabel nicht - aber das hast Du ja schon mit der externen Stromversorgung ausgeschlossen.Auch einer der HDMI-Adapter ging nicht: Hast Du ein anderes Gerät, dass das HDMI-Signal ohne einen Deiner Adapter/Kabel abnehmen kann? Es gibt bei den HDMI-Kabeln m.W. welche, bei denen ein PIN nicht belegt ist, der vom Lapdock für die Erkennung des Geräts verwendet wird. Ich habe schließlich diesen Adapter verwendet - ob der nun immer noch funktioniert, weiß ich nicht, ich habe gelesen, dass manchmal unterschiedliche Chargen "des selben" Kabels/Adapter unterschiedlich sind.
Nicht wirklich viel Nützliches, aber ich war froh, irgendwann eine funktionierende Kombination gefunden zu haben...
Viel Erfolg, Thomas
-
Ich arbeite regelmäßig mit meinem Pi und dem Lapdock. Allerdings habe ich beim ersten Mal auch einen nicht funktionierenden HDMI-Adapter gehabt. Ich habe vergessen, was es genau war, aber es ist auf jeden Fall eine der Leitungen oft nicht belegt, die das Lapdock zur Erkennung des Anschlusses des Geräts verwendet.
-
-
Ich nutze nginx - geht prima!