Posts by lyinch

    Hey,


    Ich besitze eine GoPro, welche von sich aus ein WLAN Signal senden kann. Das Problem ist natürlich, dass das Signal, sei es von der GoPro oder von einem WLAN Stick, nicht stark genug ist um in jeder Position des Fluggerätes empfangen zu werden. Ich kenne noch kein Limit der 2.4gHz transreciever, aber ich bin mir sicher, dass diese weiter funken als ein WLAN Stick. Ausserdem hat die GoPro, wenn man sie per WLAN streamt, einen delay von einigen Sekunden. Um die zusätzliche Stromversorgung mache ich mir später sorgen, als erstes müssen alle Teile stehen und das ganze Flugfähig sein, bevor eine FPV Kamera installiert wird.


    Optimal wäre eine Steuerung über das Kamerabild. Da ich mir dies jedoch mit Raspberry Pi und Arduino relativ unmöglich vorstelle, wäre es schon toll ein verzögertes Bild zu bekommen.


    lyinch

    Hey, ich plane (wie viele andere bereits) einen Quadrocopter zu bauen. Ich bin mittlerweile noch in der Planungsphase und die Idee eines "first person view" (fpv) Quadcopters ist sehr interessant. Auch wenn es nicht die erste verbaute Komponente sein wird, und diese Funktion nicht in der ersten Version verfügbar sein wird, möchte ich mich jedoch trotzdem informieren. Welche Möglichkeiten gibt es, um ein Videosignal auf ein PC in "echtzeit" zu streamen?


    Gedacht hatte ich einmal an einen 5.8gHz Sender, welcher anscheinend viel im RC Bereich dafür benutzt wird. Die zweite Variante wäre das allbekannte GPRS Netzwerk. Ich möchte ausserdem die 2,4gHz Frequenz zum Steuern nutzen, kann man auf einem anderen Channel dann ein Videosignal streamen? (ggf. mit einem 2. sender)


    Welche dieser Methoden würde sich am besten eignen, oder kennt ihr noch weitere Methoden?


    Danke!

    Hey,


    die Installation ist ziemlich leicht. Du fängst mit den "dependencies" an, also den nötigen Programmen in diesem Falle, dass das PellMon laufen kann. Dies sind primär python Pakete, damit dies läuft.

    Code
    sudo apt-get install rrdtool python-serial python-cherrypy3 python-dbus python-mako python-gobject python-simplejson python-dateutil autoconf


    Der Befehl hier unten aufgelistet sagt, dass als Admin (sudo) die nachfolgenden Programme aus dem offiziellen Repärtoir (apt-get) installiert(install) werden sollen.

    Code
    sudo apt-get install


    Nun installierst du noch PIP und ws4py:

    Code
    sudo apt-get install python-pip
    sudo pip install ws4py


    Anstatt dieses map apt-get zu nehmen, nimmst du pip install. PIP (wenn wir jetzt die wiki zitieren) ist ein Akronym für Pip Installs Python und ist eine Paketverwaltung für Python-Module. Du nimmst also nicht mehr das offizielle Debian Repärtoir, sondern ein anderes um ws4py zu installieren. Das ws4py ist eine Python Erweiterung um mit WebSockets zu arbeiten(Um Daten übers Internet zu senden).


    Schritt zwei installiert nun das eigentliche Programm PellMon

    Code
    wget https://github.com/motoz/PellMon/archive/master.zip
    unzip master.zip
    cd PellMon-master


    Du downloadest mit wget , das Programm als Zip herunter, entpackst (unzip) das ganze und mit change directory (cd) wechselst du dann in der Konsole/Terminal in das Verzeichnis, wo die Datei entpackt wurde.


    Nun musst du die Systeminstallation übernehmen, damit das ganze als Daemon laufen kann.


    Hier habe ich jetzt keine Lust, jeden einzelnen Befehl zu übersetzen, du weißt jetzt, wie du die einzelnen Befehle nachschlägst. Etwas Arbeit ist auch von dir erwartet! Im Grunde legt das Script nur einen neuen Besitzer an, compiliert das Script und startet die daemons.


    Hier kommt nun der letzte knifflige Schritt, die Config. Ich rate dir hier, den Terminal Editor nano anstatt vim oder emcas zu nutzen um diese zu ändern:

    Code
    sudo nano /etc/pellmon/pellmon.conf


    In der Config Datei sind bereits viele Beispiele und Kommentare, es müsste also selbsterklärend sein. Als letzter Schritt wird nun das ganze neu gestartet um die neue Config zu übernehmen.

    Code
    sudo service pellmonsrv restart
    sudo service pellmonweb restart


    Nun müsste es über http://localhost:8081 aufrufbar sein in deinem Heimnetzwerk.


    Ich rate dir die Ubuntuuser Wiki an (Ubuntu ist aus Debian entstanden, deshalb sind die Parallelen da), um dich etwas vertrauter mit Linux zu machen. Dort findest du alle Befehle wieder, die er benutzt hat und kannst jeden Schritt mitverfolgen. Alternativ kannst du auch sein Installations Script nehmen. Um Linux zu lernen, rate ich dir jedoch an die Schritte selber durchzuführen!

    Kein Problem. Es wäre jedoch gut, wenn du sagst was du gemacht hast, falls ein anderer das selbe Problem hat da sonst die Suchfunktion im Forum nichts bringt ;) (Ich will nicht wie ein Mod klingen, aber) Du kannst das Thema unten als "Erledigt" markieren.

    Windows 7 gibt dir die Möglichkeit eine Remotefreigabe zu machen. Man kann anscheinend auch per Linux darauf zugreifen. In wie fern es sich lohnt um Video und Bild in Echtzeit zu übertragen weiss ich nicht.

    Ja, der standart HTTP Port ist 80, 8080 wird oft als alternativer HTTP Port genutzt fir services wie in deinem Falle ein Stream oder Proxys. Das ist sehr komisch, dass das ganze nicht läuft. Schon mal einen anderen Browser versucht? Deine Seite bleibt einfach weiss? Ich würde ganz klassisch mal Appache neu starten

    Code
    sudo systemctl restart httpd


    Laut dieser Webseite, musst du unbedingt die höhe und breite im img tag angeben.


    Quote

    The included Website (http://{name or IP-address of the Raspi}:8080) shows examples for how to connect a client to the Webcam stream. The easiest way is obviously a simple HTML page that works great with Google Chrome and Firefox but not so much with Safari. Anyways, it’s important to specify the width and height that was configured with the output_http.so, in the HTML as well

    Code
    <img alt="" src="http://phobos:8080/?action=stream" width="1280" height="960" />


    Versuche es mal mit dem GET befehl im Zitat so wie der Angabe von höhe und breite.

    Rufe das iFrame einmal ohne den Port 8080 auf. Versuche eine andere HTML Datei einzubetten, und schaue ob dies klappt. iFrames sind keine schöne Art und Weise Probleme zu lösen. Wieso bindest du den Code nicht sofort in die aktuelle Webseite ein?

    Hey, ich gehe mal davon aus, dass du Raspbian benutzt. Auf der offiziellen Seite von QT findest du eine Anleitung, welche zusatzpackete du benötigst, und den Downloadlink um die library zu laden und installieren.


    http://qt-project.org/doc/qt-5/linux.html
    http://qt-project.org/downloads


    Die Webseite bietet noch weitere grossartige Artikel und Einträgt, welche dich bei den ersten Schritten begleiten können. Ich rate dir ihre Wiki an:
    https://qt-project.org/wiki


    Eine Anleitung für Ubuntu gibt es auch. Da Ubuntu auch auf Debian basiert, gibt es viele paralellen und der Artikel kann dir auch weiterhelfen:
    https://qt-project.org/wiki/Install_Qt_5_on_Ubuntu

    Wo ist deine Webseite gehostet? Falls sie nicht in deinem internen Netzwerk läuft klappt es nicht. Du benutzt hier eine interne IP 192.168.178.* und kannst nicht von aussen darauf zugreifen. In diesem Falle musst du die statische IP von dir angeben, und externen Zugriff auf deinen Raspberry Pi zulassen.

    Hallo,


    Ich habe einige Karten, welche über RFID ausgelesen werden. Ich war der Meinung, dass alle mit 125kHz funktionieren, und habe mir auch solch einen Lesegerät besorgt. Ich kann jedoch nur eine der Karten auslesen.


    Hat von euch bereits einer Erfahrungen mit RFID Erweiterungen am Raspberry Pi? Am besten wäre es, ein Lesegerät zu bauen, welche man auf einzelne Frequenzen einstellen kann, und diese dann ausliest. Da ich mir dies technisch jedoch sehr schwer vorstelle, wäre ich mit einer Alternative für 13.56mHz zu frieden.


    Gibt es unter euch einen, der bereits so ein Projekt gemacht hat oder hat jemand eine gute Anleitung bzw. gute Bauteile parat, die er hier auflisten kann?


    Vielen Dank,
    lyinch!


    Du hast bei deinen Bildern bestimmte Bereiche verändert. Also das Vorfahrtsschild grüne "bemalt". Wie hast du das hinbekommen?
    Ich Suche nach einer Möglichkeit Daten vom PI per OVerlay in ein Bild oder Video einzufügen, dass man das im Livebild gleich mit sehen kann. Also z.B. Uhrzeit, Position und so.


    Hallo, das "bemalen" wurde mit openCV gemacht. Wenn du nur einen overlay von Informationen machen möchtest, rate ich dir an eine kleinere Bildmanipulierungs Library zu nehmen. openCV ist primär für die Analyse gedacht, und nicht für die Bearbeitung. Es ist jedoch durchaus möglich solche Sachen mit openCV zu machen.


    Danke, lyinch!

    Hallo, ich hatte etwas weniger Zeit um weiter zu arbeiten. Es gibt trotzdem einige Fortschritte!


    Mir ist übrigens als Alternative zu OpenCV noch GraphicsMagick eingefallen. Das hat auch ne Menge Möglichkeiten und ist vermutlich(!) schlanker als OpenCV.
    cu,
    -ds-


    Danke, aktuell liegt mein Fokus jedoch auf den Algorithmen, welche grösstenteils unabhängig vun dem Framework funktionieren. Die Entwicklung ist momentan auch auf einem PC/Laptop anstatt dem Raspberry Pi selber, der einfachheit selber. Sobald das ganze in ein Auto installiert wird, zeigt sich, wie effizient openCV und meine Vorgehensweise ist. Falls dies nicht klappt wie gewollt, bin ich möglicherweise gezwungen auf eine Alternative umzusteigen.



    Hallo, ziel ist es in Echtzeit zu analysieren. Die Arbeit erfolgt aktuell jedoch nur an Standbilder.Die Schwierigkeit liegt an beiden gennanten Faktoren. Eine Objekterkennung ist sehr schwierig zu bewerkstelligen, da das Objekt beschädigt oder durch die Kamera verzerrt sein kann. Es können Objekte davor oder dahinter stehen, durch das Wetter und einfallendes Licht eine andere Farbe habe. Es gibt einige Algorithmen, wenn wir bei der Schilderanalyse bleiben, welche die Farberkennung mit der Formerkennung verbinden, diese sind auch relativ zuverlässig, jedoch ist hier die Schnelligkeit (oder eher Langsamkeit?) das Problem.




    Vielleicht ist es in dem Bereich ja sinnvoll, ein Cluster von PIs aufzubauen. Also beispielsweise ein Main-Pi, der Fotos schießt und Bereiche "ausschneidet" (Autos/runde Schilder/dreieckige Schilder/Menschen) und diese an die anderen PIs passend weiterleitet.


    Ist auf jedenfall ein interessantes Thema mit viel Zukunftssicherheit...



    MiesliRiegel: ich gehe bei einem anderen projekt genau so ran. haupt rpi und zwei neben rpi für die bildvorbearbeitung, verbunden im lan.


    Hallo, an dies habe ich auch bereits gedacht. Entweder die Arbeit zu verteilen, oder zwei Algorithmen laufen zu lassen. Einen schnellen, ungenaueren welcher dann nach ein paar millisekunden von dem langsamgeren aber genaueren vervollständigt wird. Wie bereits erwähnt, sind dies jedoch Probleme, welche erst später auftreten, wenn ich mit Echtzeitdaten arbeite. Aktuell läuft das ganze auf Leistungsfähigen Rechnern, bei denen es keine solcher Probleme gibt. Die Idee existiert jedoch bereits.



    Nice wenn man dies mit einen Infodisplay austattet das dann die Letzten Verkersinfos Zusammenfasst z.B Geschwindigeit begrenzung ect.


    Hallo, auch hier gibt es Ideen, ein solches System einzubauen. Der Fokus liegt jedoch zuerst auf der Bildanalyse, bevor weitere Daten über weitere Module gesammelt werden, um eine Fahranalyse zu gestalten. Da das ganze auf einem Raspberry Pi laufen soll, muss auch zumindest ein Bildschirm her. Eine eigene Case wird womöglich auch entwickelt, mit einigen LEDs zur Fehlererkennung, welche dann per 3D Drucker erstellt wird. Dies geschieht jedoch in einer späteren Phase des Projektes.


    Zum aktuellen Stand gibt es eine Verbesserung der Algorithmen. Das Programm wurde teils neu geschrieben, jedoch nicht so sauber wie die erste Version (wird immer verbessert ;) ). Hier sind einige neue Screenshots:
    [Blocked Image: http://lyinch.com/wp-content/uploads/2014/07/Screenshot-from-2014-07-16-160421-1024x575.png]
    [Blocked Image: http://lyinch.com/wp-content/uploads/2014/07/Output_screenshot_23.07.20141-1024x576.png]


    Falls ihr Fragen, Ideen oder Feedback habt, könnt ihr diese hier ruhig posten ;)
    Stay tuned, lyinch!


    Ich bin am meisten neugierig auf die Rechenleistung. OpenCV ist imho schon mal eine gute Wahl, obwohl vielleicht etwas oversized, aber dafür sehr mächtig.
    Bin gespannt wann der RPi da an seine Grenzen stösst. Hast Du für diesen Fall schon einen Lösungsansatz?
    cu,
    -ds-


    Ich halte euch auf dem laufenden. Lösungsansätze gibt es bereits, falls die Rechenleistung knapp wird. Wann dies eintritt, kann ich jedoch nicht sagen, da ich momentan vor allen die Algorithmen an Bildern anstatt an Videos teste.


    Okay sagen wir mal so, es gibt Algorithmen mit einer sehr hohen Erkennungsrate von Schildern. 97% auf Highways beispielsweise. In den Städten sinkt diese jedoch enorm, wenn dann noch andere Berechnungen wie Strassenmarkierung, Orientierung per Laser etc. hinzu kommen wird es immer komplexer. Weder Google noch das Robotics Research Lab von Oxford vertrauen auf ihre Algorithmen. Die Fahrzeuge, welche unbemannt fahren, lesen Schilder aus und vergleichen diese mit einer Karte der Stadt, auf welcher jede Kreuzung, Ampel, Zebrastreifen und Schild eingezeichnet sind. Diese Karten wurden von Personen, im Falle von Google, freiwilligen aus ganz Amerika, erstellt. Das Potential für Fehler ist noch zu gross, um sich komplett auf die Algorithmen zu verlassen. Natürlich spielen Versicherungsfragen und die Sicherheit auch eine wichtige Rolle. Im falle eines falsch gelesenen Schildes, wer trägt die Verantwortung wenn ein Mensch dabei stirbt, wenn es kein Fahrer im Fahrzeug gibt?
    Ziel ist es natürlich eine so robuste Schildererkennung zu erhalten, welche in jedem Falle, egal ob bei Regen, Schnell oder starken Sonnenschein, egal ob halb verdeckt, bemalt oder schräg, das Schild korrekt erkennt. Techniken zur Entfernungsmessung gibt es genügend mit Laser, Triangulation zweier Kameras oder einigen Arten von Strahlungen. Diese sind sehr zuverlässig, Probleme gibt es jedoch vor allem bei der Datenverarbeitung der Kameras. Nur mal so nebenbei, unser Auge bekommt anscheinend bis zu 2GB Daten pro Sekunde und unser Gehirn kann diese in Echtzeit verarbeiten. Bis ein Bordcomputer solch eine Rechenleistung besitzt oder der Algorithmus so effizient ist, muss noch einiges an Forschung bewältigt werden...

    Hallo,
    Ich habe vor kurzem einen Raspberry Pi erhalten. Mein Projekt ist ein "DashPi". Eine Verbindung aus einer Dashboard Kamera und einem Raspberry Pi. Ziel ist es, eine GoPro an den Raspberry Pi anzuschließen, ins Auto zu montieren und auf einem Bildschirm eine Analyse der Straße zu erhalten; Schilder, Fahrbahnmarkierungen, Distanz zum anderen Fahrzeug, etc. Das ganze ist natürlich utopisch, denn nicht mal die großen Firmen voll funktionsfähige Algorithmen besitzen. Es ist dennoch ein Versuch wert! Aktuell werden die Schilde wie folgt erkannt:


    750x500
    750x500


    Sprich scheiße. Es steckt noch alles in den Kinderschuhen und eine menge an Arbeit liegt noch vor mir.


    Ich benutze Arch Linux ohne GUI sowie openCV um eine Basis für die Bildanalyse zu besitzen. Das ganze wird in C++ geschrieben. Falls Interesse besteht, wie es (bis jetzt) funktioniert und wie es weiter geht, halte ich euch gerne auf dem laufenden. Ich bin auch offen für Vorschläge und Kritik, falls ihr welche habt.


    Nebensächlich, Robotik ist nicht nur ein kleines Fahrzeug zu steuern, sondern vor allem Machine Learning, Visual Computing und alles was das Fahrzeug auf dem Kurs hält ;)

    Hey,
    Viel mehr gibt es nicht. Input ist ein Mat objekt(aus openCV2), welches ein Bild aus 1280*720px enthält. Mit der Zeile in der Schleife lese ist somit die RGB Werte aus, und vergleiche sie mit einem festgelegten Wert. Ohne den Vergleich in der Schleife läuft alles, mit ihm crasht das Programm. Ein konstanter Vergleich mit fixen Koordinaten geht auch.


    Zur Info: Mit Vec3b kann man die drei Kanäle (BGR in diesem Falle) aufrufen und per index anzeigen lassen.

    Hallo, wenn ich diese Schleife laufen lasse, crasht das Programm und Arch Linux zeigt mir eine Fehlermeldung an.


    Code
    for(int i = 0; i <= 1280; i++){
        for(int j = 0; j <=720; j++){
           if((input.at<Vec3b>(i,j)[2] < 180) || (((input.at<Vec3b>(i,j)[1])+(input.at<Vec3b>(i,j)[0])) >= 110)){
          }
        }
        }


    Quote


    Failed to write entry (26items, 36647509 bytes) despite vacuuming, ignoring: Argument list too long

    Danke für die Antworten. In wie fern würde sich denn einen Cluster aus 3-4 Raspberry Pi's empfehlen um als Homeserver zu fungieren, falls einer allein nicht ausreicht? Man könnte doch somit einen als Hauptknoten nehmen, und die einzelnen Arbeiten(download, git, etc.) an weitere verteilen? Mir geht es nicht darum, einen voll funktionsfähigen Home NAS zu besitzen, den bekomme ich auch im nächstgelegenen Elektromarkt, sondern ist der Reiz vorhanden, selber etwas aufzustellen und daran zu arbeiten.