Augen gerade aus! Oder nach links oder rechts
Augen, die dem Betrachter folgen - die Magie besteht darin, dass über eine Webcam ein Bereich überwacht wird. Mit Hilfe der Bibliothek OpenCV prüfen wir, ob im Bild ein Gesicht erkannt wird. Ist das der Fall, wird ein Servo angesteuert, der die Augen in die Richtung dreht, in der das Gesicht gefunden wurde.
Im Kern handelt es sich dabei um eine Neuauflage unseres Laika-Projektes beim Galileo, allerdings in neuer Verpackung. Wir waren hier bewusst unkreativ, um einen Leistungsvergleich zum Galileo ziehen zu können. Aber auch, um zu testen, ob wir mit der MRAA-Bibliothek tatsächlich einfacher programmieren können, ohne uns neue Probleme aufzuhalsen.
Wegen des Versprechens der Einfachheit von MRAA haben wir aber auch eine einschneidende Änderung bei der Umsetzung beschlossen: Statt wie bei Laika in Python zu programmieren, haben wir diesmal C++ genommen. Wir verzichten dabei auch auf die Unterstützung durch die Eclipse-IDE, sondern arbeiten mehr oder weniger allein auf der Kommandozeile des Edison über SSH. So wollen wir herausfinden, ob die Linux-Installation tatsächlich so brauchbar ist, wie unser erster Eindruck nahelegte.
Ein kleiner, aber folgenschwerer Konfigurationsfehler
Bevor wir uns an das eigentliche Programm setzen, testen wir ein wenig die angeschlossene Webcam mit Hilfe von Kommandozeilenprogrammen, experimentieren mit der GCC-Installation und probieren MRAA mit Node.js sowie OpenCV mit Python aus. Wir wollen sichergehen, dass sowohl die Servo-Ansteuerung als auch OpenCV mit der Kamera funktionieren, bevor wir sie in einem C++-Programm zusammenpacken. Das zieht sich über mehrere Tage hin.
Als wir dann ein neues Package installieren wollen, erhalten wir eine unerwartete Fehlermeldung: kein Speicherplatz mehr. Wir rufen df -h auf und staunen nicht schlecht. Die Root-Partition ist tatsächlich komplett voll. Der größte Teil des Flash-Speichers ist für Benutzerverzeichnisse (2 GByte) reserviert, nur 500 MByte für System- und Programmdateien. Das ist zwar nicht sonderlich viel, aber weder haben wir ein großes Office-Paket installiert noch große Grafikprogramme oder IDEs.
Nach einer kurzen Recherche in Intels Maker-Forum finden wir heraus, dass wir nicht die einzigen mit diesem Problem sind. Das System ist derart konfiguriert, dass bestimmte Log-Dateien nicht gelöscht oder rotiert werden. Nachdem wir diesen Punkt umkonfiguriert und die alten Log-Dateien gelöscht haben, haben wir wieder 140 MByte frei.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
- ohne Werbung
- mit ausgeschaltetem Javascript
- mit RSS-Volltext-Feed
GPIO-Pins einfacher ansprechen | Programmieren in C++ und mit MRAA |
Na ja - das Edison/Arduino Gespann ist nun so viel kleiner nicht. Das reine Edison Modul...
und vom USB-Stick? Von SD wäre natürlich genial und vielleicht besser Intel hier ja noch...
Irgendwie ist die Betonung des Sprechers im Video ... hmm, naja, seltsam. *Sehr* seltsam...