Lok24
12.06.2020, 11:33

Editiert von
Lok24
12.06.2020, 14:25

+13Völlig neue Möglichkeiten mit Powered Up

Hallo zusammen,

gut, der Betreff ist ein wenig reißerisch, aber "pybricks micro-python for Powered Up Technic Hub" hätte wahrscheinlich keinen interessiert.

Vorab: Das Ganze ist nicht fertig (Beta). Wen das stört: einfach nicht weiterlesen.

Zur Technik:
bekanntermaßen haben MoveHub, Smart Hub, und technic Hub eine FW, die irgendwas macht. Sie funktioniert im Zusammenspiel mit den Apps oder der Fernbedienung, mit den bekannten Eigenarten.

Lego Spike (und auch das angeblich darauf basierende neue Mindstorms) haben als FW ein komplettes micro-Python im Hub, das ist also ein System, das Befehle der Programmiersprache Python versteht.

Was bewirkt das?
Man kann in das Large Hub (das im Spike Set) ein Programm laden, das dann dort abläuft. Also Sensor-> Programm im Hub -> Motor.

Bei den anderen: Sensor -> Hub -> BT -> App -> Programm -> BT -> Hub -> Motor.
Heißt: das ganze braucht keine App und es ist rattenschnell.

Welche Auswirkungen hat das?
Die Geschwindigkeit, aber im Falle von Spike eben auch das Speichern des Programms und damit ein Standalone-Betrieb ohne Smart-Device.

Wie funktioniert das?
Anschnallen, bitte: Die FW im Hub wird mit einer micro-python-FW überschrieben. (Ja, das geht auch angeblich wieder zurück.....)

Die komplette Programierung und Steuerung geschieht in Chrome 85 browserbasiert und damit völlig plattformunabhängig.

Wo steht das Projekt?
Im Beta. Derzeit geht es nur für das technic-Hub, aber bei mir völlig entspannt und problemlos - und schnell!

Die weiteren Schritte: Move Hub (eingeschränkt, zuwenig Speicher) , Smart Hub und FB, und vor allem, das permanente Speichern eines(!) Programms in der FW, sodass das beim Start automatisch losläuft. Ohne jedes Smartdevice.


Was geht?
- Technic Hub einschalten
- via Browser koppeln
- Programm runterladen und starten
- Browser beenden und BT stoppen
- Das Programm im Hub läuft weiter


zu pybricks
Das sind die, die auch das durch Lego beworbene und auf der Website präsentierte Micro-python für EV3 geschrieben haben.

Wenn ich mit Python besser klarkomme werde ich weiter berichten.

Grüße

Werner



ThomaS , Thomas52xxx , Dirk1313 , Cran , brickstedt13 , SuklaaTalvella , Rico , Ben® , freakwave , Saori , MTM , taurec , JuL gefällt das (13 Mitglieder)


Ruppie
13.06.2020, 08:57

Als Antwort auf den Beitrag von Lok24

Re: Völlig neue Möglichkeiten mit Powered Up

Lok24 hat geschrieben:

Hallo zusammen,

pybricks micro-python for Powered Up Technic Hub" hätte wahrscheinlich keinen interessiert.
Wenn ich mit Python besser klarkomme werde ich weiter berichten.
Werner



Hallo Werner,
mag es überlesen haben ansonsten ergänze ich das mal wie folgt:

1. pybricks micro-python for Powered Up Technic Hub hätte keinen Interessiert
Wieso nicht?

Für jeden technisch versierten gab es die die neuen Möglichkeit schon voeher:
Im Hub sind die Debug Ports frei zugänglich, wer mutig genug ist kann die Firmware jeder Zeit selber überschreiben.
Ob das Klug ist , ist eine andere Sache,

2. Pyton: Warum nicht - ".. wenn ich besser klar komme", ist das eine Problem, ob die Portierung Hardwarenah genug ist ein anderes, daher eben noch Beta

Hattest du den Link schon in deiner Mail: https://pybricks.com
Wer an der Beta teilnehmen möchte möge sich bei den Entwicklern melden.


Ich fand die technischen Informationen für meine Projekte Spannung, siehe hier;
https://github.com/pybricks/ -> Technical Info

Ansonten zum stöbern sicher hifreich



Lok24
13.06.2020, 10:12

Als Antwort auf den Beitrag von Ruppie

Re: Völlig neue Möglichkeiten mit Powered Up

Hallo Marc,

Ruppie hat geschrieben:

Für jeden technisch versierten gab es die die neuen Möglichkeit schon voeher:
Im Hub sind die Debug Ports frei zugänglich, wer mutig genug ist kann die Firmware jeder Zeit selber überschreiben.
Ob das Klug ist , ist eine andere Sache,

Pybricks wendet sich genau nicht an "technisch interessierte" die ihre Firmware selber schreiben.
Sondern an alle Nutzer, selbst die, die nicht programmieren können.

Ruppie hat geschrieben:
..... ob die Portierung Hardwarenah genug ist ein anderes, daher eben noch Beta

Nein. Die Gründe kannst Du bei Pybricks nachlesen.
(Was meinst Du mit "hardwarenah genug"?)

Grüße

Werner



Lok24
13.06.2020, 14:03

Als Antwort auf den Beitrag von Lok24

Editiert von
Lok24
13.06.2020, 14:27

+4Einrichten von Pybricks Micro Python

Hallo zusammen,

heute möchte ich beschreiben, wie man zu einem laufenden Programm in einem Hub kommt, ohne dauerhaft ein Smartphone zu benutzen.

Material: PC oder Tab mit Bluetooth, Technic Hub.
Dauer: ca 10 Minuten

Möglich wird das durch die Software von Pybricks, siehe dazu auch :
Völlig neue Möglichkeiten mit Powered Up


Schritt 1
Installieren Google Chrome 85 für Entwickler
https://www.google.com/chrome/dev/
kein Google-Konto etc. erforderlich, die Fragen beim Einrichten können alle verneint oder mit „kein Interesse“ beantwortet werden
getestet auf Win10/64 und Samsung Galaxy Tab A (2016)

[image]



Schritt 2
Bedienoberfläche („App“) aufrufen unter https://code.pybricks.com/
(dazu braucht man derzeit ein Passwort, das man von den Entwicklern bekommt)

[image]


Das sieht doch schon sehr aufgeräumt auf.

Schritt 3
Neue Firmware in das Technic Hub laden
Dazu:
- Hub ausschalten!!!
- Grünen Knopf drücken und festhalten!
- Wenn das Licht lila blinkt nicht loslassen sondern
- den Button mit dem Legostein „Flash hub Firmware“ anklicken

[image]


- Hub auswählen und „koppeln“ anklicken

[image]


- Das Licht wechselt jetzt auf rot/grün/blau blinkend
- Knopf am Hub loslassen und ca. 90 sec warten
- Wenn die LED blau leuchtet: fertig

Hier das Video der Entwickler dazu, wer das intuitiver findet:
http://pybricks.com/wp-co...ds/2020/06/install.mp4

(Und hier das Video wie man irgendwann wieder zurück zu LEGO kommt: Hub aus, drücken bis es lila blinkt, in der App verbinden klicken usw….das ist der normale LEGO Prozess)
http://pybricks.com/wp-co...ds/2020/06/restore.mp4

Webseite:
https://docs.pybricks.com/en/latest/start_pup.html



Thomas52xxx , ThomaS , taurec , JuL gefällt das (4 Mitglieder)


Dirk1313
13.06.2020, 15:20

Als Antwort auf den Beitrag von Lok24

Re: Einrichten von Pybricks Micro Python

Hallo Werner,

Herzlichen Dank für die Info!
Ich gehe mal davon aus, dass man danach mit Python programmieren muss.
Eine Möglichkeit, die Programme aus der Powered Up App auf den Hub zu spielen und dann abzufahren gibt es nicht, oder?


Viele Grüße
Dirk - Mail

[image]


Lok24
13.06.2020, 15:24

Als Antwort auf den Beitrag von Dirk1313

Re: Einrichten von Pybricks Micro Python

Dirk1313 hat geschrieben:


Ich gehe mal davon aus, dass man danach mit Python programmieren muss.
Eine Möglichkeit, die Programme aus der Powered Up App auf den Hub zu spielen und dann abzufahren gibt es nicht, oder?

Ja.
Nein.

Aber ich zeige heute noch ein Programm und wie einfach das ist - und wie simpel man es teilen kann!
d.h. jeder der eine Datei aus dem Internet speichern kann, kann das nutzen. Ohne jede Ahnung, dass es Python ist.
(Vorbehaltlich: derzeit nur technic, Beta, Anmeldung)



Lok24
13.06.2020, 16:36

Als Antwort auf den Beitrag von Lok24

Editiert von
Lok24
13.06.2020, 16:50

