Das Coral Dev Board Mini anschließen und loslegen

In diesem Beitrag erklären wir dir, wie du vom PC aus über ein sicheres Shell-Terminal auf das Coral Dev Board Mini zugreifen kannst. Die nötigen Vorbereitungen sind zwar etwas lästig, aber unkompliziert und nur einmal zu erledigen.

In diesem Blog erscheint nach und nach eine Serie von Artikeln, die sich mit dem Coral Dev Board Mini beschäftigen und dir zeigen, wie du damit umgehst und was du alles damit machen kannst.

Teil 1: Coral Dev Board Mini: Künstliche Intelligenz für den Hobbykeller

Teil 2: Das Coral AI Dev Board Mini im Überblick

Teil 3: Das Coral Dev Board Mini anschließen und loslegen

Teil 4: Mendel Linux: Das Betriebssystem des Coral AI Dev Board Mini

Teil 5: Kamera an das Coral AI Dev Board Mini anschließen  

Teil 6: Die Erweiterungsleiste des Coral Dev Board Mini

Teil 7: Programmieren mit dem Coral AI Dev Board Mini

Teil 8: Bilderkennung mit dem Dev Board Mini und der Coral Camera

Teil 9: Spracherkennung mit dem Coral Dev Board Mini

Extra: Mit dem Edge TPU-Compiler Modelle für das Coral Dev Board Mini erstellen

 

Host-PC vorbereiten

Grundsätzlich steuerst du das Dev Board Mini von einem anderen Rechner aus, dem sogenannten Host. Als Betriebssystem auf dem Host kommt Windows ab Version 10 und Linux infrage. Mit MacOS geht es prinzipiell auch, aber nur mit viel Aufwand. Beginnend mit MacOS Catalina lässt sich nämlich keine SSH-Verbindung über USB herstellen. Der Artikel fokussiert sich daher auf Windows, da die weit überwiegende Mehrheit der Anwender das Microsoft-Betriebssystem nutzt. Die Vorgehensweise bei Linux ist weitgehend gleich. Über wichtige Unterschiede informiert der Kasten „Board-Zugriff mit Linux“.


Python auf dem Host installieren

Du benötigst auf dem Host Python 3, da zentrale Tools darauf basieren. Python lässt sich ganz einfach installieren. Dazu gehst du auf die Website python.org. Unter „Downloads“ lädst du die aktuelle Version von Python 3 für Windows herunter. Dann führst du die Installationsdatei aus. Setze ein Häkchen bei „Add Python to PATH“ und klicke dann auf „Install Now“. Nach Abschluss der Installation klickst du noch auf „Disable path length limit“ – fertig.

Python für das Coral Dev Board Mini
Python stellt die Grundlage für den Zugriff auf das Dev Board Mini dar und lässt sich leicht installieren.

 

Git Bash als Terminal einrichten

Das Git Bash Terminal stellt unter Windows einen bequemen Weg zur Verfügung, auf das Coral-Board zuzugreifen. Es ist in Git für Windows enthalten. Das wiederum installiert du jetzt. Dazu gehst du zu der Seite gitforwindows.org. Lade die Software herunter und installiere sie wie gewohnt. Übernimm dabei die vorgeschlagenen Standard-Optionen.

Seit Git für Windows 2.28 kann das Git Bash Terminal nicht mehr direkt auf Python zugreifen. Deshalb ist ein kleiner Extra-Schritt notwendig. Öffne nach der Installation von Git Bash das Terminal und führe die folgenden beiden Befehle aus, um den Zugriff auf Python zu ermöglichen:

echo "alias python3='winpty python3.exe'" >> ~/.bash_profile
source ~/.bash_profile


Systemumgebungsvariable anpassen

Python ist bereits in der Umgebungsvariable für das Konto eingetragen. Um nicht immer mit vollständigen Pfad-Angaben arbeiten zu müssen, fügst du es noch in die systemweite Umgebungsvariable ein. Am schnellsten gelangt man zum Ziel, indem man im Suchfeld in der Taskleiste als Suchbegriff „Umgebungsvariable“ eingibt. Klicke auf „Systemumgebungsvariablen bearbeiten“ und im neuen Fenster dann auf „Umgebungsvariablen…“. Klicke im unteren Bereich auf „Path“ und dann auf „Neu“ und trage den Pfad zur Datei „python3.exe“ ein. Den ermittelst du in der Git Bash mit dem Befehl:

which python3

 

 

Pfad für die Systemumgebungsvariable

Die Systemumgebungsvariable sorgt dafür, dass die eingetragenen Pfade systemweit bekannt sind.

 


Mendel Development Tool installieren

Mendel ist der Name des Linux-Betriebssystems, das auf dem Dev Board Mini vorinstalliert ist. Dabei handelt es sich wie etwa auch bei Ubuntu um ein Debian-Derivat. Somit lassen sich Debian-Pakete problemlos auf dem Board installieren. Um vom Host-PC auf Mendel zuzugreifen, dient das Mendel Development Tool (MDT).


MDT ist ein Kommandozeilenwerkzeug für den Host-Computer, das bei der Interaktion mit dem Dev Board Mini unterstützt. Um MDT zu installieren, gibst du in der Git Bash den folgenden Befehl ein:

python3 -m pip install --user mendel-development-tool


Windows-Benutzer müssen wieder eine Extra-Schleife drehen. Sie benötigen wie für Python einen Alias, um MDT ausführen zu können. Den Alias richtest du so ein:
echo "alias mdt='winpty mdt'" >> ~/.bash_profile
source ~/.bash_profile


Trage abschließend den Pfad zu MDT ebenfalls wie oben beschrieben in die Systemumgebungsvariable ein. Um den Pfad zu ermitteln, suche im Windows Explorer nach „mdt“.

Pfad zum Mendel Development Tool


Das Mendel Development Tool ist tief im Dateisystem versteckt. Eine Suche im Windows Explorer bringt es an den Tag.

 

Dev Board Mini anschließen

Jetzt kommt der große Moment: Verbinde das Netzteil mit dem USB-Netzstecker des Boards. Das ist der linke der beiden USB-C-Anschlüsse auf dem Dev Board Mini. Schließe danach das USB-Datenkabel an den rechten USB-Anschluss auf dem Board an und verbinde das andere Ende mit dem Host-PC. Das Dev Board fährt nun automatisch hoch und die LED auf dem Board leuchtet grün. Nach etwa 30 Sekunden ist das Board vollständig hochgefahren und einsatzbereit.


Beachte: Du benötigst bei Rechnern ohne USB-C-Port ein Kabel USB-A auf USB-C. Mit einem reinen USB-Ladekabel funktioniert es übrigens nicht, es muss sich um ein USB-Kabel handeln, das eine Datenübertragung ermöglicht.

Stromversorgung und Datenkabel am Coral Dev Board Mini


Zum Hochfahren des Boards schließt du die Stromversorgung und das Datenkabel an. Ohne Datenkabel dient der Power-Button als Einschalt-Knopf.

 

Über MDT auf die Shell des Boards zugreifen

Jetzt greifst du zum ersten Mal auf das Dev Board zu. MDT stellt dafür über USB eine SSH-Verbindung her. Um zu prüfen, ob MDT das Dev Board Mini ordnungsgemäß erkennt, öffnest du auf dem Host-Rechner die Git Bash und gibst dort

mdt devices

ein. Als Output erscheint der Name des Boards sowie die IP-Adresse.

Jetzt gibst du

mdt shell

ein. Nach einem Moment solltest du den Shell-Prompt von Mendel Linux sehen. Nun bist du auf dem Board und kannst dort loslegen. Falls an dieser Stelle eine Fehlermeldung erscheint mit dem Hinweis „Key not present…“, dann musst du einen kleinen Umweg gehen, den der Kasten „Keymanager-Bug ausmerzen“ beschreibt. Um zur Git Bash zurückzukehren, gibst du

exit

ein.

Über MDT eine Verbindung mit dem Betriebssystem des Boards herstellen
Über MDT lassen sich die verbundenen Devices ausgeben und eine Verbindung mit dem Betriebssystem des Boards etablieren.


Verbindung zum Internet herstellen

