Alegoxander
13.02.2022, 08:48

Editiert von
Alegoxander
15.02.2022, 20:10

+1Unboxing: Mindstorms Robot Inventor (515151) ... and more

1. DIE GESCHICHTE BEGINNT

Guten Morgen,

nachdem letzte Woche zunächst der Preis bei 285.99 lag, als ich kaufen wollte, aber schon wieder zwischen 300 und 400 angesagt waren, habe ich einen Alarm bei Brickmerge gesetzt und als dieser auslöste, habe ich zugegriffen. Verrückt, ohne Anlass, einfach so für mich und mein Söhnchen.

Da wir bereits viel diskutiert haben (ganz herzlichen Dank nochmals!), kam von Lok24 die Idee eines Unboxing Threads, den ich hiermit gerne beginnen möchte.

- Freitag, 11.02.2022: Mindstorms Set kommt per Post
- Samstag, 12.02.2022: meine Familie damit überrascht und abends gestartet

Die frische Packung, mir scheint direkt aus dem Karton von Lego selbst:

[image]



Geöffnet und Hub ausgepackt:

[image]



Es folgt die Story des ersten Abenteuers mit dem Hub ...


80er und 90er, 12V Eisenbahn, ... bis Mindstorms RCX 1.0. Jetzt wieder mit Söhnchen dabei: Classic, Creator, Technik, Boost, Mindstorms/Spike.


JuL gefällt das


9 vorhergehende Beiträge sind ausgeblendet

Alle anzeigen Immer alle anzeigen Beitragsbaum

Alegoxander
22.02.2022, 15:28

Als Antwort auf den Beitrag von Lok24

Re: Unboxing: Mindstorms Robot Inventor (515151) ... and more

Lok24 hat geschrieben:

Streaming und Upload finde ich von LEGO etwas "eigenartige" Begriffe.

Streaming: das Programm läuft auf dem Programmier-Device, es werden nur Befehle gesendet, das Hub hat keinerlei "Intelligenz"
Download: das Programm läuft nur auf dem Hub, das Device kann ausgeschaltet / nicht verbunden sein

Habe ich das soweit richtig verstanden?

Streaming ist wie bei Filmen: Man lädt den Film nicht auf den Rechner, sondern schaut ihn direkt von der Quelle. In unserem Fall also ist das Programm auf dem Rechner oder auf dem iPad und wird nur vom Hub dort gelesen sozusagen.

Beim Upload hingegen ist es wie beim Download von Filmen: Wir übertragen den Code direkt auf den Hub und der Hub kann dann jederzeit diesen Code abspielen.

Prinzipiell so wie du es beschrieben hast. Ich finde die Begriffe allerdings passend gewählt.

Lok24 hat geschrieben:
Und wenn der Motor bei einem Sensor-Ereignis anhalten soll geschieht das stark verzögert?
Dann wäre dieser Modus ja kaum verwendbar.....
Und somit auch keinerlei Steuerung des Modells von aussen möglich?
(kann das an Deiner Windows-Umgebung liegen?)

Da würde mich eben ein Vergleich interessieren. Ich nutz(t)e das iPad dafür. Kann am iPad liegen, an meinem Hub oder es ist generell so. Vielleicht kann Technicmaster0 etwas dazu schreiben?

Lok24 hat geschrieben:
Bedeutet: genau der Modus, mit dem man auch andere Bibliotheken einbinden kann geht nicht gut?

Man kann immer andere Bibliotheken einbinden, soviel ich weiß, man muss sie nur mitsenden, also direkt im Hauptprogramm integrieren wie allgemein bei Mikrocontrollern.

Lok24 hat geschrieben:
ich hatte es so verstanden dass es nur vorgefertigte "Töne" abspielt, also keine eigenen .mp3 o.ä?

Unter Scratch ja, mit Python - zumindest bei meiner Linux-Lösung - funktionieren auch eigene. Und der Sound ist okay trotz des Mini-Lautsprechers.

Lok24 hat geschrieben:
Was wären denn genauer die "Macken"?

Wie erwähnt:
- kein Touchscreen-Controller, außer man nimmt die Verzögerung in Kauf
- unzuverlässig als Windows-Software in der virtuellen Maschine
- unter iOS kein gewohntes Copy & Paste sowie exaktes Bewegen zu einer Position mit Space
- bisher einmal nicht mehr funktionierendes Programm auf dem Hub, welches zuvor problemlos funktioniert hat

