Netter Beißreflex ... war als Denkanstoß zu verstehen und um etwas Last aus der Verbindung zu nehmen, aber wenn man sich zu fein ist mal damit zu beschäftigen ... bitte ... daher nur eine vereinfachte Antwort und viel GlückWenn Du es kannst: super! Mach bitte ein Beispiel für nodeMCU.
https://www.tutorialspoint.com/html5..._websocket.htm
für die NodeMCU Seite braucht man allerdings ein klein wenig mehr Einrichtungsarbeit
https://github.com/micropython/micropython (Als Grundlage)
https://github.com/pfalcon/picoweb (Die Flask Version für den kleinen Speicher)
https://github.com/hiway/micropython...ockets-modules (Die Websocket Anbindung)
Allerdings habe ich damals den richtigen Flask genommen und etwas angepasst damit er auf µPy läuft. Hab sogar mal Owncloud drauf laufen lassen, aber die Datenrate war eher bescheiden :P
Es gibt 10 Sorten von Menschen: Die einen können binär zählen, die anderen
nicht.
schließe ich mich an, in Arduinisch!
Python ist hier völlig OT, denn dann müsste ja auch das NN in Python geschrieben werden, und das ist völlig illusorisch für meine Zwecke.
yield() ist aber nichts anderes als delay(1) in Arduinsch, das hatte ich ja schon angesprochen und damit müsste ich es ausprobieren.
Dennoch nützt es nichts, wenn die cpu kein MT kann.
Wir haben in diesem Forum keine Beispiele für die Programmierung von NN in C
für Arduino z.B.
Aus diesem Grund hatte ich dieses in einem andern Thread nochmals geäußert.
Wenn man sich zu weit von der Basis entfernt, die ich hier bei Arduino und nodeMCU
sehe, entfernt man sich zu weit von der Mehrzahl der User in diesem Forum.
Ich hatte diesbezüglich schon woanders zum Nachdenken anregen wollen, als ich
sinngemäß schrieb, dass man sich überlegen soll eine Art Supercomputer zu verwenden.
Also irgendwas leistungsstarkes mit mehreren GHz Taktrate, mehreren Gigabyte RAM
und Festplattenspeicher, wenn man auf diesen Komfort dieser Geräte zurückgreifen
möchte: Schnelligkeit, Multitasking, Webfähigkeit. Dort hätte man dann alle Möglichkeiten,
wie Webserver mit PHP, man kann Javaprogramme drauf laufen lassen, man kann
Webanwendungen drauf laufen lassen, die ihre Datentransfer auch anders abwickeln,
Stichwort: AJAX.
Wenn ich hier jetzt anfange, mich in Neuronale Netze einzuarbeiten und dies in einem Thread
darzustellen, weiß ich genau was passiert. Nämlich dasselbe, was soeben auch hier passiert ist:
dann - und genau dann, nicht vorher - kommen die Leute die "Ahnung" davon haben und
den Thread so richtig aufmischen, mit diversen, nicht zielführenden Bemerkungen oder
"gut gemeinten Ratschlägen".
Deshalb wünschte ich mir etwas zum Thema Neuronale Netze, um die User hier zu wecken, die
etwas davon verstehen und sich der Sache annehmen, damit wir alle hier etwas davon haben und
es nicht in einem Zerreden des Themas endet.
Ich habe schon vieles gemacht und auch eine Webanwendung die mittels Sockets / AJAX-like,
Daten mit einem Webserver austauscht. Die Anwendung ist toll geworden, hier aber nicht brauchbar!
Ich sehe mein Projekt zuhause momentan als bestes Beispiel, wie weit man sich von einer allgemein handhabbaren Basis,
für viele Menschen / User - entfernen kann. Deshalb bin ich dafür, ganz klein anzufangen und es für jeden
verständlich zu machen. Hier jetzt besonders das Thema neuronales Netz.
MfG
dankeschön, ich teste es gerne noch mal !
was mir noch nicht klar ist:
wir haben ja insg. 10x10=100 keypad-Felder auf der html-Website.
Im Programm hätte ich einen array-buffer
float/buffArray[100];
zum temporären Speichen.
wo und wie kann ich die html-keypad-Werte auf diesen buffer-array übertragen zur Weiterverarbeitung,
und wie merkt meine loop(), ob per [ok/Senden] tatsächlich soeben neue keypad-Werte übertargen wurden?
Geändert von HaWe (31.10.2019 um 19:51 Uhr)
Guck mal in die ZIP-Datei aus Beitrag #6. Ich habe dort so gut erklärt, wie ich dachte, dass es notwendig ist.
Es fehlen, nach Deinen Angaben, sicherlich noch Buttons. Aber das wusste ich noch nicht, welche genau. Wenn das so nun doch nicht wirklich zu gebrauchen ist, müssen wir die auch nicht einbauen - logisch.
Wann was passiert, liegt an Deinem Programm. server.handleClient() sorgt für die Abwicklung auf Seite des Webservers, von allein passiert dort nichts. Wird das nicht immer wieder aufgerufen, gibt es
irgendwann einen Time-Out-Fehler im Webbrowser. Da der Bitpuffer / Array ... global zugänglich ist, solltest Du von überall her dort rein schreiben oder dort heraus lesen können. Besonderheit nur: Datentyp ist boolean
MfG
hmm - danke, aber wie ich weiß, wann [ok/Senden] gedrückt wurde und wie ich dann die Daten auf meinen buffer übertrage, weiß ich dadurch immer noch nicht.
Wie schon gesagt, html- und webserver Code und was man wie damit anstellt ist nicht meine Welt...
der Buffer muss bei mir strenggenommen eigentlich float sein, aber das kann man ja umwandeln): (editiert)
float buffArray[100];
Geändert von HaWe (09.11.2019 um 22:26 Uhr)
Wenn es notwendig ist, kann das eingebaut werden.wenn keine neuen Daten verfügbar sind, muss ich ja keine Daten von der website pollen, und die loop kann diesen Schritt überspringen.
Das weiß ich nicht, ob Du die Daten von einem in das andere Array überträgst. Dachte ich mir so. Sonst kann man den auch auf char ändern, belegt dann aber ein Vielfaches mehr Speicherplatz.der Buffer muss bei mir allerdings signed char sein
MfG
das mit bool oder char ist egal, wenn es sich um die Daten auf dem Server handelt.
Übertragen auf andere float-Arrays oder Matrizen muss ich es eh, weil nur die ersten 9 Zeilen (90 Werte) vom html-keypad für die Inputs sind und die 10. Zeile (10 Werte) für Ziel-Outputs, das muss man evtl auch flexibel anpassen (ggf. 8 Zeilen + 2 Zeilen etc.).
Ein NN rechnet aber grundsätzlich mit floats, nicht mit int, char oder bit.
Ich muss es nur zunächst übertragen auf lineare Arrays, aber nur dann, wenn Daten auch neu verfügbar sind (OK/senden-Button auf der website frisch gedrückt).
Ein bool Datentyp benötigt ja übrigens auch denselben Speicherplatz bei C/C++ ( stdbool.h ) wie ein char oder byte.
http://www.mrknowing.com/2013/10/08/...eichergroesse/
Habe ich nicht mit gerechnet. Dann sag noch mal, was Du für einen Datentyp brauchst, dann sparen wir die Umwandlung.Ein bool Datentyp benötigt ja übrigens auch denselben Speicherplatz bei C/C++ ( stdbool.h ) wie ein char oder byte.
Ich habe eine Variable (bool isChange) eingebaut, zum Abfragen nach server.handleClient();Ich muss es nur zunächst übertragen auf lineare Arrays, aber nur dann, wenn Daten auch neu verfügbar sind (OK/senden-Button auf der website frisch gedrückt).
KeyPadSource.zip
MfG
Lesezeichen