Unihiker Single

Blog

HeimHeim / Blog / Unihiker Single

Sep 21, 2023

Unihiker Single

Ein unterhaltsames Board, das durch proprietäre GPIO-Anschlüsse im Stich gelassen wird. Der Formfaktor macht Spaß und wir können sehen, dass er in viele Projekte integriert wird. Toller Formfaktor. Solide Hardware. Gute Software-Unterstützung. GPIO

Ein unterhaltsames Board, das durch proprietäre GPIO-Anschlüsse im Stich gelassen wird. Der Formfaktor macht Spaß und wir können sehen, dass er in viele Projekte integriert wird.

Toller Formfaktor

Solide Hardware

Gute Softwareunterstützung

Der GPIO-Zugriff ist schwach

Mind+ IDE hat ein Problem mit Dateipfaden

Warum Sie Tom's Hardware vertrauen können Unsere Experten verbringen Stunden damit, Produkte und Dienstleistungen zu testen und zu vergleichen, damit Sie das Beste für sich auswählen können. Erfahren Sie mehr darüber, wie wir testen.

Unihiker ist ein Single Board Computer (SBC) von DFRobot für 79 US-Dollar. Wenn Ihnen dieser Name bekannt vorkommt, dann sollte er das auch tun. DFRobot ist der Hersteller von LattePanda 3 Delta und LattePanda Sigma. Von diesem Stammbaum haben wir Großes erwartet, aber der Preis von 79 $ ist hart und es musste etwas gekürzt werden.

Unihiker verfügt über einen 2,8-Zoll-resistiven Touchscreen, der das Board dominiert, aber unter der Haube haben wir eine kompetente Quad-Core-Arm-A35-CPU und 512 MB RAM. Dies ist kein Desktop-PC, aber auch nicht „nur“ ein Mikrocontroller (tatsächlich basiert die MCU auf RISC-V).

Was kann ich tun? Für wen ist das? Und sollen wir einen kaufen? Um diese Fragen zu beantworten und mehr über dieses Board zu erfahren, müssen wir es auf die Probe stellen.

Unihiker hat mehr als eine flüchtige Ähnlichkeit mit einem PDA aus den frühen 2000er Jahren und liegt klein in der Hand. Der 2,8-Zoll-Bildschirm dominiert die Vorderseite des Boards. Auf der Produktseite wird behauptet, dass es sich bei dem Bildschirm um einen Touchscreen handelt und wir ihn anfangs nicht zum Laufen bringen konnten. Beim Durchsehen der Konfigurationsoptionen auf dem Gerät haben wir ein Kalibrierungstool entdeckt. Ein paar Klicks auf dem resistiven Touchscreen und wir hatten eine funktionierende Benutzeroberfläche. Auf der Rückseite befindet sich die Elektronik, aus der die Platine besteht. Dazu gehören GPIO-Verbindungen über „Gravity“-Ports. Diese Ports ähneln Grove/Stemma QT-Verbindungen, sind jedoch nicht direkt kompatibel, dazu später mehr. Die Strom- und Datenkonnektivität erfolgt über einen einzigen USB-C-Anschluss. Der zusätzliche USB-A-Anschluss ist für eine Tastatur/Maus oder sogar eine USB-Webcam.

Es mag nur wie ein weiterer Bildschirm und Mikrocontroller aussehen, aber Unihiker ist in Wirklichkeit ein Quad-Core-Arm-PC mit 512 MB RAM und 16 GB eMMC-Speicher. Das ist zwar kein Kraftpaket, aber vergleichbar mit einem Raspberry Pi 3B+. Das Board verfügt angesichts der Projekte, für die es verwendet werden kann, über reichlich Leistung.

Auf der Unihiker-Website finden Sie Tutorials zu den Themen maschinelles Lernen und Bildklassifizierung, Robotik, Wetterstationen und bescheidene GPIO-Projekte. Da es sich um einen Linux-PC mit VNC-Serverfunktionen handelt, könnten wir ihn als Desktop-Computer verwenden, aber das ist nicht der vorgesehene Anwendungsfall.

Schließen Sie das Board an und Sie können die fertigen Projekte auf dem Board ausprobieren oder den Tutorials folgen. Ein langer Druck auf die Home-Taste lädt das Menü und von dort aus haben wir die Demos ausprobiert. Das einfache „Hello World“ zeigt, wie der Bildschirm funktioniert. Diagramme zeigen, wie Daten auf dem Bildschirm dargestellt werden. Die interessantesten Demos sind die Wasserwaage (unter Verwendung des Beschleunigungsmessers) und eine Face-Tracking-Demo, bei der eine USB-Webcam zum Verfolgen von Gesichtern erforderlich ist und Hasenohren oder ein Zaubererhut auf dem Ziel platziert werden.