Das sind 4 Macken nach einer Woche, von denen fast alles den Spaß am Gerät deutlich mindert. Sende ich es deswegen zurück? Ich denke noch darüber nach, aber wahrscheinlich nicht. Dennoch hat mich der Boost viel mehr überzeugt und bisher nie im Stich gelassen, selbst bei „harten“ Fernsteuerungs-Fahrten gegen Tischbeine, Wände, … und der Boost kostet weniger als die Hälfte!

Ich hoffe, ich werde noch warm mit ihm. Und wie gesagt, wäre ein Vergleich hilfreich, weil ich ja vielleicht auch ein fehlerhaftes Gerät erwischt habe.

Wer natürlich mit neustem Rechner und Windows arbeitet, dabei fast nur Scratch nutzt, der wird wahrscheinlich auch keine großen Probleme feststellen. Aber wechsle ich deshalb die Festplatte im Rechner?

Lok24 hat geschrieben:
Huch, sind ja jetzt auch drei Fragen auf einmal.....

Das geht so schnell.


80er und 90er, 12V Eisenbahn, ... bis Mindstorms RCX 1.0. Jetzt wieder mit Söhnchen dabei: Classic, Creator, Technik, Boost, Mindstorms/Spike.


Lok24
22.02.2022, 15:38

Als Antwort auf den Beitrag von Alegoxander

Re: Unboxing: Mindstorms Robot Inventor (515151) ... and more

Danke.

Alegoxander hat geschrieben:

Streaming ist wie bei Filmen: Man lädt den Film nicht auf den Rechner, sondern schaut ihn direkt von der Quelle. In unserem Fall also ist das Programm auf dem Rechner oder auf dem iPad und wird nur vom Hub dort gelesen sozusagen.

Es wird dort gelesen? Und übertragen? Oder eben doch auf dem Rechner ausgeführt?
(also so wie beim Boost, da sendet das Move Hub "Sensor erkannt" an die App, die schaut wo es weitergeht und sendet dann "Motor A Stop" an das Hub).

Deswegen ist ja genau Pybricks ungleich schneller als die App.



Alegoxander
23.02.2022, 10:26

Als Antwort auf den Beitrag von Lok24

Re: Unboxing: Mindstorms Robot Inventor (515151) ... and more

Lok24 hat geschrieben:

Es wird dort gelesen? Und übertragen? Oder eben doch auf dem Rechner ausgeführt?
(also so wie beim Boost, da sendet das Move Hub "Sensor erkannt" an die App, die schaut wo es weitergeht und sendet dann "Motor A Stop" an das Hub).
Deswegen ist ja genau Pybricks ungleich schneller als die App.


Ja, wie beim Boost. Aber man kann ja selbst wählen, welchen Modus man nutzt. Mindstorms hat ja beide Möglichkeiten.
Aber beispielsweise für den Touchscreen-Controller braucht man den Streaming-Modus.


80er und 90er, 12V Eisenbahn, ... bis Mindstorms RCX 1.0. Jetzt wieder mit Söhnchen dabei: Classic, Creator, Technik, Boost, Mindstorms/Spike.


Lok24
23.02.2022, 10:43

Als Antwort auf den Beitrag von Alegoxander

Editiert von
Lok24
23.02.2022, 10:48

Re: Unboxing: Mindstorms Robot Inventor (515151) ... and more

Moin,

Alegoxander hat geschrieben:

Ja, wie beim Boost. Aber man kann ja selbst wählen, welchen Modus man nutzt. Mindstorms hat ja beide Möglichkeiten.

Aha, also doch anders als bei der Musik, ob ich da streame oder downloade, es kommt immer dasselbe an.
Hier wird im Download der Code übertragen, im Streaming nur Befehle. Völlig anders.

Alegoxander hat geschrieben:
Aber beispielsweise für den Touchscreen-Controller braucht man den Streaming-Modus.

Der ja nicht ordentlich funktioniert...?
Und bedeutet aber doch, dass der Hub im Dowload modus überhaupt nicht von aussen steuerbar ist, ausser über Hub-to-Hub? Ein teurer Spaß.

Wie stoppe ich eine außer Rand und Band geratene Maschine?
Wie starte ich eine Fukntion?
Fragen über Fragen.



Technicmaster0
23.02.2022, 15:16

Als Antwort auf den Beitrag von Lok24

Re: Unboxing: Mindstorms Robot Inventor (515151) ... and more

Alegoxander hat geschrieben:

Da würde mich eben ein Vergleich interessieren. Ich nutz(t)e das iPad dafür. Kann am iPad liegen, an meinem Hub oder es ist generell so. Vielleicht kann Technicmaster0 etwas dazu schreiben?

Die Verzögerungen bei der beworbenen Fernsteuerung mit Smartphone und Gamepad ist tatsächlich ein großer Kritikpunkt. Bei Gamepads ist es sogar noch etwas schlimmer: die gehen auch nur im Streamingmodus, d.h. die Verzögerung von Gamepad zu App kommt noch dazu. Ich würde normalerweise immer den Downloadmodus nehmen, wenns geht. Aber mehr dazu später in diesem Post.

Lok24 hat geschrieben:
Bedeutet: genau der Modus, mit dem man auch andere Bibliotheken einbinden kann geht nicht gut?

Das mit den Bibliotheken hängt ein bisschen davon ab, in diesem Fall gehe ich nur auf Python ein:
Für den Streaming Modus gibt es ganz normale Python Bibliotheken, die mit dem Python auf dem Computer ausgeführt werden. Da kann man natürlich auch alle anderen Python Bibliotheken nutzen, die auf dem Computer laufen. Weil der Code auf dem Computer ausgeführt wird. Man kann das mit der MonoBrick Communication Library für den EV3 vergleichen.
Im Download-Modus wird der Code in Micropython vorkompiliert und dann auf den Hub geladen. Das vorkompilieren macht aber soweit ich weiß nur die offizielle App und ist nicht unbedingt nötig, macht alles aber ein bisschen effizienter/schneller. Im Download-Modus kann man entweder eigene Bibliotheken (also einfach Python-Dateien) auf den Hub laden (bspw. mit einem Dateibrowser wie rshell oder einem Programm, dass die Sachen in den internen Speicher vom Hub lädt). Außerdem gibt es einige Bibliotheken, die auf dem Hub vorinstalliert sind. uBluetooth, utime usw.

Alegoxander hat geschrieben:
- unter iOS kein gewohntes Copy & Paste sowie exaktes Bewegen zu einer Position mit Space

Zumindest da würde ich davon ausgehen, dass es irgendwie geht. Hast du schon mal länger auf einen Block, den du kopieren willst, gedrückt?


Lok24 hat geschrieben:
Der ja nicht ordentlich funktioniert...?
Und bedeutet aber doch, dass der Hub im Dowload modus überhaupt nicht von aussen steuerbar ist, ausser über Hub-to-Hub? Ein teurer Spaß.

In Scratch stimmt das. In Python gibt es viele Möglichkeiten aber ich würde sagen, dass sich da noch keine komplett durchgesetzt hat. Beispielsweise kann man die Powered Up Fernbedienung nutzen (auch wenn diese spezielle Bibliothek glaube ich nicht mit der aktuellen Firmware vom Hub läuft - vielleicht gibts noch eine andere, die aktueller ist) oder man schickt "rohe" Signale, die man über uBluetooth verarbeitet. Es gibt beispielsweise Versuche und Beispielcode, die Hub2Hub Befehle auch in Python und mit einem Raspberry Pi zu nutzen.

Lok24 hat geschrieben:
Wie stoppe ich eine außer Rand und Band geratene Maschine?
Wie starte ich eine Fukntion?
Fragen über Fragen.

Im Downloadmodus entweder über die App oder über die Tasten am Hub. Wie beim EV3 auch. Im Streamingmodus kann man die Sachen natürlich nur in der App starten.



Lok24
23.02.2022, 15:43

Als Antwort auf den Beitrag von Technicmaster0

Editiert von
Lok24
23.02.2022, 15:45

Re: Unboxing: Mindstorms Robot Inventor (515151) ... and more

Hallo und vielen Dank.

Technicmaster0 hat geschrieben:

Im Download-Modus kann man entweder eigene Bibliotheken (also einfach Python-Dateien) auf den Hub laden (bspw. mit einem Dateibrowser wie rshell oder einem Programm, dass die Sachen in den internen Speicher vom Hub lädt). Außerdem gibt es einige Bibliotheken, die auf dem Hub vorinstalliert sind. uBluetooth, utime usw.

Diese Bibliotheken kann ich also mit der App erzeugen, aber nicht in das Hub laden?
Eher nicht, gerade probiert, .py speichern geht nicht.
Ich möchte eigentlich das erreichen, was beim EV3 unter "eigene Blöcke" läuft.
Also Subroutinen....

Technicmaster0 hat geschrieben:
In Scratch stimmt das. In Python gibt es viele Möglichkeiten aber ich würde sagen, dass sich da noch keine komplett durchgesetzt hat.