+5pybricks: Ein Python-Programm starten

Hallo,

wenn alles eingerichtet ist kann man loslegen.
Man braucht ein Programm und muss das Hub koppeln.

Also den Bluetooth Button anklicken, Hub einschalten,

[image]


koppeln klicken, fertig

[image]


Dann wird auch die Schaltfläche mit dem Dreieck „Start“ aktiv.

Jetzt wird es Zeit für ein Programm – ähm?!?
Nun, es ist Python. Die Programme sind ganz simple Text-Dateien, die man wie Docs oder pdfs oder Bilder aus dem Internet herunterladen, kopieren, per mail verschicken und auf seinem Rechner speichern kann. Sie hören auf die Endung „.py“.
D.h. ich könnte ein Programm „Schranke.py“ entwickeln, zum Download bereitstellen, jeder nicht-Programmierer kann das herunterladen, speichern, mit Pybricks öffnen und starten.

Hier mal ein sehr simples:

from pybricks.pupdevices import Motor
from pybricks.parameters import Port, Stop

Antrieb = Motor(Port.B)
while True:
Antrieb.run(500)

(Problem: Python lebt von Einrückungen, HTML macht die Weg. Auf dem Bild unten ist es richtig)

Und so sieht das aus, ich habe jetzt rechts mal die Hilfe eingeklappt.

[image]



Das schöne: man muss nicht verstehen was es tut. Aber: auch Nicht-Programmierer sehen, dass in Zeile 4 irgendwas von Port.B steht, das kann man sicher nach Gusto ändern.

Und jetzt einfach „Start“ klicken.
Und Stop. So einfach.

Jetzt aber: den Chrome Browser einfach beenden, alles ausschalten, der Motor (also unser Programm) läuft weiter.

Hier ein schlechtes Filmchen (32sec), aber für mehr hat der Kamera-Akku nicht gereicht….



Wie man sieht: eine Sache von Sekunden. Dann kann das Smartphone wieder verschwinden.
Anwendungsgebiete:
Haunted Hause (zieht sich alle 5 min auf)
Pendelzug auf Ausstellungen, einmal gestartet, läuft
usw.

Derzeit ist es aber noch so: wenn man das Programm am Hub stoppt oder das Hub ausschaltet ist das weg.
Dann halt nochmal 10sec mit dem Smartphone neu laden.



Thomas52xxx , Dirk1313 , UncleTom , Plastik , JuL gefällt das (5 Mitglieder)


Ruppie
16.07.2020, 08:04

Als Antwort auf den Beitrag von Lok24

Völlig neue Möglichkeiten mit Powered Up - ESP32 als LEGO kompatible Alternative zu HUBs

Lok24
16.07.2020, 09:37

Als Antwort auf den Beitrag von Ruppie

Re: Völlig neue Möglichkeiten mit Powered Up - ESP32 als LEGO kompatible Alternative zu HUBs

Hallo Marc,

ein ESP32 ist so in gar keiner Weise auch nur ansatzweise LEGO-Kompatibel....

Grüße

Werner



TimmiT
16.07.2020, 10:09

Als Antwort auf den Beitrag von Lok24

Re: Völlig neue Möglichkeiten mit Powered Up

Hallo zusammen,

alles sehr interssant
Werde ich mir auf jedenfall anschauen.

Ist es eigentlich möglich das zwei Hubs miteinander kommunizieren?

Bsp.:
Anlage mit zwei Zügen (Pendelverkehr)

Wenn der erste Zug am einen Ende Angekommen ist, bekommt der Zweite Zug das Signal, das dieser losfahren kann.

Grüße, Tim


Only one more Brick... then i will go to bed. Sure!


Lok24
16.07.2020, 10:16

Als Antwort auf den Beitrag von TimmiT

Editiert von
Lok24
16.07.2020, 10:27

Re: Völlig neue Möglichkeiten mit Powered Up

Hallo,

TimmiT hat geschrieben:

Ist es eigentlich möglich das zwei Hubs miteinander kommunizieren?

Das ist derzeit mit Pybricks nicht möglich. Ob es kommen wird kann ich nicht beurteilen.
Offenbar ist das Ganze wegen der ungenügenden HW der Hubs alles nicht so einfach.

Funktionieren tut das, wie von Marc beschrieben, mit einem "Man in the middle". Das kann ein ESP32 oder RaspberryPi sein oder auch ein SmartDevice mit der PoweredUp App.

Grüße

Werner