BeagleBone Black

Aus FHEMWiki

Beim BeagleBone Black (BBB) handelt es sich um eine Entwicklungsplattform von Texas Instruments für den "Sitara" Prozessor AM3358, einem Singlecore ARM Cortex-A8. Dieser Einplatinencomputer kann unter Linux betrieben werden und ist vergleichbar mit anderen Embedded Systemen wie z.B. dem Raspberry Pi, Banana Pi oder Cubieboard.

Emblem-question-yellow.svgDie folgende Beschreibung gilt nur noch für REV C Boards mit 4GB emmc.

Auf alten Revisionen mit 2GB ist hinterher lediglich ca. 180MB Speicher im emmc frei. Details sind im

Fhem-Forum beschrieben.
Eigenschaft BeagleBone Black Rev.C Raspberry Pi 2 Model B Raspberry Pi 3 Model B
SOC TI AM3358 Broadcom BCM2836 Broadcom BCM2837
ARM Cortex A8 A7 A53
Takt 1.0GHz 0.9GHz 1.2GHz
RAM 512MB 1024MB 1024MB
Arbeits­speicher 4GB eMMC + microSD microSD microSD
Preis ca. (Stand April 2016) 54€ 34€ 38€

Als Besonderheit verfügt der SOC des BeagleBone Black über zwei CAN-Bus Controller. Im Lieferzustand ist Ångström-Linux installiert. Das Board kann aber auch mit Android (rowboat), Ubuntu, Debian, openSUSE, FreeBSD, OpenBSD, QNX und Windows Embedded betrieben werden. Es handelt sich um OpenSource-Hardware deren Schaltpläne und Bestückungslisten öffentlich sind. Für den Einsatz in der Gebäudeautomatisierung ist ein Gehäuse für die Montage auf Hutschienen verfügbar.

Debian/Ubuntu auf dem BBB (emmc) installieren

Benötigt

  • micro SD-Karte nebst Lesegerät
  • 5V Stecknetzteil mit Rundstecker oder
  • alternativ ein USB-Verbindungskabel und einen USB Port der 500mA bereit stellen kann; kann auch einfach ein USB Ladeadapter in einer Steckdose sein
  • Debian: eMMC Image BeagleBone Black (eMMC flasher) auswählen
  • Win32DiskImager wenn man mit Windows arbeitet
  • alternativ kann auch dd unter Linux verwendet werden.

Image auf SD Karte

  • Das benötigte Image (Debian oder Ubuntu) herunter laden und speichern

Windows

  • entpacken
  • micro SD Karte in PC
  • Win32DiskImager starten (er benötigt Admin Rechte, nicht über die Abfrage beim Start wundern)
  • vergewissern, dass der DiskImager den richtigen Laufwerksbuchstaben (also den der SD Karte) als Ziel hat (Device)
  • nochmal kontrollieren
  • das gerade entpackte Image auswählen
  • write
  • warten... (dauert durchaus so 5 Minuten)
  • wenn fertig, bitte SD Karte ordentlich auswerfen

Linux

  • mit unxz dekomprimieren
  • micro SD Karte mit dem PC verbinden
  • als root-User mit fdisk -l prüfen mit welchem Namen die Karte als Device verfügbar ist
  • das Image mit dd auf die SD-Karte übertragen

Details und alternative Methoden finden sich auf der Homepage.

Image von SD Karte auf eMMC

Nachdem eine bootfähige microSD-Karte erstellt wurde, kann man den BBB damit booten:

  • micro SD Karte in den BBB
  • Netzwerk und sonst nichts angeschlossen haben
  • den kleinen Knopf auf der Seite vom USB Port drücken und halten (nicht einen beim Netzwerkanschluss)
  • jetzt Strom zuführen (es leuchtet sofort 1 einzelne blaue LED)
  • wenn die restlichen LEDs anfangen zu blinken, kann man den Knopf wieder loslassen
  • warten, bis alle LEDs ruhig und gleichmäßig leuchten

Da sich viele Anwender auf diese Weise versehentlich ihr Board neu "geflashed" haben, wurde in manchen Distributionen das betreffende Kommando auskommentiert. Der BBB bootet zwar von der microSD, aber das System wird nicht auf den internen eMMC übertragen. In diesem Fall muss man sich zuerst anmelden und das Kommando selbst ausführen (siehe unten). Das hat auch den Vorteil, dass man den Installationsprozess beobachten kann.

Weiter auf dem BBB

Der BBB meldet sich als DHCP-Klient im angeschlossenen Netzwerk an. Nun muss man die IP Adresse des BBB herausfinden. Dazu kann man

  1. auf dem Router (z.B. FritzBox) nachsehen ob ein Gerät als "beaglebone" oder "arm" angemeldet ist
  2. den DHCP bzw. DNS-Server fragen
  3. als root-User z.B. mit nmap -sP 192.168.5.* einen Nummernkreis scannen lassen und dann mit arp -a | grep -i "54:4A:16" nachsehen ob ein TI Gerät gefunden wurde.

Der BBB fällt in den MAC-Listen durch seine Adresse von Texas Instruments mit 54:4A:16 am Anfang auf. Hat man ihn gefunden, dann kann man sich mit einem SSH-Klienten (z.B. Putty) einloggen. Der Benutzername entspricht der Distribution ("debian" oder "ubuntu") und das Passwort ist "temppwd". Das Passwort kann (wie auf jedem Linux System) mit passwd geändert werden.

Per Kommando das System kopieren

Falls es sich um ein Systemabbild (Image) handelt, bei dem nicht nach dem Startvorgang das System auf den interenen Speicher (eMMC) übertragen wird, muss man es selbst erledigen. Dazu schaut man in die Datei /boot/uEnv.txt in der eine Zeile stehen sollte die so aussieht:

#cmdline=init=/opt/scripts/tools/eMMC/init-eMMC-flasher-v3.sh

Das darin angegebene Kommando muss man dann in der Shell selbst ausführen. In diesem Fall also

/opt/scripts/tools/eMMC/init-eMMC-flasher-v3.sh

Jetzt kann man der Übertragung des Betriebssystems in den internen Speicher zusehen. Danach die microSD-Karte entfernen und den BBB neu starten.

System identifizieren

Nach der Installation eines neuen Betriebssystems oder wenn ein BBB vorliegt und das System ist nicht bekannt, kann man auf der "Hundemarke" nachsehen. Bei den BeagleBones hat es sich eingebürgert eine Datei /etc/dogtag anzulegen, in der das System bezeichnet ist z.B.:

BeagleBoard.org Debian Image 2015-03-01

Perl und Fhem installieren

Jetzt geht es weiter, ziemlich genau wie am RasPi auch:

# Timezone einstellen
sudo dpkg-reconfigure tzdata
# OS auf aktuellen Stand bringen (kann länger dauern):
sudo apt-get update
sudo apt-get dist-upgrade
# Perl Interpreter und Bibliotheken installieren
sudo apt-get install perl libdevice-serialport-perl libio-socket-ssl-perl

Die aktuellste, stabile Version herunter laden. Die Version im folgenden Befehl bitte entsprechend anpassen:

wget  http://fhem.de/fhem-X.Y.deb
# Das Debian-Paket installieren
sudo dpkg -i fhem-X.Y.deb

Jetzt sollte man mit der IP Adresse vom Beagle unter der Portnummer 8083 von fhem begrüßt werden z.B. http://192.168.10.43:8083

Links