Du benötigst Online-Zugriff für das Board, um Systemupdates, TensorFlow-Modelle und Code-Beispiele herunterzuladen. Mit diesem Befehl richtest du in der Shell des Boards die WLAN-Verbindung mit Netzwerknamen und Passwort ein:

nmcli --ask dev wifi connect <Netzwerkname> ifname wlan0



Dabei ersetzt du <Netzwerkname> durch deine Angabe. Wenn im Netzwerknamen Leerzeichen oder Sonderzeichen vorkommen, dann setzt du ihn in einfache Anführungszeichen, etwa

nmcli --ask dev wifi connect ‘FRITZ!Box Fon WLAN 7490‘ ifname wlan0



Der Parameter

--ask

sorgt dafür, dass das Passwort abgefragt wird und somit nicht in der History landet. Im Erfolgsfall erscheint die Meldung „Device … successfully activated…“. Das kannst du nochmals überprüfen mit nmcli connection show oder mit ping coral.ai.

Dev Board Mini sicher herunterfahren

Zum Herunterfahren des Boards gehst du einfach den umgekehrten Weg wie beim Anschluss. Zuerst entfernst du das Kabel am USB-OTG-Port. Dann drückst du kurz auf den Power-Taster. Wenn die grüne LED erlischt, dann kannst du den Stromanschluss entfernen.

Board-Zugriff mit Linux


Die Vorgehensweise unter Linux entspricht weitgehend der unter Windows. Die Git Bash ist hier überflüssig, den Abschnitt kannst du folglich auslassen.
Um MDT zur PATH-Variable hinzuzufügen, verwendest du unter Linux die folgenden beiden Befehle:
echo 'export PATH="$PATH:$HOME/.local/bin"' >> ~/.bash_profile
source ~/.bash_profile

Die Einrichtung des WLAN-Zugangs ist hier etwas komfortabler, indem du ein interaktives Menü nutzt, um das Netzwerk auszuwählen. Starte das Menü des Netzwerkmanagers mit nmtui. Navigiere über die Tastatur zur Option „Verbindung aktivieren“. Wähle das passende Netzwerk aus der Liste aus, gib das Passwort ein und beende das Menü.

 

Keymanager-Bug ausmerzen


In seltenen Fällen erscheint beim Zugriff auf die Shell via MDT eine Fehlermeldung. Das liegt daran, dass der Dienst keymanager den auf dem Board gespeicherten öffentlichen Schlüssel zur Authentifizierung nicht freigibt.

Um dies zu beheben, ist ein direkter Zugriff auf das Board notwendig. Dazu schließt du über den HDMI-Anschluss einen Monitor an und eine Tastatur mit Touchpad an den USB-OTG-Anschluss. Das ist der rechte der beiden USB-C-Anschlüsse. Dafür benötigst du eventuell einen Adapter USB-A auf USB-C. Dann schließt du die Stromversorgung an und hälst den Power-Taster gedrückt. Er befindet sich neben dem HDMI-Anschluss. Das Board fährt daraufhin hoch.
Öffne das Terminal und gib cd .ssh ein, um in das passende Verzeichnis zu wechseln. Mit rm authorized_keys löschst du den fehlerhaften Schlüssel. Er wird später neu angelegt. Um den Dienst keymaster neu zu starten, gibst du abschließend sudo service mdt-keymaster restart ein.
Nun geht es auf dem Host-PC weiter. Rufe die Git Bash auf und gib pwd ein, am das aktuelle Verzeichnis auszugeben. Dort befindet sich im Unterverzeichnis /.config/mdt/keys der private Schlüssel. Navigiere im Windows Explorer dorthin und lösche ihn.

Der private Schlüssel auf dem Host-RechnerDer zu löschende private Schlüssel befindet sich auf dem Host-Rechner in einem Unterordner des Benutzer-Ordners.

 

Entferne das HDMI-Kabel und die Tastatur vom Board und schließe es über den USB-OGT-Port an den Host-PC an. In der Git Bash gibst du mdt shell ein, um auf das Board zuzugreifen. Jetzt sollte es funktionieren.

Hinterlasse einen Kommentar

Alle Kommentare werden vor der Veröffentlichung moderiert