Am Samstag sind meine beiden Sipeed MAIX-II Dock Camera Module bei mit eingetroffen und ich habe direkt mal ein wenig damit herungespielt.
Das Installieren der Firmware hat sich ein wenig gezogen und ich habe recht lange gebraucht, die Firmware auf die SD Karte zu bekommen, aber nachdem das erst mal geschafft war hat sich schnell gezeigt, dass dieses kleine Ding viel Spaß machen kann.
Viel Programmiert habe ich noch nicht, aber das einfache Beispiel „app.py“ das schon vorinstalliert ist zeigt, dass der Allwinner V831 auf dem Sipeed MAIX-II Dock für seine Größe einiges leisten kann.
MAIX-II (V831) | |
CPU | 800~1000Mhz (advantage items are marked with red, the same below) |
Video encoder | H.264, up to 1080p@30fps, H265, up to 1080p@30fps, JPEG, up to 1080p@30fps |
AI Accelerator NPU | 0.2TOPS. support Conv,Inner_Product,Pool,Eltwise,ACT,BN,Split,Concat |
Memory | SIP 64MB DDR2 |
Storage | Optional 16M flash |
Camera | 2lane MIPI, maximum support 1080P@60fps |
Display | 8bit MCU LCD, with adapter board can be connected to a maximum of 10 inches RGB LCD |
SDIO | SMHC x2 (SDC0, SDC1) |
SPI | SPI x2 (SPI0, SPI1) |
I2C | I2C x4 (TWI0, TWI1, TWI2, TWI3) |
I2S | I2S x1 (I2S0) |
Ethernet | 10/100 Mbit/s Ethernet port with RMII interface |
ADC | 1-ch 6bit LRADC for key |
Audio | LINEOUTP + MICIN1P/N |
Kaufen kann man das Board unter https://www.seeedstudio.com/Sipeed-MAIX-Dock-p-4815.html für aktuell $28,80 + Porto. Da habe ich natürlich erst mal zugeschlagen und 2x MAIX-II bestellt.
Allwinner V831-Chip
Das MAIX II Dev-Board basiert auf dem Allwinner V831-Chip, der es ermöglicht, größere Modelle auf Bildern mit einer höheren Auflösung zu nutzen als der Vorgänger mit dem K210.
Was ist eine NPU
Eine NPU (Neuromorphic Processor Unit) ist im Gegensatz zu einer CPU, GPU oder TPU ein Neuralprozessor der besonders für Aufgabe der Mustererkennung und -analyse optimiert ist. Trotzdem ist er Turing-vollständig und damit universell programmierbar.
Weitere Infos zu NPUs findet man unter https://de.wikipedia.org/wiki/Neuromorpher_Prozessor
Linux System
Das Sipeed Maix-II Devboard kommt mit einem SD-Karten Slot, auf dem ein OpenWRT basiertes Linux System installiert wird. Das Image kann unter https://dl.sipeed.com/shareURL/MaixII/SDK/release heruntergeladen und auf der SD-Karte installiert werden.
Programmiert wird das Sipeed MAIX-II Dock in Python. Vorinstalliert ist Python 3.8.5 mit einer Reihe von Bibliotheken, mit denen man schnell und einfach KI Modelle wie z.B. „MobileNet v2 SSDLite“ nutzen kann oder auf die Hardware Schnittstellen (I²C, SPI, etc.) zugreifen kann.
Alle Details dazu findet man im Sipeed GitHub Account unter https://github.com/sipeed.
Besonders gut hat mir gefallen, dass man sich mit Hilfe des vorinstallierten RPYC-kernels über eine lokale Jupyter Notebook Installation remote auf dem MAIX-II Dock verbinden kann um dort mit dem Jupyter Notebook entwickeln zu können, ohne dass man das Jupyter Notebook auf der SD Karte installieren muss.
Erster Test
Das Board hat eine Objekterkennung vorinstalliert. Das Kamerabild wird dafür durch ein Object-Detection Modell geschickt das erkannte Objekt auf dem Display angezeigt. Das kleine Python Programm funktioniert auf Anhieb und läuft auch in einer guten Geschwindigkeit für das kleine Stück Hardware.
Links
https://www.seeedstudio.com/blog/2021/01/28/sipeed-maix-ii-som-and-devboard-for-ai-iot-machine-learning/
https://github.com/QinYUN575/allwinner-livesuit
https://twitter.com/SipeedIO
https://www.hackster.io/dmitrywat/sipeed-maix-ii-som-and-devboard-for-ai-iot-machine-learning-d2557b
https://www.youtube.com/watch?v=o2dXIO8-pvg&t=41s
https://maixpy.sipeed.com/maixpy3/en/