Hallo, ich möchte auf meinem STM32 Controllerboard über einen Web-Browswer zugreifen welcher mir dann eine Informationsseite zum Bedienen anzeigt. Im Prinzip wie bei der Fritzbox. Nur möchte ich noch dynamische grafische Element wie z.B. Balken Skalen usw. anzeigen. Das ganze sollte auch funktionieren, ohne das ich die Seite immer aktualisisern muss. Jemand eine Idee wie man so etwas realisieren kann, ggf. auch mit externe Tools? Gruß R.Richter
Das geht IMHO mit grundlegenden HTML Elementen, ist aber auf einem µC relativ aufwändig zu programmieren. Ich würde den µC nur Werte an einen Server (z.B. PC, RPi oder Fritzbox) schicken und diesen dann die Webseite generieren lassen. Auf dem Server hat man die Ressourcen für moderne Webtechniken, auf dem µC eher nicht.
Jim M. schrieb: > Das geht IMHO mit grundlegenden HTML Elementen, ist aber auf einem > µC > relativ aufwändig zu programmieren. > > Ich würde den µC nur Werte an einen Server (z.B. PC, RPi oder Fritzbox) > schicken und diesen dann die Webseite generieren lassen. Auf dem Server > hat man die Ressourcen für moderne Webtechniken, auf dem µC eher nicht. So ein Quark. Heutzutage nimmt man dafür Javascript und macht die GUI und Berechnung der Graphik clientseitig, die Kommunikation zwischen Browser und µC läuft per Websockets. Ein 32Bit Cortex ist damit hoffnungslos unterfordert...
Meister Propper schrieb: > Ein 32Bit Cortex ist damit hoffnungslos > unterfordert... Nicht wenn sein " STM32 Controllerboard " auf dem STM32L011 basiert.
Wie man das Problem richtig löst würde mich auch interessieren. Ich will Parameter eingeben und Echtzeit Daten als Grafik anzeigen. Gibt es irgendwo eine Beispiel Lösung?
Also google spuckt mit "STM32 Webserver" viele passende Dinge und Beispiele aus. Was willste denn jetzt genau wissen? In HTML5 gibt es das canvas Element, damit lässt sich per Javascipt drinne rummalen -> http://smoothiecharts.org/ daten per ajax/websocket im Hintergrund laden.
Was Jim m. Machen will wird nur erst sagen können. Ich habe mich noch nicht genau informiert wie man so ein webfrontend bauen kann. Fange ehrlich gesagt auch erst in ca 5. Wochen an mit dem Projekt. ich brauche eine Visualisierung von Echtzeitdaten (Temperatur,Druck, Spannung, Strom, ...). Das ganze dann als Grafik dargestellt. Der Messungs Intervall wird als Parameter eingestellt. Damit es noch mehr spass macht soll man die werte durch scrollen können. Wollte dafür erst ein Programm schreiben, aber ein Web System ist meiner Meinung für mein Problem das beste. Vg, uli
Ich bin auch gerade dabei für mein ESP-Projekt einen Webserver zu basteln der dann (erstmal nur) die Werte eines analogen Temperatursensors vom ESP entgegennimmt und in einer MySQL Datenbank speichert. Ich denke, es macht relativ wenig Sinn, alles (also Sensoren auslesen und noch ein Webserver obendrauf der dann die Website bereitstellt) auf einem kleinen µC laufen zu lassen.
"Früher" musst man Diagramme auf dem Server als Bilddatei erstellen und vom Browser abholen lassen. Mittlerweilen gibt es dazu das Canvas Objekt in Javascript, so dass man das Zeichnen dem Browser überlassen kann. https://wiki.selfhtml.org/wiki/JavaScript/Canvas > Ich denke, es macht relativ wenig Sinn, alles... auf > einem kleinen µC laufen zu lassen. Sehe ich auch so. Ein Raspberry Pi oder ähnlicher Rechner ist für sowas eher geeignet und viel einfacher zu programmieren.
Die neuen Nucleo144 Boards haben LAN auf der Platine. Unter den Codebeispielen ist auch ein Web-Server. Hab es zwar nicht selbst probiert, aber wenn ich an das F7 Discovery denke bei dem sogar VNC möglich ist, dann ist sicher damit auch schon etwas anzufangen.
Uli schrieb: > Wollte dafür erst ein Programm schreiben, aber ein Web System ist meiner > Meinung für mein Problem das beste. Schon, aber auch browserbasiert musst du programmieren, nur eben in HTML und Javascript (mindestens). Und wegen der Eigenheiten des Webdesigns ist der Aufwand meiner Meinung nach deutlich höher als eine Windows-Applikation zusammenzuklicken, dafür läuft dann das Ergebnis auch überall, ob Handy/Tablett/Mac oder PC, und egal ob iOS, Android, Windows, Linux oder sonstwas. Nur ein Beispiel: aus Sicherheitsgründen darf ein Browser nicht auf die Festplatte des Systems zugreifen wie ein Windowsprogramm, daher ist die Speicherung von Daten deutlich aufwändiger. Wenn du eine Website fertig hast, die anzeigt was du dir vorstellst, ist es relativ unwichtig ob die jetzt auf dem µController oder woanders gespeichert ist, du musst nur Zugriff auf die Daten des Controllers haben. Dazu reicht aber die Übertragung per Netzwerk oder auch einfach per serieller Übertragung. Das ist nur eine Kurzfassung. Georg
Zum NUCLEO-F207ZG Beispiel aus der readme.txt:
This application guides STM32Cube HAL API users to run a http server
application
based on Netconn API of LwIP TCP/IP stack
The communication is done with a web browser application in a remote PC.
this HTTP server contains two html pages:
+ the first page (home page) is static, it gives information about
STM32F2
and LwIP stack.
+ the second page is dynamically refreshed (every 1 s), it shows the
RTOS
statistics in runtime
If a DHCP server is available, a dynamic IP address can be allocated by
enabling
the DHCP process (#define USE_DHCP in main.h)
Meister Propper schrieb: > So ein Quark. > Heutzutage nimmt man dafür Javascript und macht die GUI und Berechnung > der Graphik clientseitig, die Kommunikation zwischen Browser und µC > läuft per Websockets. Ein 32Bit Cortex ist damit hoffnungslos > unterfordert... Speichert man dann die Messwerte in eine CSV oder andere Art von Datei und hält beispielsweise eine index.html bereit, sodass der Browser dann eine Seite mit den immer aktuellen Messwerten bekommen? Würde sowas auch gerne mal auf einem STM32F4 durchführen. Ich bin mir nur noch nicht sicher, mit welchem Modul ich die WiFi Anbindung realisieren soll. Reicht hier einer dieser einfachen ESP8266 Module mit der richtigen Firmware? Danke schonmal.
Dennis X. schrieb: > Meister Propper schrieb: >> So ein Quark. >> Heutzutage nimmt man dafür Javascript und macht die GUI und Berechnung >> der Graphik clientseitig, die Kommunikation zwischen Browser und µC >> läuft per Websockets. Ein 32Bit Cortex ist damit hoffnungslos >> unterfordert... > > Speichert man dann die Messwerte in eine CSV oder andere Art von Datei > und hält beispielsweise eine index.html bereit, sodass der Browser dann > eine Seite mit den immer aktuellen Messwerten bekommen? > Würde sowas auch gerne mal auf einem STM32F4 durchführen. Ich bin mir > nur noch nicht sicher, mit welchem Modul ich die WiFi Anbindung > realisieren soll. Reicht hier einer dieser einfachen ESP8266 Module mit > der richtigen Firmware? > Danke schonmal. Die Daten hälst Du im Ram vor und lieferst immer die aktuellen Daten aus, die dann entsprechend dem Protokoll "on the fly" zusammengebaut werden. Die Grundstruktur der Seite samt Javascript steht schon im Flash. Auf der IT-Seite für Doofe gab es mal einen kleinen Artikel. Lies den mal zuerst: http://www.golem.de/news/bluetooth-low-energy-und-websockets-raspberry-pi-als-schaltzentrale-fuers-haus-1407-107899.html
Das man mit HTML und JavaScript was bauen muss ist doch klar. Das war indirekt meine frage nach einem Beispiel. Sicher baue ich zb mit qt schnell ein Programm, aber ich habe länger nachgedacht und denke das ein unabhängiges System besser für mein Projekt ist. Der Einwand mit dem speichern könnte allerdings meine Pläne zunichte machen wenn das nicht geht. Weil ich schon gerne die Daten Speichern würde und wen es geht diese sogar wieder mir anzeigen lassen würde. Aber letzteres kann auch ein normales Programm machen. Vg, Uli
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.