maehw
21.04.2024, 22:29

Editiert von
maehw
21.04.2024, 22:30

+5WebPBrick - Erste LEGO Mindstorms Generation (RIS/RCX) über den Webbrowser programmieren

Hallo zusammen!

Seit ein paar Tagen ist mein Projekt WebPBrick online: https://www.webpbrick.com

Es ist eine kostenfreie und quelloffene Entwicklungsumgebung für den gelben, programmierbaren RCX-Baustein der ersten LEGO Mindstorms Generation.

Programmiert wird in der textbasierten Programmiersprache NQC, die Dave Baum ins Leben gerufen hat. Dabei läuft der NQC-Compiler im Browser. Die serielle Infrarot-Kommunikation läuft über den LEGO IR Serial Tower - die USB-Variante wird leider noch nicht unterstützt, aber der Eigenbau von IR Towern mit einem USB/Seriell-Wandler ist möglich. (Edit: Neben dem Aufspielen eigener Programme klappt auch das Aufspielen von Firmware - was besonders dann notwendig ist, wenn länger keine Batterien mehr im RCX waren.)

Den Quellcode findet ihr hier: https://github.com/maehw/WebPBrick/

Vorteile: ihr braucht keine Windows Virtuelle Maschine, das System läuft betriebssystemunabhängig in einem kompatiblen Browser und ihr müsst nichts installieren.

Das Projekt ist erst seit wenigen Tagen online. Am gestrigen Linux Info Tag 2024 habe ich das Projekt im Rahmen eines Talks vorgestellt: https://www.luga.de/stati...klungen_im_webbrowser/ - hier findet ihr auch die Vortragsfolien dazu.

Ich würde mich freuen, wenn sich hier ein paar Interessierte finden würden, die das mal ausprobieren möchten.

Sehr gerne Rückmeldungen jeglicher Art direkt an mich oder natürlich auch für alle sichtbar öffentlich hier - oder auf GitHub, was für euch passt!

Schöne Grüße
Mäh



TeSa76 , ThomaS , RobbyRay , Xris , JuL gefällt das (5 Mitglieder)


tad
22.04.2024, 12:30

Als Antwort auf den Beitrag von maehw

Re: WebPBrick - Erste LEGO Mindstorms Generation (RIS/RCX) über den Webbrowser programmieren

Hab Interesse ... damit mein gelber RCX weiter genutzt werden kann.

Deshalb gleich mal zwei Fragen dazu:

1. Ist das für RCX 1.0 und 2.0?
2. Wie soll ich den RCX verbinden, wenn weder "serial (IR)" noch "USB" derzeit unterstützt werden?

Ade, Thomas



maehw
22.04.2024, 17:20

Als Antwort auf den Beitrag von tad

Re: WebPBrick - Erste LEGO Mindstorms Generation (RIS/RCX) über den Webbrowser programmieren

tad hat geschrieben:

Hab Interesse ... damit mein gelber RCX weiter genutzt werden kann.

Deshalb gleich mal zwei Fragen dazu:

1. Ist das für RCX 1.0 und 2.0?
2. Wie soll ich den RCX verbinden, wenn weder "serial (IR)" noch "USB" derzeit unterstützt werden?

Ade, Thomas


Hallo Thomas!

Das sollte mit allen drei RCX-Generationen (1.0, 1.5 und 2.0) funktionieren. Mein Verständnis ist, dass die Generation 1.0 einen zusätzlichen Netzteil-Anschluss (Wechselspannung) hatte. Und das mit den neueren Versionen neuere Firmware ausgerollt wurde. Neuere Firmware funktioniert allerdings auch mit älterer Hardware, hat aber dafür neue Features. Standardmäßig spielt WebPBrick gerade Version 3.28 auf (3.32 wäre noch neuer, siehe https://pbrick.info/index.html-p=74.html).

Der IR USB Tower geht noch nicht, weil softwareseitige Unterstützung in WebPBrick fehlt. Da klappt noch was beim Empfangen nicht ganz so, wie es sollte.

Der IR Serial Tower (9-poliger Anschluss) funktioniert - dazu muss aber dein Browser mitspielen. Und dein Computer muss einen passenden Anschluss haben - außer du hast einen USB/Seriell-Wandler, dann wird das auch wieder USB. Dann aber nicht vergessen, den IR Serial Tower mit einer 9V-Blockbatterie mit Energie zu versorgen.

Einfach mal webpbrick.com aufrufen und schauen, ob du "rote Fehlerbalken" erhältst. Firefox unterstützt diese Technologien zum Beispiel standardmäßig nicht:

[image]



Mit Chrome wird es Stand heute dafür funktionieren:

[image]



Bin gespannt, ob es bei dir klappt und freue mich auf weiteren Austausch!



tad
23.04.2024, 10:21

Als Antwort auf den Beitrag von maehw

Re: WebPBrick - Erste LEGO Mindstorms Generation (RIS/RCX) über den Webbrowser programmieren

Moin!

gib mir ein paar Tage, ich werde es testen.

Ade,
Thomas



maehw
02.05.2024, 17:47

Als Antwort auf den Beitrag von maehw

+1Re: WebPBrick - Erste LEGO Mindstorms Generation (RIS/RCX) über den Webbrowser programmieren

Damit es noch einstiegsfreundlicher wird, habe ich mich mal Blockly angenommen, das man vielleicht von Programmierumgebungen wie Scratch kennt. Das heißt, das zukünftig auch blockbasierte visuelle Programmierung möglich ist:

[image]



(Momentan ist der Code schon auf github, aber noch nicht auf https://www.webpbrick.com veröffentlicht bzw. integriert.)

Man kann es also schon lokal ausprobieren und erhält per Mausklick den entsprechenden NQC-Code, den man wiederum für den RCX bauen und aufspielen kann.



JuL gefällt das


maehw
03.05.2024, 22:17

Als Antwort auf den Beitrag von maehw

Re: WebPBrick - Erste LEGO Mindstorms Generation (RIS/RCX) über den Webbrowser programmieren

Update: Version 0.2.0 ist releast.

Unter https://webpbrick.com/nqc/blocknqc/ kann man den visuellen Editor ausprobieren mit dem man NQC-Code generieren kann.



maehw
22.07.2024, 23:30

Als Antwort auf den Beitrag von maehw

Re: WebPBrick - Erste LEGO Mindstorms Generation (RIS/RCX) über den Webbrowser programmieren

Ich habe den IR USB Tower jetzt einigermaßen verstanden. Support sollte damit möglich sein, aber jetzt brauche ich noch Zeit, das ganze zu integrieren. Wer unterstützen möchte ist herzlich eingeladen. Ansonsten könnt ihr schon mal das git-Repository https://github.com/maehw/WebPBrick klonen und src/communication/webusb.htm ausprobieren.