Meine Fragen beziehen sich ausschließlich auf die LEGO App und die LEGO Welt
Sorry, hätte ich dazuschreiben sollen.


Technicmaster0 hat geschrieben:
Lok24 hat geschrieben:
Wie stoppe ich eine außer Rand und Band geratene Maschine?
Wie starte ich eine Funktion?
Fragen über Fragen.

Im Downloadmodus entweder über die App oder über die Tasten am Hub. Wie beim EV3 auch.

Über die App kann ich dem Ding doch nicht sagen fahre links oder bleibe stehen?
EV3 hat eine Fernbedienung...
Hier im Einsatz (vorne rechts) Steuert den Stapler und das Spill - und Nothalt!
Da sind keine "Tasten am Hub", das ist eingebaut.

[image]



Technicmaster0
23.02.2022, 15:57

Als Antwort auf den Beitrag von Lok24

Editiert von
Technicmaster0
23.02.2022, 16:00

Re: Unboxing: Mindstorms Robot Inventor (515151) ... and more

Lok24 hat geschrieben:

Diese Bibliotheken kann ich also mit der App erzeugen, aber nicht in das Hub laden?
Eher nicht, gerade probiert, .py speichern geht nicht.
Ich möchte eigentlich das erreichen, was beim EV3 unter "eigene Blöcke" läuft.
Also Subroutinen....

Am einfachsten ist es, Subroutinen bzw. Funktionen einfach über dem eigenen Code in die Datei zu schreiben. Kann man in normalen Python Programmen ja auch so machen.
Man kann .py Dateien speichern, aber die Methode ist nicht straight forward. Klick dich mal durch den "die Powered Up Fernbedienung nutzen" Link von Nard, den ich in meinem letzten Post verlinkt habe, durch (bzw. lade den Installer herunter und schau ihn dir an) ;)
In Scratch gibts übrigens auch eigene Blöcke.


Lok24 hat geschrieben:
Meine Fragen beziehen sich ausschließlich auf die LEGO App und die LEGO Welt
Sorry, hätte ich dazuschreiben sollen.

Was ist denn für dich die LEGO App und LEGO Welt? Zählt Python dazu? Denn beide Links, die ich verlinkt habe, gehen grundsätzlich auch "nur in der LEGO Welt". Eben mit Python.
Ist Pybricks LEGO Welt?

Lok24 hat geschrieben:
Über die App kann ich dem Ding doch nicht sagen fahre links oder bleibe stehen?
EV3 hat eine Fernbedienung...

Dem EV3 kannst du auch nicht einfach so mit der Fernbedienung sagen "bleibe stehen". Da muss schon ein Programm laufen. Aber wie gesagt, schau dir mal den Link "die Powered Up Fernbedienung nutzen" an. Das finde ich zeigt ganz gut, was zumindest theoretisch im Lego Universum (aber mit Python) möglich ist.



Lok24
23.02.2022, 16:34

Als Antwort auf den Beitrag von Technicmaster0

Re: Unboxing: Mindstorms Robot Inventor (515151) ... and more

Moin,

danke!

Technicmaster0 hat geschrieben:

Am einfachsten ist es, Subroutinen bzw. Funktionen einfach über dem eigenen Code in die Datei zu schreiben. Kann man in normalen Python Programmen ja auch so machen.

Ja. Ich möchte sie aber auch einfach in anderen Projekten nutzen. Via Import.

Technicmaster0 hat geschrieben:
Man kann .py Dateien speichern, aber die Methode ist nicht straight forward. Klick dich mal durch den "die Powered Up Fernbedienung nutzen" Link von Nard, den ich in meinem letzten Post verlinkt habe, durch (bzw. lade den Installer herunter und schau ihn dir an) ;)

Da verstehe ich zu wenig, aber für Mindstorms geht der nicht, und testen kann ich nix, weil ich ja keine Hubs habe.....Aber wenn ich es recht verstehe könnte ich dann PU Hubs verbinden.
Nice, wollte ich aber gerade nicht.
Und die Spike "eigenen Blöcke" wabern wohl immer auf der Programmieroberfläche rum, man kann sie nicht getrennt speichern und wiederverwenden.

Technicmaster0 hat geschrieben:
Was ist denn für dich die LEGO App und LEGO Welt? Zählt Python dazu? Denn beide Links, die ich verlinkt habe, gehen grundsätzlich auch "nur in der LEGO Welt". Eben mit Python.
Ist Pybricks LEGO Welt?