Alle Demos bieten eine gute Einführung in das Board und zeigen, wie vielseitig es sein kann. Aber das Menü ist nicht nur für Demos gedacht. Über das Menü können wir das Board als WLAN-Hotspot einrichten, Systeminformationen abrufen, den Touchscreen kalibrieren und Dienste umschalten. Bei dieser letzten Option, „Dienste“, finden wir eine Reihe zusätzlicher Funktionen. Von hier aus können wir ein Jupyter-Notebook (eine webbasierte interaktive Computerplattform), SIoT (mit MQTT), Dateifreigabe und Bildschirmfreigabe einrichten.

Die Programmierung von Unihiker erfolgt hauptsächlich über Python, es gibt jedoch verschiedene Möglichkeiten, dies zu tun. Für Anfänger gibt es Mind+, eine farbenfrohe und benutzerfreundliche IDE, die sowohl block- als auch textbasierte Python-Programmieroptionen bietet. Mind+ kann auch über USB eine Fernverbindung zu Unihiker herstellen. Auf diese Weise können wir unseren Code direkt auf der Platine ausführen, was auch möglich ist.

Beim Schreiben von Python-Projekten in der IDE sind einige Probleme aufgetreten. Blockbasierte Projekte funktionierten einwandfrei, aber das Schreiben von Python direkt in der IDE führte zu Syntaxfehlern und einem anomalen Dateipfad, der zum Absturz von Python führte. Dies ließ uns eine Weile stecken, also nutzten wir SSH für die Verbindung und führten denselben Code aus, ohne dass Fehler auftraten. Es sieht so aus, als hätte die IDE unzulässige Zeichen zum Dateipfad hinzugefügt. Mithilfe von SSH haben wir den gesamten Testcode für die Überprüfung geschrieben und alles funktionierte ohne Probleme.

Unihiker verfügt über eine Reihe von „Diensten“, die wir aktivieren können, und wir haben uns Jupyter und SIOT angesehen. Jupyter-Notebooks führen Code und Dokumentation auf einer Seite zusammen. Wir können ein Programmierkonzept oder -problem erklären und dann einen eingebetteten Abschnitt des Python-Codes zur Veranschaulichung verwenden.

Mithilfe eines Jupyter-Notebooks haben wir ein schnelles Skript geschrieben, um Text auf dem Display anzuzeigen und eine an GPIO23 angeschlossene LED zum Blinken zu bringen. Der Code funktionierte und das Notebook war für jeden in unserem Heimnetzwerk zugänglich. Wir haben auch SIOT getestet. Dabei handelt es sich im Wesentlichen um einen lokalen MQTT-Server, der für den Unterricht nützlich ist und Ihre Daten vom Internet fernhält. Wir konnten Nachrichten zu und von Unihiker zu einem Themenmix verschicken.

Die Verwendung von Microsofts VSCode mit Unihiker ist ein Kinderspiel. Wir stellen lediglich über die SSH-Erweiterung von VSCode eine Verbindung zum Board her und können von dort aus Code direkt in den integrierten eMMC schreiben. Wenn wir Code von einem Terminal aus ausführen, können wir die Ausgabe auf dem Bildschirm sehen. Sehr einfach und die Unihiker-Dokumentation ist leicht zu befolgen.

Unihiker verfügt über einen GPIO, der von der integrierten RISC-V-MCU bereitgestellt wird, aber wenn Sie sich nicht für das Gravity-Komponentensystem entschieden haben, bleiben Sie auf der Strecke. Bei den Gravity-Anschlüssen handelt es sich lediglich um polarisierte Anschlüsse, mit denen schnelle Verbindungen hergestellt werden können. Gravity-Anschlüsse ähneln in ihrer Funktion den Qwiic-/Stemma-QT-/Grove-Anschlüssen und sind nicht mit den anderen Formaten kompatibel.

Ja, Sie könnten einen Grove-Stecker mit Gewalt in die I2C-Gravity-Ports stecken, aber das würde nicht funktionieren, da die Pinbelegung falsch ist. Die drei Pin-Versionen teilen einen GPIO-Pin (21,22,23,24), 3 V und GND auf. Während die vierpoligen Versionen für I2C reserviert sind. Was aber, wenn wir bei Unihiker herkömmliche Komponenten verwenden wollen? Sie können Überbrückungsstreifen in die mitgelieferten Gravity-Kabel einstecken. Es funktioniert, aber mit der Zeit werden die Anschlüsse beschädigt. Eine bessere Lösung ist die Verwendung des Randsteckers an der Unterseite der Platine.

Ich habe mit Unihiker herumgebastelt und es scheint, dass die Pinbelegung des Randsteckers mit der von @microbit_edu pic.twitter.com/zqffIpiwr5, 27. Juli 2023, übereinstimmt

Der Randverbinder sieht möglicherweise etwas fehl am Platz aus. Wir haben sie schon einmal auf dem micro:bit und dem Clue-Board von Adafruit gesehen. Der Randstecker des Unihiker scheint die gleiche Pinbelegung wie der micro:bit zu haben, und das brachte uns dazu, über micro:bit-Breakout-Boards nachzudenken. Zum Glück haben wir ein paar und haben Pimoronis Pinbetween verwendet, um die GPIO-Pins herauszubrechen.

Ein paar Zeilen Python und wir hatten eine blinkende LED. Wir änderten den Code, um zwei GPIO-Pins zu steuern, schlossen eine Kitronik-Motorsteuerplatine an Unihiker an, lieferten 6 V Strom für den Gleichstrommotor und sahen dann, wie der Motor zum Leben erwachte.

Die integrierten Sensoren (Ton, Licht, Beschleunigung und Orientierung) sind dank der Pinpong- und Unihiker-Python-Module (sowohl Blöcke als auch Text) einfach zu verwenden. Mit den Modulen konnten wir ganz einfach die Werte von den Sensoren abfragen und mit ein paar zusätzlichen Zeilen Python konnten wir die Daten auf dem Display aktualisieren.

Leider scheitert Unihiker am GPIO-Zugriff. Wir müssen uns entweder in den einen oder anderen Satz maßgeschneiderter Komponenten einkaufen. Ein richtiger GPIO-Breakout wäre schön gewesen, aber leider war das nie so vorgesehen. Vielleicht in Version 2? Sollte es einen geben?

Das ist eine tolle Frage. Ein kleiner Linux-SBC mit eingebettetem Bildschirm bietet viele Anwendungen. Es könnte eine großartige Benutzeroberfläche für ein maschinelles Lernprojekt sein, Geräte über ein Netzwerk steuern und Daten von Sensoren sammeln. Wenn wir es als GPIO-fokussiertes Board betrachten, fühlen wir uns ein wenig enttäuscht.

Sicherlich haben wir mehrere Möglichkeiten, Code zu schreiben (Mind+, SSH, Jupyter, SIOT usw.) und das gefällt uns sehr, aber die einzige Möglichkeit, auf den GPIO zuzugreifen, sind Gravity-Ports oder die Verwendung eines Micro:Bit-Breakout-Boards. Natürlich können wir uns für das Gravity-Format entscheiden, und für Bildungszwecke könnte dies eine Option sein. Hobbyanwender möchten mit dem verfügbaren Zubehör auf den GPIO zugreifen, und das wird schwierig, wenn wir nicht etwas mehr Geld ausgeben.

Unihiker bietet ein unterhaltsames Erlebnis, sobald Sie sich mit dem Formfaktor und den Mitteln zum Codieren vertraut gemacht haben. Besonders interessant ist die Face-Tracking-Demo. Was das Board im Stich lässt, ist der GPIO. Für den Preis von 79 US-Dollar wissen wir zu schätzen, dass es sich nicht um ein „One-Size-Fits-All“-Board handeln kann, wenn man bedenkt, dass es sich um einen Linux-PC mit integriertem Display handelt.

Wenn Sie völlig neu in dieses Thema einsteigen, ist das Unihiker-Board eine interessante Einführung in das IoT. Es ist einfach zu bedienen und der kompakte Formfaktor eignet sich für tragbare Projekte. Die eingebetteten Sensoren (Ton, Licht, Beschleunigung) sind über das Python-Modul wirklich einfach zugänglich, was für eifrige Lernende schnelle Ergebnisse bedeutet. Wir haben unsere Zeit mit Unihiker genossen, aber die GPIO-Einschränkungen machen Lust auf mehr vom nächsten Modell.

Sollten Sie einen kaufen? Wenn Sie GPIO benötigen, ist ein Raspberry Pi Pico W oder Raspberry Pi Zero 2 W kostengünstiger und bietet viel mehr Möglichkeiten. Dennoch funktioniert der Touchscreen gut, die Hardware ist solide und die Softwareunterstützung ermöglicht uns eine schnelle Projekterstellung.

Les Pounder ist Associate Editor bei Tom's Hardware. Er ist ein kreativer Technologe und hat sieben Jahre lang Projekte entwickelt, um Jung und Alt zu bilden und zu inspirieren. Er hat mit der Raspberry Pi Foundation zusammengearbeitet, um deren Lehrerausbildungsprogramm „Picademy“ zu schreiben und durchzuführen.

RX 7700 XT erreicht Leistung von RTX 4070 und RX 6800 im Leaked Time Spy Score

Beste 3D-Drucker 2023: FDM-, Resin- und Sub-250-Dollar-Modelle

Die USA verbieten den Verkauf von Nvidias H100- und A100-GPUs in den Nahen Osten

Von Zhiye Liu 25. August 2023

Von Joe Shields, 24. August 2023

Von Joe Stanganelli, 24. August 2023

Von Zhiye Liu 23. August 2023

Von Sarah Jacobsson Purewal 23. August 2023

Von Andrew E. Freedman, 22. August 2023

Von Christian Eberle22. August 2023

Von Denise Bertacchi, 21. August 2023

Von Shane Downing, 20. August 2023

Von Brandon Hill, 19. August 2023

Von Jarred Walton, 18. August 2023

SoCCPURAMLagerungMikrocontrollerKonnektivitätHäfenGPIOTastenBildschirmSensorenLeistungMaße