Großer Powered Up Technic Hub (45601)

Dieser Hub ist in gelb im SPIKE Prime Set (45678) in der Education-Sparte im Jahr 2020 erschienen. Außerdem gibt es ihn in der Farbe "teal" (blau-grün) in dem Mindstorms Set Robot Inventor (51515). Die zweite Variante trägt die Artikelnummer 88016.
Zum Betrieb wird ein Akku benötigt. Der offizielle Akku liefert 7.3V mit 2100mAh.
Der Hub enthält einen Micro USB Anschluss zur Datenübertragung und um den Akku zu laden, Bluetooth Classic um mit Computern und Handys zu kommunizieren und Bluetooth Low Energy um mit anderen Lego Hubs zu kommunizieren, 6 I/O Ports für Motoren oder Sensoren, einen Lautsprecher, eine 5x5 LED Matrix und 4 Tasten (zwei davon mit Hintergrundbeleuchtung).
Im Gegensatz zu den anderen Powered Up Hubs lassen sich hier Programme spielen, die ohne dauerhafte Verbindung mit anderen Geräten ausgeführt werden können (von Pybricks abgesehen). Es gibt 20 Plätze für Programme.
Unter Umständen muss der Hub vor der ersten Verwendung über die Windows 10 .exe-Anwendung oder die Anwendung für MacOS über USB aktualisiert werden. Danach kann er mit Bluetooth und der Android bzw. der iOS App genutzt werden. Programme können entweder auf dem Hub gespeichert oder über Bluetooth gestreamt werden.
Zum Programmieren werden eine eigene Scratch-artige Umgebung und Micropython unterstützt. Es gibt zwei Softwareversionen: eine für SPIKE Prime und eine für den Robot Inventor. Beide Hubs lassen sich mit der jeweils anderen Software programmieren aber es könnte ein Update durch die andere Software notwendig sein und die Startanimation, also das Herz oder das Dreieck, behält der Hub bei.
Der gelbe Farbton wurde zum 20-jährigen Jubiläum von Lego Education in Anlehnung an den Mindstorms RCX gewählt. Deshalb vermute ich, dass der "teal"-farbene Hub analog eine Anlehnung an das Cybermaster System (8482) ist.

Modus zur Wiederherstellung der Firmware

Falls ein Update nicht klappt, kann man den Modus zur Wiederherstellung der Firmware nutzen. Dazu muss erst der Akku entfernt und wieder eingesetzt werden (um sicherzugehen, dass der Hub aus ist). Dann kann man die linke Taste drücken und gedrückt halten. Jetzt kann gleichzeitig die mittlere Taste für 3 Sekunden gedrückt werden. Danach können alle Tasten losgelassen werden. Der Hub sollte sich jetzt über die App aktualisieren lassen.

Die folgenden Informationen wurden der offiziellen Dokumentation entnommen. Es wird nicht garantiert, dass die SPIKE App alle Funktionen unterstützt. Danach folgt ein Praxischeck von mir welche der Funktionen der Hub aktuell tatsächlich unterstützt.

Dieser Hub hat folgende Funktionen

  • 5x5 LED Matrix mit weißem Display
  • 6 Eingangs-/Ausgansanschlüsse (insgesamt 6 Anschlüsse)
  • 6-Achsen Gyrosensor (drei-Achsen Accelerometer und drei-Achsen Gyroskop)
  • Drei Tasten zur Navigation, inklusive Licht Interface (vermutlich ist ein Lichtring um die mittlere Taste gemeint)
  • Lautsprecher
  • Verbindungsmöglichkeit zu Geräten über USB und Bluetooth
  • MicroPython Betriebssystem
Charakteristika des Hubs:
5x5 weißes LED Matrix Display:
  • 25 weiße LEDs
  • Jede LED ist programmierbar
  • Jede LED kann in 10 Stufen gedimmt werden
Eingangs/ Ausgangsanschlüsse:
  • 6x Powered Up Eingangs/ Ausgans Anschlüsse (A, B, C, D, E und F)
  • 115 kB Geschwindigkeit (Anschlüsse E und F sind für hohe Geschwindigkeiten vorbereitet)
  • Automatische Erkennung von Sensoren und Motoren
  • Anschlüsse können frei gewählt werden wenn Motoren angeschlossen werden
Sechs-Achsen Gyro Sensor:
  • Drei-Achsen Accelerometer
  • Drei-Achsen Gyroskop
  • Kann folgendes ausgeben
    • Gyroskopmodus (drei Achsen)
    • Accelerometer/ Neigungsmodus (drei Achsen)
    • Gesten wie Schläge, freier Fall und schütteln
Drei Tasten zur Navigation:
  • Mittlere Taste:
    • Stellt Hub an/aus
    • Führt ausgewähltes Programm aus
    • RGB Licht LEDs in der Taste, die den Systemstatus ausgeben und programmierbar sind
  • Linke/ Rechte Taste:
    • Navigieren durch die Programme auf dem Hub
Lautsprecher:
  • Wird für Interface-Töne genutzt
  • Maximale Tonqualität ist 21 bit 16 kHz  (mono)
Drahtlose Verbindungsmöglichkeit:
  • Ermöglicht Nutzern sich drahtlos mit Smart Devices (Telefone, Tablets, Laptops etc) und Powered Up Fernbedienungen über Bluetooth zu verbinden 
    • Bluetooth Classic 4.2 (BTC)
    • Bluetooth Low Energy 4.2 (BLE)
  • Verbindung zu Smart Devices (Telefone, Tablets, Laptops) geht nur mit BTC
  • Programme, Töne und Firmware können drahtlos heruntergeladen werden nur mit BTC)
  • Maximale Entfernung: 10 Meter (Sichtlinie, ohne Störungen, drinnen)
  • Der Hub kann maximal 4 BLE und eine Bluetooth Verbindung zu drahtlosen Komponenten haben
  • Verbindungs Interface Taste auf dem Hub ermöglicht es dem Nutzer drahtlose Optionen ein und auszuschalten
    • RGB LED zeigt Verbindungsstatus ("Bluetooth an/aus", "Verbunden", "Außerhalb des Bereiches")
Stromversorgung:
  • Speziell entworfene wiederaufladbare Batterie wird benötigt
    • Lädt in dem Hub mit einem Micro USB Kabel
    • Kann von Hub ohne Werkzeug getrennt werden
  • RGB LED zeigt den Energie/ Ladezustand
System:
  • Der Hub wird von einem 100MHz M4 320 kB RAM 1M FLASH Prozessor
  • 32MB Speicherplatz für Programme, Töne und Inhalt
  • Eingebettetes MicroPython Betriebssystem
  • Stellt offene Plattform für fortgeschrittene Nutzer und Third-Parties bereit

Praxischeck:
Die ersten Punkte werden bereits unterstützt.
Über den im Hub integrierten Lautsprecher kann man mit der offiziellen Software nur einzelne Noten und mit der Robot Inventor-App gleichklingende kurze Tondateien abspielen. Soundeffekte und aufgenommene Dateien werden fast immer über die Lautsprecher des Computers ausgegeben. Auch hier gibt es über Python die Möglichkeit Tondateien auf dem Hub abzuspielen. Dies ist allerdings auch nicht offiziell dokumentiert und es gibt keinen offiziellen Converter für die Audiodateien.

Hub erkunden
Es fehlt leider eine Menge an Dokumentation. Dieser Mangel wird meiner Meinung nach auch nicht durch das Folgende ausgeglichen.
Dadurch, dass der Hub Micropython nutzt, ist er relativ "bewusst" ob seiner eigenen "Fähigkeiten". Grundsätzlich ist es möglich sich die Befehle, die man nutzen kann, anzeigen zu lassen. Dadurch lässt sich eine deutlich tiefere Ebene des Betriebssystems erkunden.
Verfügbare Bibliotheken anzeigen: help('modules')
Befehle eines Pfades anzeigen (als Beispiel hub): print(dir(hub))
Informationen über Pfad anzeigen (als Beispiel hub): help(hub)

Links:

Kommentare