• Herzlich willkommen!

    Das Team von »Doctor Brick« heißt Euch herzlich willkommen und wünscht Euch viel Spaß hier!
    »Doctor Brick« ist eine anerkannte Community (RLOC) für erwachsene LEGO Enthusiasten, auch AFOLs (= Adult Fans Of LEGO) genannt.
    Wir können uns hier über alle Belange des LEGO Hobbys austauschen wie z.B. Set- und Teilefragen, Vorstellung und Rezensionen von Legobauten.
    Bitte beachtet die Nutzungsbedingungen und den Verhaltensleitfaden.

Powered Up – mal ganz ohne Smartphone

RR76

Urgestein
Registriert
8 Apr. 2019
Beiträge
1.147
Die verschiedenen Profile würde ich auf die MAC des Hubs programmieren, ich steh da nur leider auf der Leitung und schaffe es nicht, die MAC abzufragen.
 

Gimmick

Stammuser
Registriert
1 Okt. 2018
Beiträge
358
Wobei man auch durchaus verschiedene Profile hinterlegen kann, aber das wird halt irgendwann unübersichtlich.
Mangels Display und Komplexität der Modelle.

Wenn die Kraft eines Zuges reicht, um den Hauptschalter zu drücken, kannste den M5 ja als Prellbock nehmen und so zwischen zwei Zügen umschalten ;D
 

Lok24

Elektronikbahner
Registriert
11 Sep. 2019
Beiträge
1.451
Die verschiedenen Profile würde ich auf die MAC des Hubs programmieren, ich steh da nur leider auf der Leitung und schaffe es nicht, die MAC abzufragen.
Wie abfragen? Du möchtest wissen, welche MAC-Adresse Dein Hub hat? Das zeigt Dir die Brickcontroller 2 App.
Ist aber für das was ich hier gezeigt habe in der derzeitigen Form ungeeignet, da das Programm ja nur vom Programmierer konfigurierbar ist.
 

RR76

Urgestein
Registriert
8 Apr. 2019
Beiträge
1.147
Nein, ich will im esp32 die MAC abfragen.
Wenn ich Hub A verbinde soll Konfiguration A verwendet werden, B bei B usw.
A ignorieren und B verbinden ist kein Problem, aber feststellen, wer verbunden ist, schaffe ich nicht obwohl es eigentlich absolut simpel sein sollte.

Das ist natürlich nichts universelles für jeden, weil es in der Programmierumgebung angepasst werden muss wenn man nicht sehr viel Aufwand betreibt. Mit dem kleinen Würfel könnte man evtl einem verbundenen Hub dauerhaft ein vorgegebenes Profil zuweisen.
 

Gimmick

Stammuser
Registriert
1 Okt. 2018
Beiträge
358
@Lok24 Ich verstehe das eher so:

if(MAC == xyz)
do_this();
if(MAC == abc)
do_that();

So, dass man mit einem Würfel unterschiedliche Dinge steuern kann (abwechselnd, nicht gleichzeitig)

Edit:.... zu langsam gewesen...
 

Ruppie

Mitglied
Registriert
9 März 2020
Beiträge
161
Ort
Duisburg
Nein, ich will im esp32 die MAC abfragen.
.
Hallo, die ermittlung der MAC ist ein wenig kompliziert.

Ich empfehle das folgnde:
Benutze die APP "nrf Connect" um die spezifische MAC eines HUB zu ermitteln.
Im "Scan" Betrieb werden alle BLE Geräte in deiner Nähe angezeigt. Der LEGO Hub soillte mit Klarnamen erscheinen, ansonsten mit Einschalten /Ausschalten testen, welche MAC zum HUB gehöhrt. Die jeweilige MAC kannst du dann notieren.

Beispiel in der Legino lib;

Zitat:"If you want to connect to a specific hub you can initialize your Hub with a specific address. The address has to be represented by a hex string of the format: 00:00:00:00:00:00

myBoostHub.init("90:84:2b:03:19:7f");"


Das bedeutet das du ja das jeweiligen "Hub Object" mit der MAC als parameter angibst.

Die Anwendung verwendet die MAC als SCAN filter und verbindet sich dann auch nur mit dem Gerät mit dieser MAC.

Hilft das weiter ?
 

Ruppie

Mitglied
Registriert
9 März 2020
Beiträge
161
Ort
Duisburg
Die verschiedenen Profile würde ich auf die MAC des Hubs programmieren, ich steh da nur leider auf der Leitung und schaffe es nicht, die MAC abzufragen.
Wie beschrieben man kann (soweit ich weiß) die MAC nicht nachträglich abfragen, die ist für den ESP32 nur im "SCAN" Prozess sichtbar, du kannst die bekannte MAC aber als Filter verwenden bei der Verbindungsaufnahme. Siehe anderen Post
 

Lok24

Elektronikbahner
Registriert
11 Sep. 2019
Beiträge
1.451
Nein, ich will im esp32 die MAC abfragen.
In der Hardware? Eher nicht. Du brauchst doch eine Software, und die Frage ist wie die das handhabt.
Da kann es keine allgemeine Antwort geben.

Für das was ich hier vorgestellt habe nutze ich "legoino" von Cornelius Munz, und er hat schon vor langem auf meinen Wunsch hin genau das eingebaut, die Syntax ist
myTrainHub.init(); // initalize the PoweredUpHub instance
oder eben
myTrainHub.init("90:84:2b:03:19:7f"); //example of initializing an hub with a specific address

Das ist natürlich nichts universelles für jeden, weil es in der Programmierumgebung angepasst werden muss wenn man nicht sehr viel Aufwand betreibt. Mit dem kleinen Würfel könnte man evtl einem verbundenen Hub dauerhaft ein vorgegebenes Profil zuweisen.
Ja, könnte man, aber notwendig ist das nicht.
 
Zuletzt bearbeitet:

RR76

Urgestein
Registriert
8 Apr. 2019
Beiträge
1.147
Das nutze ich ja auch.

Notwendig nicht, aber sehr bequem, mir ist alles andere zu aufwendig.
 

Lok24

Elektronikbahner
Registriert
11 Sep. 2019
Beiträge
1.451
Das nutze ich ja auch.
Notwendig nicht, aber sehr bequem, mir ist alles andere zu aufwendig.
Hallo, ich habe jetzt eine Weile damit zugebracht, es geht, aber nicht gut. Zumindest schaffe ich es nicht (wait)

Es ist ja immer die Routine

Code:
if (!TrainHub.isConnected())
  {
    TrainHub.init(mac-adr);
  }

  if (TrainHub.isConnecting())
  {
    if (TrainHub.getHubType() == POWERED_UP_HUB)
    {
      if (TrainHub.connectHub())
      {
        TrainHub.setLedColor(LEDcolor2);
      }
      else
      {
        logn("Failed to Connect Hub", blkFB, colg);
      }
    }
  }


Die kann man zweimal hintereinander einbauen, das funktioniert.
Das erste Hub geht auch prima.
Aber wenn es das falsche ist hängt er ja einen halbe Minute in dem ersten "isConnecting"
Danach findet er das zweite. Unelegant.

Eigentlich müssten die beiden Sachen in parallelen Threads laufen. Keine Ahnung ob das geht.

Einfacher wäre es der Entwickler strickt mal noch zwei Routinen dran:
- getHubName
- getHubMacadr

Oder jemand hat eine zündende Idee.
 
Zuletzt bearbeitet:

RR76

Urgestein
Registriert
8 Apr. 2019
Beiträge
1.147
Dann bin ich aber wenigstens beruhigt dass ich nicht zu doof bin.

Deine Idee hatte ich auch schon. Damit kann man zwei Hubs gleichzeitig verbinden und die richtigen Tasten zuordnen, aber für alles andere dauert die Prüfung so zu lange.
 

Lok24

Elektronikbahner
Registriert
11 Sep. 2019
Beiträge
1.451
Dann bin ich aber wenigstens beruhigt dass ich nicht zu doof bin..
Oder ich kenne mich nicht aus.....

Egal. Einfacher man könnte die Werte im Programm auslesen, das sind ja nur zwei zeilen Code.
ich werde da morgen(?) mal vorstellig.
 

Lok24

Elektronikbahner
Registriert
11 Sep. 2019
Beiträge
1.451
Hallo zusammen,

hier mal ein kurzes Zwischenfazit.

Was ich gezeigt hatte (und auch zeigen wollte) war eine sehr einfache Steuerung eines Hub, die jedem zugänglich sein sollte, ohne jede technische Kenntnisse oder Fähigkeiten.

Alle im Anschluss gestellten Fragen kann man sicher guten Gewissens mit "ja" beantworten, aber die Lösungen und auch der "Kundenkreis" sind sicher völlig anders.

Im Prinzip drehen sich die Diskussionen immer wieder um das "Mögliche".
Ich gehe generell von der Frage aus: "wie will ich etwas bedienen, was soll es tun?" Das ergibt ganz andere Antworten.

Dazu gehört auch die angesprochene Konfigurierbarkeit, das wird schon bei einer einfachen Lok leicht unübersichtlich, mit fallen da auf Anhieb 6 - 10 Parameter ein. Pro Lok!

Webserver und Dateisystem des ESP sind keine "einfachen" Möglichkeiten in meinem Sinne, man benötigt spezielle Programme und Kenntnisse (nach meinem Wissensstand).

Offenbar gibt es für solche "Plug & Play"-Lösungen keinen entsprechenden Interessentenkreis?
 

Ruppie

Mitglied
Registriert
9 März 2020
Beiträge
161
Ort
Duisburg
Hallo zusammen,

Offenbar gibt es für solche "Plug & Play"-Lösungen keinen entsprechenden Interessentenkreis?
Der Denkfehler autet (meiner Meinung) nach: Warum funktioniert Plug and Play, genauer warum funktioniert es ?

Antwort: Weil es genau für einen zuvor gut durchdachte Anwendungsfall konzipiert wurde.
Mit jeder, noch so kleinen Abweichung vom urprünglichem Konzept reduziert sich die wahrscheinlichkeit des Plug&Play ohne anpassungen.

Du merkst: Plug and Play wirkt nur trivial.

Fazit: Nix gegen deine Ideen, aber es sind eben deine für deine erdachten /tatsächlichen Anforderungen. Wir haben mit großer Wahrscheinlichkeit eben andere.
Beantwortet das deine Frage ?

Oder was war deine Erwartungshaltung ?

Gruß

Marc
 

Lok24

Elektronikbahner
Registriert
11 Sep. 2019
Beiträge
1.451
Hallo Marc,

Antwort: Weil es genau für einen zuvor gut durchdachte Anwendungsfall konzipiert wurde.
Ja. Natürlich. Wie auch die LEGO Fernbedienung. Die macht ja auch nur vorgefertigte Dinge.
Aber im Krokodil-Fall eben nach Ansicht der User nichts durchdachtes Vorgefertigtes.
Und genau das "sinnvolle" Verhalten habe ich nachgebaut, sonst (fast) nichts
Und die Kritik lautete ja auch, dass man ein Smartphone braucht, die App immer im Vordergrund laufen muss etc.

aber es sind eben deine für deine erdachten /tatsächlichen Anforderungen. Wir haben mit großer Wahrscheinlichkeit eben andere.
Es hat gar niemand "Anforderungen" definiert. Das schrieb ich ja: genau das ist der Grund, warum es so simple Lösungen nicht gibt.
Weil es keinen Konsens gibt, was es wie machen soll.

Es gibt ja nicht einmal eine Diskussion darüber :biggrin:

Oder was war deine Erwartungshaltung ?
Keine, ich hatte das halt noch als Projekt rumschwirren, und siehe da, für einfache Dinge m.E: sehr gut zu gebrauchen.

Da dachte ich: ich zeige es mal; ich selbst habe derzeit gar keine Verwendung dafür, weil ich keine mototrisierten Modelle habe.
 
Zuletzt bearbeitet:

Ruppie

Mitglied
Registriert
9 März 2020
Beiträge
161
Ort
Duisburg
Hallo Werner
wie beschrieben, die Vorstellung ist OK:

- keine Diskussion ist eher ein Zeichen für keinen Bedarf, wie du eben selber daran (momentan) keinen hast ;-)
- Einen Konzens kann es ja nur geben wenn man die selben Anforderungen hätte.
Ich finde es nicht schlimm wenn wir keinen Konzens finden, die Mitteilung der eigenen Ideen ist oft schon ausreichend, oft ist da irgendwo der "Stupser" für die eigenen Projekte drin.
 

Ts__

Eisenbahner
Registriert
6 Jan. 2016
Beiträge
2.542
Ort
Zwickau / Sachsen
Hmm,

nach "keiner" Diskussion oder "keinen" Bedarf oder "kein" Interesse sieht mir das hier aber nicht aus
ich fande es auf jedenfall interessant und spannend und danke Werner, dass du es hier gezeigt hast.
Und wenn es nur ein Denkanstoss zu irgendwas anderen bei mir wird.

Und ehrlich, ohne Gerät kann man doch kaum mitreden. Ich habe das Ding nicht hier, kann daher auch nicht alles nachvollziehen und am Ende sogar mitreden.
Aber ich lese gerne mit und suche Lösungen für meine Einsatzzwecke.

Thomas
 

Gimmick

Stammuser
Registriert
1 Okt. 2018
Beiträge
358
Es hat gar niemand "Anforderungen" definiert. Das schrieb ich ja: genau das ist der Grund, warum es so simple Lösungen nicht gibt.
Weil es keinen Konsens gibt, was es wie machen soll.

Es gibt ja nicht einmal eine Diskussion darüber :biggrin:

Ich denke es gibt schon einen Anwendungsfall, der viele betreffen könnte: Technic Hub mit Fernbedienung ohne Smartphone steuern.
Das ist zumindest das, was ich immer wieder lese. Ich selbst bin damit zufrieden, dass das Smartphone als Hub dient zufrieden.
Da könnte man doch sowas machen wie:

Modus 1:
- Links +/- -> Port A vor/zurück
- Rechts +/- -> Port B vor/zurück
- Rot links UND links +/- -> Port C vor/zurück
- Rot rechts UND rechts +/- -> Port D vor/zurück

Modus 2:
- Links +/- -> Port A vor/zurück
- Rechts +/- -> Port B +/- 90°
- Rot links -> Port C vor/stop (im Sinne von an/aus für Lichter)
- Rot rechts -> Port D vor/stop (im Sinne von an/aus für Lichter)

Sowas in der Richtung. Man könnte ja die Modi über den Connect-Button wählbar machen und die Farbe der Fernbedienungs-LED mit der des M5Stacks angleichen, so dass man über beide den Modus wählen könnte.

Nur so ne spontan Idee, wenn das geht.
 
Oben