Hallo zusammen,
heute möchte ich mal eine weitere Lösung für die bekannten Probleme mit Powered Up zeigen:
- kein Smartphone nötig
- Krokodil o.ä. lässt sich mit der FB regeln
- Zwei Motoren gegenläufig mit derselben Taste der FB
- Wenn es heute geht, geht es auch in 10 Jahren noch
- Plug and play (s.u.)
Das „Geheimnis“ ist ein kleiner Microprozessor, nur 3x3 Noppen groß.
Die Hardware
Es ist ein ESP32 „M5Stack ATOM Matrix“. Das Schöne daran: er hat oben eine 5x5 LED Matrix, und diese Fläche ist auch ein Taster.
Außerdem ist er genau 3x3 Noppen groß und grau ...
Dirk1313 , RobbyRay , asper , hassel62 , cubo , MTM , Legoben4559 , aap134 , SuklaaTalvella , Ben® , Xris , Garbage Collector , tastenmann , freakwave , SirJoghurt , UncleTom , JuL gefällt das (17 Mitglieder)
Hallo Werner,
sehr interessant!
Wie funktioniert das bei dem ESP32 mit den multiplen Bluetooth-Verbindungen?
Bei meiner Steuerung des BLE-Nano (Arduino) über mein Smartphone (Serial Bluetooth Terminal) bekomme ich nur eine Verbindung hin.
Informationen über die leguiono-Bibliothek habe ich auf die Schnelle bei google auch nichts gefunden.
Gruß Andreas
@Andreas
Du must die Rollenverteilung bei einer BLE Verbindung beachten.
Bezogen auf den Beispiel ist das gesteuerte Element dein Nano, das steuernde Element das Telefon.
Dein Telefon hat hier die selbe "Rolle" wie der ESP32. Kann also sicher Verbindungen zu mehreren Nano aufnehmen.
Dein Nano hat hier eine aehnliche "Rolle" wie Hub und FB.
Marc
Hallo Andreas,
aap134 hat geschrieben:
Sehr interessant! Danke fürs Vorstellen.
Ich kann da also fertige Programme draufladen, die beim Einschalten bzw. auf Knopfdruck starten.
Wenn ich den Hub mit einem 9V-Netzteil und den ATOM mit einem 5V-Netzteil versorge, läuft das Ganze von morgens bis abends bzw. bis ich es ausschalte.
In den Programmen auf dem ATOM kann ich Werte von Sensoren verarbeiten, die ich an den Hub anschließe?
Man könnte also sagen, so ein ATOM in Verbindung mit einem 4-fach-Hub ersetzt mir einen teuren Spike-Zentralbaustein, sofern ich mich mit vier Anschlüssen zufrieden gebe.
Viele Grüße
Matthias
PS: In den ATOM-Spezifikationen steht "IR: Infrarot-Übertragung". Das könnte rein theoretisch sogar die Steuerung von PF-Komponenten ermöglichen, wenn da jemand eine entsprechende Bibliothek schreiben würde? Nur mal so als Gedanke...
AdmiralStein hat geschrieben:
Gruß
Thomas
mein Blog
meine Eisenbahnräder - mit funktionierendem Download
Hallo Andreas,
verwendest du ein Arduino Nano 33 BLE Board, mit Arduino BLE Bibliothek ?
Schau map hier:https://github.com/arduino-libraries/ArduinoBLE/issues/55
Offenbar hat Version 1.4 hier ein Problem die Bibliothek is no charge nichto gut a us bereft in Hinblick auf die Rolleston "Central", also die "steuernde" Rolle, aehnlich deinem Telefon.
Das Problem liege also in Lib /Middleware, nicht am Chip selber.
Alternativen:
1. Du kannst das Board das Board auch kit dem "MBED" Framework verwenden.
2. Du kannst das Board auch kit dem Adafruit Blue fruit Framework verwenden, dazu ms test Du Aber eine andere Firmware flashen,vermutlich zu schwierig, da man auch eine JTAG Programmer braucht.
Kurz:Wenn du beim nRF52840 Chip bleiben magst empfehle ich direct ein "Adafruit nRF Feather Express"
Wenn nicht Ist ESP32 sicker eine Blickling wert.
Hoffe das hilt ein wenig weiter.
Marc
Lok24
28.08.2020, 10:31
Als Antwort auf den Beitrag von AdmiralStein
Editiert von
Lok24
28.08.2020, 11:01
Hallo Matthias,
AdmiralStein hat geschrieben:
AdmiralStein hat geschrieben:
Thomas52xxx hat geschrieben:
tastenmann , hassel62 gefällt das
Hi,
Lok24 hat geschrieben:
Lok24 hat geschrieben:
Hallo Marc,
vielen Dank für die Ergänzung.
Ruppie hat geschrieben:
Tag Werner;
Die Bibliothek basiert auf dieser Javascript Library :
https://github.com/nathankellenicki/node-poweredup
Die Basisklasse der Bibliothek ist "nur" die Transformation der Javascript Lib in C++ gemäß:
"Lpf2Hub.h - Arduino base class for controlling Powered UP and Boost controllers"
Die Klasse Lpf2Hub beschreibt die Basisklasse welche alle Grundfunktionalitäten enthält, also die gemeinsame Grundmenge Gleicher Funktionen:
"BoostHub", "PoweredUpHub", "PoweredUpRemote sind Ableitungen davon = Stelle dir Zweige oder "Kinder " vor.
Ähnlich Kindern ergeb diese von dem Vater Eigenschaften haben aber anderen Eigenschaften.
Das war in der Vergangenheit Grund der Verwirrung;
Die Klasse "PoweredUpUp" verfügte eine ganze Zeit nicht über 4 Ports, die BoostHub Klasse wohl.
Man konnte aber auch die Boosthubklasse mit einem PoweredUp hub verwenden und bereits alle 4 Ports des Powered Up Hubs nutzen.
Daher mag es für den Begin praktisch sein die konkreten Klassen zu verwenden.
Für speziellere Anwendungen ist es aber ( meiner Meinung nach) besser die Klasse "Lpf2" zu verwenden.
Im Zweifel setzt man die Funktionalitäten in einer eigeen Klasse zusammen wie man diese benötigt.
Wie immer; Hier liegen eben die Grenzen im gerauch einer Lib von "jemanden".
Hi Marc,
vielen Dank für die ausführliche Antwort.
Ich habe leider kein Wort verstanden, was aber nicht an Dir liegt.
Es liegt eher daran, dass ich mich dafür Null interessiere (hatte ich auch schon geschrieben .
Das einzige was mir weiterhilft sind funktionierende Beispiele.
Dann gelingt es mir gelegentlich aus 2 Beispielen ein Programm zu machen.
Derzeit scheitert es an der Sensor-Erkennung, das habe ich aufgegeben (mangels Idee, wie Fehler zu suchen).
Grüße
Werner
Lok24 hat geschrieben:
Thomas52xxx gefällt das
Hallo Marc,
Ruppie hat geschrieben:
Lok24 hat geschrieben:
Hallo Marc,
Ruppie hat geschrieben:
Lok24 hat geschrieben:
Lok24 hat geschrieben:
Lok24 hat geschrieben:
Hallo,
Ruppie hat geschrieben:
Ruppie hat geschrieben:
Hallo,
Ruppie hat geschrieben:
Lok24 hat geschrieben:
Lok24 hat geschrieben:
Vielen Dank, wie gesagt, ich muss das nochmal testen.
Aber an meinem Rechner läuft das alles gar nicht, und der andere war heute belegt.
Ich vermute ein Problem mit dem Timing. Der Sensor an dem Hub geht mit allen anderen Programmen einwandfrei.
Evtl braucht das "Notifications" mal länger als erwartet. Das Ganze läuft ja offenbar nicht in Threads.
Lok24 hat geschrieben:
Hallo, dankeschön.
1.) Boosthub mit MoveHub läuft einwandfrei
2.) Boosthub mit TrainHub läuft garnicht
3.) mit Lpf2Hub läuft gar nichts
4.) die enums für die Ports sind in BoostHub und poweredupHub gleich
5.) das Beispiel TrainColor läuft mal und mal nicht
6.) mein Programm läuft mal und mal nicht
5 und 6 könnten nicht sein, wenn die enums falsch wären.
Meine Folgerung: leguino funktioniert nicht zuverlässig in meiner Umgebung.
Hallo Marc,
so, geht jetzt alles.
Auch mit dem PoweredUp Hub, alle Libraries unverändert.
Color, Distance und Rotation.
Aber: ein steiniger Weg.
Power On
seriellen Monitor starten
Reset des ATOM
Connect -> Connected
- > alle drei Werte 0
bei laufendem Hub:
Reset des ATOM
seriellen Monitor neu starten
Alle Werte da.
Also irgendeine Unverträglichkeit/Delay/Timing beim Startverhalten/Conncet Programm/ATOM
Nichtsdestrotz. Als Laie halte ich das legoino immer noch für falsch.
Es darf nicht 0 ausgeben, wenn gar nix da ist.
Lok24 hat geschrieben:
Moin Marc,
Ruppie hat geschrieben:
ElTentakel
02.09.2020, 16:37
Als Antwort auf den Beitrag von Lok24
Editiert von
ElTentakel
02.09.2020, 16:39
Lok24 hat geschrieben:
Lok24
02.09.2020, 18:57
Als Antwort auf den Beitrag von ElTentakel
Editiert von
Lok24
02.09.2020, 19:00
Hallo,
ElTentakel hat geschrieben:
Lok24 hat geschrieben:
ElTentakel hat geschrieben:
Hallo,
ElTentakel hat geschrieben:
ElTentakel
04.09.2020, 09:39
Als Antwort auf den Beitrag von Lok24
Editiert von
ElTentakel
04.09.2020, 09:47
Lok24 hat geschrieben:
Hallo,
ja, verstehe. Ich habe vielleicht keine glücklichen Begriffe gewählt.
Die "Profile" weisen auf bestimmte Sets, z.B. CityTrain, Krokodil, Haunted House, Karussell, Achterbahn etc.
Die "Konfiguration" weist auf die Art wie es zu bedienen ist, also z.B. mit oder ohne FB, bei Tastendruck etwas tun, oder Toggle etc.
Und die "Parameter" legen individuelle Einstellungen fest, also z.B. wie schnell sich das Karussell drehen soll. Oder wie lange.
Aber erstmal müsste man klären wie man das Sensor-Problem und das Verbindungsproblem mit legoino löst.
Phlox gefällt das
Hallo,
ich bin neu im Sektor powered up/ boost.
Den Personenzug gab es Weihnachten 2019 und jetzt gehts es mal ans Programmieren, bevor ein Boost ins Haus kommt. Leider muss dann immer die App laufen.
Ich suche nach einer Möglichkeit nur mit der Bluetooth Fernbedienung (also ohne App) neben dem Zugmotor (der auf Kanal A bereits mit + , - und Stop zu bedienen ist)
1. einen Farbsensor auf Kanal B auszuwerten und farbspezifisch Befehle auszuführen.
2. Weiter möchte ich die noch freie rechte Seite der Fernbedienung verwenden (3 Tasten, also + - und Stop), um 3 Weichen mit jeweils einem HUB 88009 per
Tastendruck umzuschalten.
Es wären also 4 HUBs (1 HUB im Zug, wobei Kanal B den Farbsensor erhält; und die 3 anderen bei den Weichen) anzusprechen.
Ist sowas möglich mit dem M5Stack Atom und entsprechender Programmierung? Oder verlange ich da zuviel von so einem Atömchen, oder von den verfügbaren Bibliotheken? Lautsprecher wären natürlich auch noch super....
Danke für jede Antwort, auch für vernichtende
Schöne Grüße
Phlox
Hallo,
schöne Idee. Im Prinzip geht das alles.
Und ich weiß es nicht, bin mir aber sehr sicher: das geht auch mit dem Atom.
Aber:
Ich hatte im anderen Post (den Du ja gelesen hast) darauf hingewiesen, dass man das mit der derzeitigen legoino - Bibliothek nicht so einfach lösen kann.
Hier müsste man nochmal ein wenig "Jugend forscht" betreiben.
Mit andern Worten: es müsste mal jemand, der gut C++ kann, da drauf schauen.
Evtl fehlen da nur eine Handvoll Programmzeilen.
Lok24 hat geschrieben:
Hallo Marc,
vielen Dank, das ist mir bekannt, geht aber leider am Zweck vorbei.
Denn für WLAN brauchst Du die IDE und die serielle Verbindung, um einmalig SSID und Key einzurichten.
Also nichts für Plug & Play.
Grüße
Werner
Lok24 hat geschrieben:
Hallo,
ElTentakel hat geschrieben:
Lok24 hat geschrieben:
Lok24 gefällt das
ElTentakel
30.09.2020, 15:52
Als Antwort auf den Beitrag von ElTentakel
Editiert von
ElTentakel
30.09.2020, 16:03
So, ich habe jetzt ein erstes funtkionsfähiges Proof of Conzept:
Lok24 , Tad16o , Beobachter74 , Thomas52xxx , JuL gefällt das (5 Mitglieder)
ElTentakel
03.10.2020, 14:35
Als Antwort auf den Beitrag von ElTentakel
Editiert von
ElTentakel
03.10.2020, 14:40
So, ich habe jetzt noch einen 8-Stufen Motor modus hinzugefügt und ein Release für alle erstellt, die einfach nur das fertige Binary flashen wollen:
https://github.com/ElTent...rick/releases/tag/v0.2
Ich habe das ganze mit einer Lok mit zwei Motoren getestet - die eine hat Stufenwahl Vorwärz, die andere Rückwärts: es funktioniert einwandfrei.
Nabend!
Habt ihr schon gesehen was MattzoBricks so treibt?
Er nutzt u.a. auch einen ESP-32 als Controller für PUP.
Ziel seiner Architektur ist zwar Voll-Automation (über RocRail), aber zumindest für die (BT-) Verbindung zwischen ESP-32 und dem PUP Hub hat er ja Dinge entwickelt bzw. integriert.
MattzoBricks
Grüße
Benjamin
Beobachter74 hat geschrieben:
Lok24
26.11.2020, 08:52
Als Antwort auf den Beitrag von Beobachter74
Editiert von
Lok24
26.11.2020, 08:53
Hallo Benjamin,
Das ist aber schon völlig anders als das was ich hier vorgestellt habe.
Es erfüllt auch einen anderen Zweck.
Dennoch: es ist schon sehr komplex, um nicht "nerdig" zu sagen.
Verstehe nicht warum für PF extra Motorshields braucht. Eine einfach Ansteuerung des IR-Empfängers würde schon genügen.
Und zu bedienen ist das ganze auch schwierig, mal eben einen Zug fahren geht ja nicht. Du brauchst: Monitor, Maus, Tastatur, PC und musst den PC erst booten.
Sinn macht das auch nur für große und vollautomatisierte Anlagen, also eine Materialschlcht.
Ein Anbindung an 4Dbrix Wifi (gibts das überhaupt noch?) aber es fehlen Buwizz (auch 3.0) und Sbrick.
Manches ist merkwürdig: man muss die "Firmware" neu laden in den ESP?
Man soll den ESP im Zug mitfahren lassen? Und bei Lokwechsel?
Und dann beseitigt man jedes Reichweitenproblem mit WiFi?
(Übrigens steuert mein microHub die Züge auch via WLAN, wenn gewünscht )
Und was meint den das hier:
"Der Controller ist fertig, getestet und betriebsbereit.
Die Bauanleitung findet sich hier."
Ich glaube das ist insgesamt sehr speziell.
Grüße
Werner
Lok24 hat geschrieben:
Hi Marc,
Ruppie hat geschrieben:
Lok24 hat geschrieben:
Lok24 hat geschrieben:
Lok24 hat geschrieben:
Ruppie hat geschrieben:
Lok24
29.11.2020, 10:07
Als Antwort auf den Beitrag von Beobachter74
Editiert von
Lok24
29.11.2020, 10:34
Hallo Benjamin,
Beobachter74 hat geschrieben:
Beobachter74 hat geschrieben: