rtos gui webinterface

Gast #5801679
Hallo,

es gibt noch nicht viele Informationen:
Es handelt sich um ein Echtzeitsystem (rtos) auf einem Mikrocontroller. 
Am besten wäre es wenn man ein GUI aufrufen kann wenn man sich mit dem 
µC verbindet als Client. Wenn das rtos genug Ressourcen, wie 
Arbeitsspeicher hat könnte das doch gehen oder ?
Wenn nicht, gibt es die Möglichkeit, dass das rtos nur rohdaten an einen 
pc oder server sendet und der für das webinterface sorgt ?

Danke sehr !
#5801692
fragso schrieb:
> Hallo,
>
> es gibt noch nicht viele Informationen:
> Es handelt sich um ein Echtzeitsystem (rtos) auf einem Mikrocontroller.
> Am besten wäre es wenn man ein GUI aufrufen kann wenn man sich mit dem
> µC verbindet als Client. Wenn das rtos genug Ressourcen, wie
> Arbeitsspeicher hat könnte das doch gehen oder ?
> Wenn nicht, gibt es die Möglichkeit, dass das rtos nur rohdaten an einen
> pc oder server sendet und der für das webinterface sorgt ?
>
> Danke sehr !

Nennt sich Webserver.

Braucht in jedem Fall genug Platz (Flash) für die Seiten selbst 
(HTML+CSS+JavaScript) und genug Ram um die bei einem Request 
auszuliefern.

Man kann viel an Logik an den Client (PC) via JavaScript auslagern. 
Datenaustausch dann z.B. via JSON. Wenn die Ressourcen reichen. Sonst 
halt Binär.
Gast #5801770
Kann man denn den Speicher so erweitern, dass man z.B. ein Webinterface 
von 100 Mb ( evtl. übertrieben.. je nachdem) speichern kann ?
Oder kann der µC das nicht so schnell verarbeiten ?
Irgendwie funktioniert das ja bei einem PC auch xD.

Danke
Persönliche Seite #5801800
fragso schrieb:
> Kann man denn den Speicher so erweitern, dass man z.B. ein Webinterface
> von 100 Mb ( evtl. übertrieben.. je nachdem) speichern kann ?
> Oder kann der µC das nicht so schnell verarbeiten ?

Kommt auf den ungenannten µC an. Es gibt µCs, die schaffen es gerade mal 
so, irgendein Webinterface zusammenzustoppeln, und es gibt µCs, die 
langweilen sich dabei und gucken im Hintergrund noch Netflix ...
#5801916
Ich hab einen Webserver fuer einen Mega32 geschrieben. Ohne RTOS. Die 
Seiten waren auf einem externen Flasch. Bedeutet man kommt mit sehr 
wenig Resourcen durch.

Was soll der webserver denn koennen ? Du lieferst ja die Seiten. 
Allenfalls kann man dem client Rechenleistung anhaengen, und nicht auf 
dem Server rechnen lassen.
Gast #5802049
Rufus Τ. F. schrieb:
> und es gibt µCs, die langweilen sich dabei und gucken im Hintergrund
> noch Netflix ...

Ja, die haben auch ne KI und wissen was "Industrie 4.0" ist.
Kommt halt drauf an was man wirklich vor hat. Rufus, das liest sich gut!

Gruß
Beast
Gast #5802555
Hi danke für die Antworten !
Ist schonmal hilfreich!

Dann wäre die Frage:

Externer Flash Speicher: Flash Speicher könnte ja eine SD Karte sein.
Also wo liegt denn das Problem, wenn man mit einem µC eine SD Karte 
verbindet die einen Webserver installiert hat ? Dauert der Zugriff zu 
lange ?


Hier hat jmd. auch so ein ähnliches Thema
Beitrag "Externer Flash-Baustein - Grundlegende Fragen"
Persönliche Seite #5802563
Computer, welche Web-GUI's einfach & komfortabel ausliefern können, gibt 
es viele - vom R-PI bis zum PC. Die Frage ist, warum du das auf einem µC 
brauchst, bzw. welcher Teil deiner Anwendung nach einem µC verlangt.

Wenn du nur ein paar Pins langsam schalten möchtest, wäre vielleicht ein 
R-PI o.ä. geeignet - dort einen "richtigen" Webserver wie Apache zu 
installieren ist sehr einfach, und Pins zu schalten ebenso.

Wenn du parallel zur Web-GUI eine richtige (hart-)echtzeitfähige 
Steuerung brauchst, helfen vielleicht die Echtzeit-Erweiterungen für 
Linux, oder ein Prozessor mit Echtzeit-Koprozessor wie Beaglebone, oder 
einfach eine Kombination aus Linux-fähigem Prozessor/Computer mit 
Mikrocontroller, verbunden über UART, USB, I²C, ...

Sag mal mehr zu deinen Anforderungen, damit man das besser einschätzen 
kann.

fragso schrieb:
> Also wo liegt denn das Problem, wenn man mit einem µC eine SD Karte
> verbindet die einen Webserver installiert hat ?

Es ist relativ kompliziert.

fragso schrieb:
> Dauert der Zugriff zu
> lange ?
Nicht unbedingt, je nach Art der Ansteuerung. R-PI & Konsorten nutzen ja 
auch SD-Karten. Für schnelle Zugriffe/Abläufe braucht es Caches und 
Nebenläufigkeit, wofür es viel Speicher braucht, was am Besten auf 
großen Prozessoren geht, wo wir wieder bei der Größenordnung des R-PI 
sind. Vor allem wenn man mehrere Anfragen gleichzeitig verarbeiten 
können möchte.
#5802692
fragso schrieb:
> Am besten wäre es wenn man ein GUI aufrufen kann wenn man sich mit dem
> µC verbindet als Client.

Wenn der uC zu wenig Resourcen hat, kann man auch einfach ein LAN-Modul 
dranpappen per UART oder I2C und dann dessen Webserver verwenden.
Beispielsweise mit den Modulen von AK-Nord geht das rel. einfach und es 
gibt ein fertiges Beispiel um einen per I2C angeschlossenen 
Temperatursensor auszulesen und den Messwert auf einer Webseite 
anzuzeigen:
https://www.ak-nord.de/XT-Nano-SXL-56.html
Persönliche Seite #5802750
Johnny B. schrieb:
> Wenn der uC zu wenig Resourcen hat, kann man auch einfach ein LAN-Modul
> dranpappen per UART oder I2C und dann dessen Webserver verwenden.

Wobei dann die Frage ist, warum man einen zu schwachen Mikrocontroller 
nimmt, nur um dann einen stärkeren (welcher sich im LAN-Modul befindet) 
extern anzubinden, den man dann auch nicht mehr frei programmieren kann.

Es gibt genug Mikrocontroller, welche genug Leistung für einen Webserver 
haben und so ziemlich alles können, was ein ATmega kann. Das trifft z.B. 
auf viele STM32 zu. Das Nucleo-767ZI-Board beispielsweise enthält einen 
solchen Controller und die zugehörige Ethernet-Hardware, und 2MB Flash 
direkt im Controller:
https://www.st.com/en/evaluation-tools/nucleo-f767zi.html

Das STM32F746 Discovery enthält ebenfalls Ethernet-Hardware, 
microSD-Slot, 1+16 MByte Flash, 8 MByte RAM:
https://www.st.com/en/evaluation-tools/32f746gdiscovery.html

Das wäre genug Leistung für eine ordentliche Web-Oberfläche. Auf der 
SD-Karte kann man auch noch mehr Daten ablegen. Mit z.B. FreeRTOS, lwIP 
und FAT-Library kann man sich darauf dann einen Webserver bauen.

Auf einem R-PI oder Beaglebone o.ä. einen Webserver zu installieren 
dürfte aber deutlich einfacher sein.

Proletikus schrieb:
> Allenfalls genuegt es ja auch den Webserver per Serial anzubinden ? Ein
> Ethernet ist nicht zwingend. Dann geht's auch mit einem Mega8, oder
> Tiny.
Und wie ruft man das dann vom PC auf? Wo kommt TCP ins Spiel?

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 7 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.