BeagleBone: open-hardware erweiterbar computer

Künstler-getestet, ingenieur genehmigt

Die links-hand navigation bar wird helfen sie erkunden ihre bord und lernen, wie es zu programmieren.

Neueste ARM open source konzentriert auf einfache hardware experimente

  • Schiffe bereit zu verwenden
    • Angstrom Verteilung mit C ++, Perl, Python, …
    • Linux-Treiber unterstützen unzählige USB-Peripheriegeräte
    • Interaktives Tutorial zum Erlernen der Funktionen
  • Open Source bedeutet Optionen
    • Texas Instruments Releases: Android, Linux, StarterWare (kein Betriebssystem)
    • Linux: Angstrom Distribution, Ubuntu, Debian, ArchLinux, Sabayon, Buildroot, Erlang, Fedora
    • Andere: QNX, FreeBSD
    • Projektseite
  • SD-Kartenbilder wie Get-out-of-jail-Free-Karten
    xzcat XXX.img.xz | sudo dd of=/dev/sdX
    • Können genauso einfach für Backups verwendet werden
    • Das Board kann mit dem Geräte-ROM von SD gebootet werden, sodass es nicht „gemauert“ werden kann
    • 7-zip und Ubuntu Win32DiskImager ermöglichen programmierung karten von Windows

Update board mit neueste software

Es gibt mehrere möglichkeiten zu laufen initial software auf ihre bord, aber es ist likley, dass der einfachste weg, um ein update ist zu schaffen eine genaue replik eines bootfähigen microSD-Karte und booten Sie davon. Der BeagleBone Black Rev C verfügt über 4 GB eMMC-Speicher, der durch ein Programm initialisiert werden kann, das von einer microSD-Karte gestartet wird. Wenn Sie auf das neueste Software-Image für Ihr Board aktualisieren möchten, ist dies eine Möglichkeit, dies zu tun.

Siehe Updates für die Schritt-für-Schritt-Anleitung.

Informationen darüber, wie Sie den Quellcode für das mit Ihrem Board gelieferte Image erhalten, finden Sie unter beagleboard.org/source , zusammen mit Anweisungen für den Wiederaufbau.

BoneScript interactive guide

BoneScript ist eine JavaScript-Bibliothek, die das Erlernen von Physical Computing-Aufgaben mit Embedded Linux vereinfacht. Diese Webseite kann mit Ihrem Board interagieren, um ein interaktives Tutorial bereitzustellen.

Beispiel run restore

var b = require('bonescript');b.pinMode('USR0', b.OUTPUT);b.pinMode('USR1', b.OUTPUT);b.pinMode('USR2', b.OUTPUT);b.pinMode('USR3', b.OUTPUT);b.digitalWrite('USR0', b.HIGH);b.digitalWrite('USR1', b.HIGH);b.digitalWrite('USR2', b.HIGH);b.digitalWrite('USR3', b.HIGH);setTimeout(restore, 2000);

Wenn Sie das obige Beispiel ausführen, leuchten alle Ihre LEDs für einige Sekunden gleichzeitig auf.

Um mehr über Bonescript zu erfahren, lesen Sie bitte diesen interaktiven Leitfaden weiter.

Cloud9 IDE

Um mit der Bearbeitung von Programmen zu beginnen, die sich auf Ihrem Board befinden, können Sie die Cloud9 IDE verwenden.

Wenn Ihr Board an Ihren USB-Anschluss angeschlossen ist, klicken Sie oben auf den Link „Cloud9 IDE“, um den Editor zu starten.

Als einfache Übung, um sich mit Cloud9 IDE und der Bonescript JavaScript-Bibliothek vertraut zu machen, ist das Erstellen einer einfachen Anwendung zum Blinken einer der 4 vom Benutzer programmierbaren LEDs auf dem BeagleBone ein guter Anfang.

  • Schritt A: Schließen Sie alle geöffneten Dateiregisterkarten.
  • Schritt B: Klicken Sie oben rechts auf das „+“, um eine neue Datei zu erstellen.

  • Schritt C: Schneiden Sie den folgenden Code aus und fügen Sie ihn in die neue Registerkarte ein:
    var b = require('bonescript');var state = b.LOW;b.pinMode("USR0", b.OUTPUT);b.pinMode("USR1", b.OUTPUT);b.pinMode("USR2", b.OUTPUT);b.pinMode("USR3", b.OUTPUT);setInterval(toggle, 1000);function toggle() { if(state == b.LOW) state = b.HIGH; else state = b.LOW; b.digitalWrite("USR3", state);}
  • Schritt D: Speichern Sie die Datei, indem Sie auf das Festplattensymbol klicken und der Datei einen Namen mit dem geben.js-Erweiterung.



  • Schritt E: Führen Sie den Code aus, indem Sie auf den Pfeil rechts neben „Ausführen“ (oder „Debuggen“) in der Symbolleiste klicken, um die Liste der auszuführenden Dateien aufzurufen und Ihre neue Datei auszuwählen.
  • Schritt F: Beobachten die BeagleBone USR3 LED blinkt stetig über 5 mal eine sekunde.
  • Schritt G: Stoppen Sie den Code, indem Sie in der Symbolleiste auf „stop“ klicken.

