© Titima Ongkantong/Shutterstock.com
Wir programmieren den Maixduino

AI Arduino


Mit dem Maixduino steht eine kostengünstige Platine zur Verfügung, die bei der Mobilisierung von Algorithmen der künstlichen Intelligenz hilft. Dieser Artikel zeigt die Möglichkeiten zur Programmierung des Einplatinencomputers auf.

Dank Python und diversen Frameworks ist es heute kein großes Problem mehr, AI-Algorithmen auf einer Workstation zum Laufen zu bringen. Schwieriger wird es, wenn man eine Appliance mit den Algorithmen und Prozessen ausstatten möchte. Neben den Problemen bei der Findung eines ausreichend starken Einplatinencomputers bekommt man es dabei nämlich mit der Frage zu tun, welche „sonstige“ Hardware man für die Datenerfassung einsetzt. Der in Europa beispielsweise bei Elektor für rund 30 Euro erhältliche Maixduino (Abb. 1) umgeht dieses Problem auf eine bequeme Art und Weise. Die sowohl in C als auch in Python programmierbare Platine setzt dabei nicht besonders viel Programmierkenntnisse voraus. Wir wollen einen Blick auf die Möglichkeiten werfen.

hanna_maixduino_1.tif_fmt1.jpgAbb. 1: Der Maixduino – des AI-Mobilisierers bester Freund

Unter der Haube

Für Mess-, Steuer- und Regelungsaufgaben vorgesehene Einplatinenrechner haben im Allgemeinen wenig leistungsstarke Prozessoren. Der Arduino Uno wird mit einem Achtbitter betrieben. Am Maixduino findet sich ein als Kendryte K210 bezeichneter Prozessor, dessen Aufbaudiagramm in Abbildung 2 zu sehen ist.

hanna_maixduino_2.tif_fmt1.jpgAbb. 2: Der Kendryte K210 bringt diverse Funktionseinheiten mit

Kern des Systems sind zwei mit 400 Megahertz getaktete 64-Bit-Prozessoren. Interessanterweise entscheidet man sich hierbei nicht für die ARM-Architektur, sondern setzt auf die quelloffene ISA RISC-V. Die Platine taugt nicht nur für Experimente mit künstlicher Intelligenz, sondern auch als Demo-Board für Gehversuche mit der neuartigen Architektur. Neben Engines für Hardwarebusse finden sich mit KPU und APU zwei Funktionsblöcke, die für die Verarbeitung von in neuronalen Netzwerken häufig auftretenden mathematischen Operationen und für Audioverarbeitung optimiert sind. Ein weiteres Modul hört im Blockdiagramm auf den Namen FFT – eine Engine, die schnelle Fourier-Transformationen in Hardware bzw. mit Hardwarebeschleunigung durchführen kann.

Daraus ergibt sich eine extrem schnelle Abarbeitung der FFT. In vielen Fällen – die in Abbildung 3 gezeigte Beispielanwendung von Elektor ist eine gute Demonstration dafür – ist es so, dass der Aufwand für die Bereitstellung und Aberntung der Informationen größer ist als die für die FFT verbrauchte Zeit.

hanna_maixduino_3.tif_fmt1.jpgAbb. 3: Das integrie...

Neugierig geworden?

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang