- 3D-Druck Einstieg und Tipps         
Seite 1 von 7 123 ... LetzteLetzte
Ergebnis 1 bis 10 von 68

Thema: GUI für nodeMCU

  1. #1
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.650

    GUI für nodeMCU

    Anzeige

    Praxistest und DIY Projekte
    Hallo,

    mit dem Titel war ich mir nicht ganz einig, ich hoffe der passt!

    Ich bin jetzt etwas mutig und möchte mir Meinungen zu meinen Überlegungen einholen.

    Noch nichts Genaues weiß man nicht. Aber ich versuche zu beschreiben, was ich will und traue mich auch, ein Bild dazu zu veröffentlichen.
    Das Wesentliche kann man erkennen, Details nicht so, das ist gut. Bezeichnung / Arbeitstitel habe ich rausgelöscht, weil das noch nicht
    geschützt ist (das ist etwas kostspielig), will aber den Namen, den ich seit 2012 verwende, auch nicht direkt verlieren.

    Also erst mal das Bild:
    Klicke auf die Grafik für eine größere Ansicht

Name:	scrsh1.jpg
Hits:	45
Größe:	20,2 KB
ID:	34438

    Jetzt etwas Erklärung, was ich mir so überlegt habe:

    Ich möchte eine Oberfläche für nodeMCU bauen, zum Programmieren. Das soll dann alles im Webbrowser laufen.
    Aber nicht nur, um technische Abläufe zu programmieren, sondern auch rudimentäre grafische Oberflächen für Webbrowser.

    Deshalb habe ich mich heute etwas mit meinen allesamt selbst programmierten Tools beschäftigt, die für so etwas tauglich sind.
    Als ich alles so durchgeschaut habe, ist mir aufgefallen, dass im Prinzip nicht so viele Megabyte Daten notwendig sind.
    D.h. vom Prinzip könnte ich alles auf ein nodeMCU drauf laden und von dort ausführen. Das einzige Manko wäre, dass dies
    etwas langsam beim Laden wäre. Aber da müsste man mal sehen, wie das dann ich Echtzeit so aussieht, ob es wirklich brauchbar
    ist oder die Ladezeiten einen dickeren Strich durch das Unternehmen machen.

    Jedenfalls zeigt das Bild, worum es mir im wesentlichen geht. Ob ich das genau so für nodeMCU portieren würde, weiß ich noch nicht,
    deshalb stelle ich das hier jetzt mal so vor.
    Es existiert (unter Anderem) eine Möglichkeit Ablaufpläne zu erstellen, die sich auch untereinander verknüpfen lassen.
    Dazu gibt es einen Debugger, also etwas, wo man sehen kann, was programmtechnisch abläuft. So dass man einen Plan auf Funktion
    testen kann.
    Rechts im Bild ist zu sehen, dass es eine Auswahl an Symbolen gibt und dass Eigenschaften änderbar sind. Die Symbole und deren
    Funktion sind frei austauschbar, da könnte ich drauß machen, was ich wollte. Außer an der Größe, den Maßen würde ich nicht viel
    ändern können.

    Ich lasse das zunächst so stehen und warte auf Äußerungen dazu. Was ich beschrieben habe, wäre nur ein Teil dessen, was möglich wäre.
    Das gesamte Projekt, was zurzeit auf einem von mir aufgesetztem Server läuft und im Webbrowser, hat weitaus mehr Funktionen
    unter der Haube, als ich jetzt in Kürze darstellen könnte. Macht auch nicht so viel Sinn jetzt, weil ich den Umfang solcher Software
    für nodeMCUs noch nicht kenne, das muss ich zunächst etwas abstecken. Deshalb warte ich hier auf Rückmeldungen, als Denkanstöße.



    MfG

  2. #2
    HaWe
    Gast
    sieht auf jeden Fall sehr beeindruckend aus!
    Soll es generell dazu dienen, den ESP damit grafisch zu programmieren, ähnlich wie den Fischertechnik-Controller mit RoboPro oder Lego NXT/EV3 mit Scratch, NXT-G oder EV3-G, also als Ersatz für C++?

  3. #3
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.650
    Das könnte man machen. Theoretisch könnte man auch den gesamten Arduino-Code daraus generieren lassen.

    Eigentlich wollte ich nur das einfache Erstellen von Webseiten, für Steuerungszwecke, auf dem nodeMCU ermöglichen.
    Dann habe ich aber gesehen, dass noch viel mehr möglich wäre, wenn ich das für nodeMCU anpassen würde (also den Programmumfang abspecken - alle dann nicht notwendigen Funktionen in den Menüs rausnehmen etc. und notwendige Änderungen vornehmen).

    - - - Aktualisiert - - -

    Es existiert auch eine Skript-Sprache, mit der interne Programmabläufe erstellt und nachträglich hinzugefügt werden können (praktisch über die GUI-Oberfläche). Damit können auch diese Ablaufpläne ausgelesen und verarbeitet werden und vieles mehr.

  4. #4
    HaWe
    Gast
    achso, zur Webseiten-Gestaltung...!
    Das klingt super !!

  5. #5
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.650
    Zuerst werde ich mich auf Flussdiagramme konzentrieren.
    Mal sehen, was da so die Grenzen sind, also inwieweit ich mein bisheriges Diagramm-Modell für das verwenden kann, was ich mir so in etwa vorstelle.
    Z.Z. baue ich eine neue Oberfläche.

  6. #6
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.650

    Stapelverarbeitung für Arduino und Co.

    Schön, dass ich mit dem Thema schon einmal begonnen habe, dann
    kann ich gleich hier anknüpfen, da die Entwicklung nicht stehen
    geblieben ist.


    Stapelverarbeitung für Arduino und Co.


    Man denkt immer wieder einmal über verschiedene Dinge nach.
    So kam es gestern, dass ich wieder über die Geschichte mit
    einer grafischen Oberfläche für nodeMCU nachgedacht habe.
    Ich habe inzwischen damit angefangen - manchem wird es
    vielleicht nicht entgangen sein - eine Stapelverarbeitung
    für meine ATmega328P-PU, in Verbindung mit einem nodeMCU,
    umzusetzen. Weg von der grafischen Oberfläche, die "alles"
    möglich macht, hin zu dem, was ich zurzeit benötige.


    Ich habe inzwischen einige Codezeilen, auch für nodeMCU ESP-12E,
    geschrieben und eigentlich nicht mehr wirklich Lust, jedesmal
    von vorn anzufangen, wenn ich nur mal "schnell" etwas
    zusammenbauen und ausprobieren will. Also bin ich dazu
    übergegangen, die Kontroller nur noch mit einer Firmware zu
    versehen und diese zu ändern, sowie neu aufzuspielen, wenn
    sich Hardwareschnittstellen ändern.
    Meine Vorgehensweise sieht also so aus, dass ich eine
    funktionierende Hardware baue, der am Ende nur die Steuerung
    fehlt. So habe ich z.B. einen Kontroller für eine Ansteuerung
    eines Motors. Hier muss ich softwareseitig so viel programmieren,
    dass der Kontroller den Motor in jede Richtung drehen kann,
    dass Odometriedaten erfasst werden und rudimentäre Grundfunktionen
    (die auf jeden Fall notwendig oder wenigstens sinnvoll sind)
    erstellt und auf den Kontroller, als Firmware, übertragen werden.
    Dazu kommt noch die Kommunikation mit anderen Kontrollern, in
    irgendeiner Form.
    Was ich dann noch benötige ist eine simple Stapelverarbeitung. Um
    die einzelnen Grundfunktionen des Kontrollers sinnvoll zu nutzen,
    sowohl experimentell, als auch endgültig. Dazu gehören auch Befehle,
    die nur der Auswertung dienen, so dass z.B. Werte verglichen und
    geändert werden können und Befehle, die mit der Außenwelt
    des Kontrollers direkt nichts zu tun haben, wie Vergleiche und
    Sprungbefehle.


    Meine Umsetzung ist nun die, dass jeder Kontroller, der flexibel
    programmiert werden muss, diese Stapelverarbeitung in
    die Firmware integriert bekommt. Der Mikrokontroller für
    eine Motorsteuerung benötigt das nicht. Weil hier die Aufgaben
    genau festgelegt sind und diese nicht mehr geändert werden müssen.
    Ein übergeordneter Kontroller soll aber damit kommunizieren,
    um aus einer einfachen Motoransteuerung eine sinnvolle Fahrt
    zu machen, Daten zu sammeln und diese ggf. sichtbar zu machen,
    indem die Daten zu einem nodeMCU transferiert und dort, über
    WLAN, im Webbrowser sichtbar gemacht werden können. Dieser eine
    übergeordnete Kontroller würde die Stapelverarbeitung bekommen
    und wäre dann von außen, per WLAN und Webbrowser-Interface,
    ansprechbar. Von einfachen Testszenarien, zum Analysieren bestimmter
    Werte unter bestimmten Umständen, bis hin zu komplexen Aufgaben,
    die auch - durch Ereignisse gesteuert - ausgeführt werden können.
    Über die Nutzeroberfläche soll also die Programmierung und
    Debugging durchgeführt werden.

    Als Schnittstellen zur Übertragung der Programmdaten für
    die Stapelverarbeitung habe ich derzeit I2C und serielle
    Schnittstelle. Die Software für die Kontroller muss hierfür
    angepasst werden.

    Wenn alles gut verläuft, kann ich mir vorstellen, später nur
    Projekte auf dieser Grundlage umzusetzen. Was dann eben so
    aussehen könnte, dass ich Grundfunktionen der Firmware (vor allem
    Hardwareschnittstellen) projektbedingt entferne, ändere oder
    hinzufüge und diese dann auf den Zielkontroller aufspiele, inkl.
    Stapelverarbeitungsmodul.


    Also gestern dachte ich darüber nach und kam auf die Idee,
    doch schon früher die 1GB-SD-Karte zu nutzen, die ich besitze.
    Ich könnte auf dieser SD-Karte sämtliche Dateien für
    das Webbrowser-Interface speichern und kann außerdem alle Daten
    zu allen Kontrollern, verschiedener Projekte halten. Somit
    könnte ich den Datenballast auf einem nodeMCU reduzieren und
    dort vor allem nur die Stapelverarbeitungscodes unterbringen, die
    auch notwendig sind.

    Zurzeit überlege ich mir, wie die grafische Oberfläche gestaltet
    sein soll. Hier will ich mir nicht zu viel vornehmen und mich
    auf das Nötige beschränken. An dieser Stelle kann es hilfreich
    sein, die Meinung und evtl. Vorschläge anderer User zu kennen,
    um nicht am Ende irgendwann festzustellen, dass man dies oder
    jenes hätte berücksichtigen sollen oder anders machen könnte.
    Aus Erfahrung weiß ich, dass sich manche Sachen später nur
    schwer ändern lassen.


    So weit ...


    Freundlichen Gruß!
    Geändert von Moppi (07.10.2020 um 15:09 Uhr) Grund: Rechtschreibung ...

  7. #7
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.650
    Wen der Fortschritt des Projekts interessiert, in meinem Blog berichte ich darüber.
    Hier kann man dem folgen: https://www.roboternetz.de/community...eMCU-Webserver

    Falls es noch Vorschläge (bezüglich dessen, was man mit der Benutzeroberfläche tun kann / können sollte) oder meinetwegen auch Kritik,
    geben sollte, dann bitte gerne hier schreiben!
    Ich bin noch nicht sicher, ob ich die Software später mal, zur freien Nutzung, freigeben werde. Das hängt vor allem davon ab,
    wie stabil sie in den verschiedenen Browsern ausgeführt wird. Auch Darstellungsprobleme spielen eine Rolle. In der Regel möchte ich
    nur äußerlich einwandfreie Sachen weiter geben. Das Feedback dazu spielt am Ende dann auch irgendwo mit in die Entscheidung rein.

    MfG
    Moppi
    Geändert von Moppi (15.10.2020 um 08:35 Uhr)

  8. #8
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.650
    Hallo,


    ich kann jetzt mehr zu den Möglichkeiten der Benutzeroberfläche sagen,
    nachdem ich einiges für die neue Anwendung exportiert und geändert habe.
    Ich habe versucht, das Wirrwarr in meinem Kopf zu ordnen und folgend
    3 Absätze daraus erstellt.


    1) Zurzeit sieht es so aus, dass die gesamte Funktionalität, auf die der Benutzer
    Zugriff hat, überwiegend in programminternen Scripten steckt. Dies betrifft
    zum Beispiel das Ordnen von Daten (Neuanlegen, Ändern, Löschen, Wiederherstellen).
    Dies zählt zu den Möglichkeiten, welche die Benutzeroberfläche ursprünglich bietet,
    in deren Exportierung ich mich noch befinde. Ebenso die Funktionserweiterung über
    eine relativ einfache Programmierung. Ich müsste diese entfernen oder für
    die normale Nutzung unsichtbar machen.


    2) Was ich zunächst angedacht habe, ist die Verwaltung der Stapelverarbeitung,
    die ich für Mikrokontroller integriere. Außerdem ist es einfach, über
    den Webserver auf einem nodeMCU, an Variablen zu gelangen, die den Betrieb
    einer Maschine beeinflussen (Setup-Daten). Über die Benutzeroberfläche
    könnten diese ausgelesen, geändert und zurückgeschrieben werden.
    Auch Sensor- und sonstige Daten sollen über den Webserver auf dem nodeMCU
    abgefragt werden und in der Benutzeroberfläche dargestellt werden können.
    Eine Debuggerausgabe für die Stapelverarbeitung der µC soll möglich sein.
    Weitere Möglichkeiten sind, durch die freie Programmierung, denkbar.


    3) Ein Autostartobjekt will ich dem Nutzer zur Verfügung stellen, um dort eigene
    Script-Objekte abzulegen, mit denen die Funktionalität der Oberfläche für
    eigene Bedürfnisse erweitert werden kann.
    Ein Objekt für Systemskripte, welche die zukünftige Funktionalität abbilden,
    also all das, was ich unter Absatz 2 erwähnte.
    Beide Objekte sollen ausgeblendet werden. Bei Bedarf könnte man sie sichtbar
    machen. Das Systemobjekt könnte auch immer unsichtbar bleiben, so dass der Nutzer
    auf die damit verknüpften Scripte keinen unmittelbaren Zugriff hat.


    Um die Funktionalität der bisher exportierten Scripte zu sichern, muss ich noch
    eine Menge überprüfen, ergänzen und ändern. Das ist noch einiges an Arbeit,
    bevor ich mit der zweckbestimmten Programmierung (s. Absatz 2) beginnen kann.


    MfG

  9. #9
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.650
    Hallo,

    Da ich nicht weiß, wie abstrakt und greifbar das alles für Andere ist, folgend eine Übersicht,
    was an Möglichkeiten vorhanden ist und was (aus meiner Sicht) beibehalten werden sollte.
    Dazu muss man wissen, dass unter der Benutzeroberfläche ein Script-Interpreter sein Werk tut.
    Ich hatte dies an anderen Stellen schon angemerkt. Es können vom Benutzer Scripte erstellt werden
    (Codezeilen eingefügt werden), um das Verhalten der Oberfläche zu steuern / zu beeinflussen / zu ändern.
    Es können damit auch komplexe Programmabläufe erstellt werden.

    Hier eine Aufzählung:


    - einen Autostart (-Ordner, eigentlich nur ein Objekt), um Benutzer-Script-Code automatisch aufzurufen


    - neue Projektumgebungen erstellen, um Projekte zu trennen und die Arbeit mit der Benutzeroberfläche zu beschleunigen


    - hinzugügen von Ordnungsobjekten, Subobjekten, Codeobjekten, Textanmerkungen und Vorlagen


    - Verwaltung und Erstellen von Ojekten für Templates, in Textform und deren Verarbeitung


    - Erstellen von Regel-Clustern, um das Abarbeiten von Bedingungen und bedingungsabhängigen Zuweisungen / Änderungen zu beschleunigen


    - Ausgabe (z.B. in Listen und Textfelder) um Information anzuzeigen


    - Datenübertragung zwischen Webserver und Benutzeroberfläche


    - HTML-Scripte in die Benutzeroberfläche (als Fenster) einbinden / darstellen, für neue Schnittstellen zum Benutzer (Listen, Textfelder, Buttons)


    Nun kommt es darauf an, etwas daraus zu machen.
    Ich werde natürlich weiter dran arbeiten, auch wenn keine Vorschläge, für oder wider irgendwelcher Sachen, hier eintreffen.


    MfG

  10. #10
    Erfahrener Benutzer Robotik Einstein Avatar von inka
    Registriert seit
    29.10.2006
    Ort
    nahe Dresden
    Alter
    77
    Beiträge
    2.180
    hallo,

    also es ist schon alles sehr theoretisch, was du da schreibst...
    Am anfang hast du ein bild veröffentlicht:

    https://www.roboternetz.de/community...8&d=1572611067

    ist es dann - wenn's denn fertig ist - sowas wie eine komplexere, umfangreichere "programmieroberfläche" wie z. b. die arduino IDE? Oder sowas wie platformio für atom?
    gruß inka

Seite 1 von 7 123 ... LetzteLetzte

Ähnliche Themen

  1. NodeMCU 1.0 e-ink und si7021
    Von Neuton23 im Forum NodeMCU-Board und ESP8266, ESP32-Serie
    Antworten: 3
    Letzter Beitrag: 29.12.2018, 11:13
  2. Ultraschallsensor am nodeMCU
    Von Moppi im Forum NodeMCU-Board und ESP8266, ESP32-Serie
    Antworten: 41
    Letzter Beitrag: 15.10.2018, 18:31
  3. nodeMCU an Arduino
    Von Moppi im Forum NodeMCU-Board und ESP8266, ESP32-Serie
    Antworten: 16
    Letzter Beitrag: 14.10.2018, 10:30
  4. NodeMCU als WLAN Lautsprecher
    Von littlekenny im Forum NodeMCU-Board und ESP8266, ESP32-Serie
    Antworten: 5
    Letzter Beitrag: 30.03.2018, 21:09
  5. nodeMCU zu nodeMCU: keine Kommunikations-Verbindung mehr nach wenigen Minuten
    Von HaWe im Forum NodeMCU-Board und ESP8266, ESP32-Serie
    Antworten: 0
    Letzter Beitrag: 02.10.2017, 15:01

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Solar Speicher und Akkus Tests