Weitere Informationen zur Bonescript-Bibliothek finden Sie in der im nächsten Schritt angezeigten Präsentation und online unter http://beagleboard.org/project/bonescript.

Autorun

Wenn Sie mit der Entwicklung Ihrer JavaScript-Anwendung fertig sind, können Sie sie beim Booten starten lassen, indem Sie sie einfach in den Unterordner ‚autorun‘ (unter /var/lib/cloud9/autorun im Dateisystem) ablegen.

Das systemd bonescript-autorun.der Dienst wird beim Start ausgeführt und verwendet /usr/lib/node_modules/bonescript/autorun .js-Skript, um automatisch zu erkennen, wann .js-Dateien befinden sich in diesem Verzeichnis und rufen sie als separate Prozesse mit Knoten auf.js. Wenn die Dateien geändert oder verschoben werden, beendet das Skript die Prozesse.

Ressourcen

Weitere Informationen zu Cloud9 IDE und zum Synchronisieren der Software auf Ihrem Board mit Cloud-gehosteten Diensten finden Sie unter www.c9.io .

Für weitere Informationen über Node.JS, der JavaScript-Interpreter, siehe www.nodejs.org . Beachten Sie, dass Version 0.10.25 derzeit auf dem Standard-Image installiert ist und Sie die API-Dokumentation unter www.nodejs.org/docs/v0.10.25/api .

Weitere Informationen zur Bonescript-Bibliothek finden Sie unter www.beagleboard.org/bonescript.

Liste der gebräuchlichen Linux-Befehle

  • pwd – aktuelles Verzeichnis anzeigen
  • cd – aktuelles Verzeichnis ändern
  • ls – Verzeichnisinhalt auflisten
  • chmod – Dateiberechtigungen ändern
  • chown – Dateibesitz ändern
  • cp – Dateien kopieren
  • mv – dateien verschieben
  • rm – Dateien entfernen
  • mkdir – Verzeichnis erstellen
  • rmdir – Verzeichnis entfernen
  • cat – Inhalt der Dump-Datei
  • less – Inhalt der Dump-Datei
  • vi – Datei bearbeiten (komplex)
  • nano – Datei bearbeiten (einfach)
  • dump nach oben
  • tail – trim Dump nach unten
  • echo – print / Dump-Wert
  • env – Dump-Umgebungsvariablen
  • Export – Set-Umgebungsvariable
  • history – Dump-Befehl Geschichte
  • grep – Suche Dump für Strings
  • man – Hilfe auf Befehl
  • apropos – Liste der Man-Seiten anzeigen
  • find – Suche nach Dateien
  • tar – Erstellen / Extrahieren von Dateiarchiven
  • gzip – komprimieren einer Datei
  • gunzip – dekomprimieren einer Datei
  • du – Festplattennutzung anzeigen
  • df – freien Speicherplatz anzeigen
  • mount – mount festplatten
  • tee – Dump parallel in Datei schreiben
  • Hexdump – lesbare binäre Dumps

Andere Programmierumgebungen

Das Board wird auch mit gcc, Python und mehr ausgeliefert, die direkt über die Befehlszeile aufgerufen werden können.

Die BeagleBoneBlack Wiki-Seite dokumentiert alle bekannten Hardwareprobleme sowie die neueste verfügbare Software, Hardwaredokumentation und Designmaterialien.

Lesen Sie immer das Systemreferenzhandbuch!!!

Designmaterialien

Designmaterialien zum Erstellen Ihrer eigenen angepassten Version der Hardware oder zum besseren Verständnis des Designs sind ebenfalls von der traditionellen Startseite von „http://beagleboard.org/hardware/design“

BeagleBone Black Hardware Details

Revision A5 bietet auch eine EIN- / AUS-Taste, mit der hibernate-Modi, sobald diese Funktion in der Software implementiert ist.

Header

Die Erweiterungsheader bieten umfangreiche E/A-Möglichkeiten.

Jeder digitale E / A-Pin verfügt über 8 verschiedene Modi, die ausgewählt werden können, einschließlich GPIO.

Im GPIO-Modus kann jeder digitale E/A Interrupts erzeugen.

Bis zu 8 digitale E / A-Pins können mit Pulsweitenmodulatoren (PWM) konfiguriert werden, um Signale zur Steuerung von Motoren oder zur Erzeugung analoger Spannungspegel zu erzeugen, ohne zusätzliche CPU-Zyklen in Anspruch zu nehmen.

Stellen Sie sicher, dass Sie nicht mehr als 1,8 V an die analogen Eingangspins eingeben.

Dies ist ein einzelner 12-Bit-Analog-Digital-Wandler mit 8 Kanälen, von denen 7 auf den Headern verfügbar sind.

Es gibt einen dedizierten Header, um zu den UART0-Pins zu gelangen und ein Debug-Kabel anzuschließen. Fünf zusätzliche serielle Ports werden zu den Erweiterungsheadern gebracht, aber einer von ihnen hat nur eine einzige Richtung zu den Headern gebracht.

Der erste I2C-Bus wird zum Lesen von EEPROMS auf Cape-Add-On-Boards verwendet und kann nicht für andere digitale E / A-Vorgänge verwendet werden, ohne diese Funktion zu beeinträchtigen, aber Sie können ihn weiterhin verwenden, um andere I2C-Geräte an verfügbaren Adressen hinzuzufügen.

Der zweite I2C-Bus steht Ihnen zur Konfiguration und Verwendung zur Verfügung.

Um Daten schnell zu übertragen, können Sie einen der SPI-Ports verwenden.

Fortgeschrittene Benutzer können auch 2 integrierte 32-Bit-200-MHz-Mikrocontroller verwenden, die als Programmierbare Echtzeiteinheiten (Programmable Real-Time Units, PRUs) bezeichnet werden, um Echtzeitaufgaben auszuführen. Jeder PRU sind einige Pins zugeordnet, die direkt an Register gebunden sind, um einen Zugriff mit sehr geringer Latenz zu ermöglichen.

Capes

Capes sind eigentlich nur Daughterboards für BeagleBones, aber wir beziehen uns genug auf sie, dass ein kurzer Name Sinn macht. BeagleBone trägt sie, Sie haben normalerweise einen Ausschnitt um den Ethernet-Anschluss, der ihnen eine umhangartige Form verleiht, und Underdog ist ein Beagle!

Die beaglebonecapes.com site versucht, die derzeit verfügbaren Cape-Add-On-Boards für BeagleBone und BeagleBone Black zu konsolidieren.

Die verfügbaren Umhänge sind sehr unterschiedlich, von 3D-Druckerumhängen und Touchscreen-Displays bis hin zu drahtloser Kommunikation und FPGA-basierten Prototyping-Tools.

Von jedem Cape, das Pins auf dem Erweiterungsheader verwendet, wird erwartet, dass es die Software auf der Platine benachrichtigt, indem es Inhalte im EEPROM bereitstellt, die mit I2C2 mit einer Adresse von 0x54 bis 0x57 verbunden sind. Um mit anderen Umhängen zu arbeiten, können Sie Ihre Adresse zwischen diesen Werten auswählen, um Konflikte zu vermeiden. Es ist auch möglich, durch Anschlüsse vorzusehen, so dass andere Capes auch Verbindungen zu den Cape-Header-Pins erhalten können

Header auf BeagleBone Black

BeagleBone Black wird mit zwei bereits vorhandenen virtuellen Capes ausgeliefert, einem für den integrierten eMMC-Speicher und einem für den HDMI-Ausgang. Wenn diese virtuellen Umhänge für die Verwendung konfiguriert sind, verbrauchen sie tatsächliche Ressourcen.

Wenn die eMMC nicht auf Reset gestellt ist, dürfen die MMC1* -Signale nicht verwendet werden, ohne den Inhalt Ihrer On-Board-eMMC zu beschädigen und möglicherweise auch die physische Schaltung zu beschädigen.

Die HDMI signale sind alle eingänge zu die HDMI gerät, so gibt es keine notwendigkeit zu setzen die HDMI gerät in reset, aber mit diese pins für andere operationen wird verursachen die HDMI ausgang zu gestört werden. Beachten Sie jedoch, dass die Linux-Software diese normalerweise für die Verwendung durch den HDMI-Treiber zuweist, sodass Ihre Software möglicherweise nicht auf sie zugreifen kann, ohne diesen Treiber zu entladen.

Cape Demos

  • Bacon Cape – Grundlegende Interaktionen lehren

Bücher

Eine vollständige Liste der Bücher über BeagleBone finden Sie unterhttp://beagleboard.org/books.

Schlecht zu die Knochen

Perfekt für high-school-senioren oder freshman univerisity ebene text, betrachten mit „Bad zu die Knochen“

BeagleBone Kochbuch

EINE leichtere behandlung geeignet für ein bisschen breiteres publikum ohne die backgrounders auf programmierung und elektronik, betrachten „BeagleBone Kochbuch“

Exploring BeagleBone und Embedded Linux Primer

Zu nehmen dinge auf die nächste ebene von detail, betrachten Sie „Exploring BeagleBone“, das als das fehlende Softwarehandbuch angesehen werden kann, und verwenden Sie „Embedded Linux Primer“ als Begleitbuch, um eine starke Basis für Embedded Linux zu bieten, die für die Arbeit mit jeder Hardware geeignet ist, auf der Linux ausgeführt wird.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.