Jeffrey Cross
Jeffrey Cross

How-To: Erste Schritte mit dem BeagleBone

Ich habe zwar schon eine ganze Weile mein Augenmerk auf Embedded Linux-Plattformen gerichtet, war mir aber nicht sicher, wie ich anfangen soll. Als ich sah, dass unser eigener Maker Shed anfing, den BeagleBone zu tragen, rief ich an, um eine Testeinheit zu bekommen. Das mit dem Board gelieferte Systemreferenzhandbuch ist etwas abschreckend und nicht als Leitfaden für den Einstieg gedacht (obwohl sich dort viele nützliche Referenzinformationen befinden). Nach einiger Recherche im Internet begann ich, das virtuelle Dateisystem von Linux, sysfs, zu nutzen, um die GPIO-Pins des BeagleBone zu lesen und zu steuern. Parallel dazu habe ich mir gerade genug Python beigebracht, um diese Operationen zu schreiben. Mit den grundlegenden Funktionen von digitalRead und digitalWrite verfügte ich über viele der Werkzeuge, die ich brauchte, um einige coole Projekte mit der Platine durchzuführen.

Ich verbrachte jedoch viel Zeit damit, zwischen meinem Board, dem Systemreferenzhandbuch und meinem Skript hin und her zu wechseln, während ich daran arbeitete, LEDs und Tasten blinken zu lassen. Das Übersetzen zwischen dem physischen Pin in der Kopfzeile und dem Pin, auf den ich mich im Skript beziehe, bedeutete zwei Übersetzungsschritte, die schnell frustrierend wurden. Ich habe meine Python-Funktionen für diese Übersetzung aktualisiert und in ein eigenes Modul gepackt.Ich hatte nicht die Absicht, dieses Modul öffentlich verfügbar zu machen, aber ich dachte, es könnte eine große Hilfe für jeden sein, der gerade erst anfängt. Dieses Modul, mrBBIO, ist bei Github verfügbar, und ich begrüße jeden, der Verbesserungen daran vornehmen kann. Wenn Sie nach etwas Fortgeschrittenem suchen, schauen Sie sich PyBBIO an, das Speicherregister verwendet, um dasselbe zu tun.

Nun, da ich das gut verstanden habe, möchte ich es gerne in einem "echten" Projekt einsetzen. Ich habe es geschafft, den lighttpd-Webserver mit PHP zum Laufen zu bringen, und ich schrieb sogar ein PHP-Skript, das Pins hoch und tief setzen konnte. Dies macht es viel einfacher, meine Elektronikprojekte online zu stellen, was bei weniger leistungsfähigen Mikrocontrollern eine Herausforderung sein kann.

Ich konnte nicht jedes Detail behandeln, das mit der Arbeit mit den GPIO-Pins des BeagleBone zu tun hat, aber ich hoffe, dass diese Ressourcenliste Lücken schließt:

  • Nathan Dumonts Blogeintrag zu Hardware Interfacing auf dem BeagleBone war ein großer Durchbruch für mich, um herauszufinden, wie man GPIO-Pins mit sysfs steuert.
  • Viele meiner Google-Suchanfragen führten mich zu The Embedded Linux Wiki auf eLinux.org. Es gibt einige BeagleBoard- und BeagleBone-spezifische Seiten, aber auch die anderen Seiten sind eine sehr hilfreiche Ressource.
  • Nuno Alves schrieb einen großartigen Beitrag zum Laden eines neuen Beaglebone-Betriebssystems in eine SD-Karte unter Mac OS X
  • Für schnelle Fragen war der #beagle IRC-Kanal auf Freenode eine große Hilfe. Sie werden mich dort lauern, wenn Sie bei diesem bestimmten Projekt Hilfe benötigen. Erwähnen Sie einfach "MattRichardson" und ich erhalte eine Benachrichtigung.
  • Der Blog-Beitrag von Akademii zu BeagleBone GPIO Testing half mir dabei, eine übliche Pin-Multiplexing-Falle im BeagleBone zu durchlaufen.
  • GigaMegaBlog hat einen Beitrag zur Verwendung von seriellen und analogen Eingaben am BeagleBone. Ich habe mich nicht viel mit diesen Themen beschäftigt, aber sie sind vielleicht gut für Leute, die über digitalRead und digitalWrite hinaus wollen. Schauen Sie sich alle Beagle-Beiträge bei GigaMegaBlog an. Dort gibt es viele tolle Inhalte.
  • PyBBIO von Alexander Hiam gab mir eine gute Vorstellung davon, wie das mrbbio-Modul eine einfache Setup- und Loop-Funktion benötigt, genau wie der Arduino-Code.
  • Learning Python, 3rd Edition von Mark Lutz, half mir herauszufinden, wie Python funktioniert.

Abonnieren Sie How-Tos mit Matt Richardson in iTunes, laden Sie das m4v-Video direkt herunter oder schauen Sie es sich auf YouTube und Vimeo an.

Aktie

Leave A Comment