RI kaufen, Mindstorms App starten, fertig. Das wäre mein Wunsch.

Technicmaster0 hat geschrieben:
Dem EV3 kannst du auch nicht einfach so mit der Fernbedienung sagen "bleibe stehen". Da muss schon ein Programm laufen.
Natürlich. Aber es gibt eine Fernbedienung, für das RI genau nicht.

Es scheint mir für das was ich möchte nicht zu tun.
Dennoch vielen Dank für Deine Hinweise.



Technicmaster0
23.02.2022, 16:48

Als Antwort auf den Beitrag von Lok24

Re: Unboxing: Mindstorms Robot Inventor (515151) ... and more

Lok24 hat geschrieben:

Ja. Ich möchte sie aber auch einfach in anderen Projekten nutzen. Via Import.

Wie gesagt, ein Beispiel dafür ist der Installer von der Lib. Oder um daraus mal ein paar Zeilen zu zeigen:
files = os.listdir()
filename = 'hub2hub.py'

if filename in files:
print('Delete old version of hub2hub library')
os.unlink(filename)

print('Start installation')
f = open(filename, 'w')
f.write('from micropython import const, alloc_emergency_exception_buf, schedulen')
f.write('from time import sleep_msn')
f.write('import ubluetoothn')
f.write('import ubinasciin')
f.write('import structn')
(...)
f.close()

os.sync()

print('Installation Successfull')

Mit so einem "Installer" kann man Bibliotheken mit der offiziellen App in den Speicher des Hubs schreiben.

Lok24 hat geschrieben:
Da verstehe ich zu wenig, aber für Mindstorms geht der nicht, und testen kann ich nix, weil ich ja keine Hubs habe.....Aber wenn ich es recht verstehe könnte ich dann PU Hubs verbinden.
Nice, wollte ich aber gerade nicht.

Wenn du die Hub Liste durchschaust, findest du da den Hub "Remote". Genau das ist es doch, was du wolltest.
Ich möchte jetzt aber auch nicht sagen, dass du auf Basis davon einen Hub kaufen solltest. Wie gesagt, ich glaube die Bibliothek läuft nicht auf der aktuellen Firmware, weil ein paar Befehle geändert wurden und diese Bibliothek bisher nicht aktualisiert wurde. Es geht mir halt eher darum zu zeigen, dass das schon grundsätzlich geht.

Lok24 hat geschrieben:
Und die Spike "eigenen Blöcke" wabern wohl immer auf der Programmieroberfläche rum, man kann sie nicht getrennt speichern und wiederverwenden.

Man kann die immerhin so an den Rand schieben, dass man sie nicht sieht. Außerdem kann man sie ziemlich sicher von einem Projekt ins nächste kopieren.



Lok24
23.02.2022, 18:17

Als Antwort auf den Beitrag von Technicmaster0

Re: Unboxing: Mindstorms Robot Inventor (515151) ... and more

Hallo,

Technicmaster0 hat geschrieben:

Wie gesagt, ein Beispiel dafür ist der Installer von der Lib. Oder um daraus mal ein paar Zeilen zu zeigen:
files = os.listdir()
filename = 'hub2hub.py'

Ah ja, das sieht übersichtlich aus.
Ich habe ja nur die Install_hub2hub_v011.llsp, und die kann ich zwar mit der Spike App öffnen, bekomme aber gar nichts angezeigt. Mit der Mindstorms App geht da gar nichts.

Technicmaster0 hat geschrieben:
Wenn du die Hub Liste durchschaust, findest du da den Hub "Remote". Genau das ist es doch, was du wolltest.

Aus alter Pybricks Gewohnheit bei den Devices geschaut....

Technicmaster0 hat geschrieben:
Es geht mir halt eher darum zu zeigen, dass das schon grundsätzlich geht.

Ich interessiere mich dafür eben rein gar nicht, für mich ist das Mittel zum Zweck, mehr nicht.
Ich möchte Modelle betreiben, nicht programmieren probieren. So wie sehr viele hier.

Insgesamt ist das Thema für ich eigentlich durch:
Powered Up hat viel zu viele Fehler und funktioniert schlecht bis gar nicht, Spike/RI ist weder mit sich noch mit anderem kompatibel, die Kabel sind zu kurz, und Pybricks macht nicht das Versprochene und erlaubt auch zuwenig.

Schade um die eigentlich schöne Idee.



15 nachfolgende Beiträge sind ausgeblendet

Alle anzeigen Immer alle anzeigen

Gesamter Thread: