Hallo ich habe folgendes vor: Mit meiner AVR Net-IO Messergebnisse an eine Datenbank zu senden und dann diese Daten auf einer Webseite darzustellen. Was ich habe: -V-Server mit Apache Webserver und MySQL Datenbankserver - AVR Net-IO - C Kenntnisse - Lernbereitschaft Was mir fehlt: - Wissen wie man so was realisiert. Nun wollte ich Euch fragen ob so was machbar ist? Welche Entwicklungsumgebungen benötigt werden und wie ich mich eurer meinung am schnellsten in diese Thematik einarbeite. Ich hoffe ich habe mein Vorhaben einigermaßen gut beschrieben. Freue mich schon auf Eure Antworten Danke peter
Guck dir mal die NetIO-Firmware von Ulrich Radig an. Da hat er auch Code drin, mit dem man GET-Anfragen an andere Server verschickt.
der es noch nicht kann schrieb: > Nun wollte ich Euch fragen ob so was machbar ist? Ein ganz klares Jein! Ja -> Wenn die Datenrate nicht zu hoch sind ein paar kB/s sicher machbar ansonsten -> nein. STK500-Besitzer hat ja schon auf Ulrich Radigs Software genannt, es gäbe da noch uIP und Ethersex. Jedenfalls solltest du dich gut in TCP/IP einarbeiten. Denn den 'Treiber' zur Kommunikation mit der Datenbank wirst du selbst schreiben dürfen, ich habe zumindest noch keine Implementierung für einen µC gesehen. Gegenvorschlag: Sammle die Daten doch zunächst auf auf einer SD-Karte an deinem AVR und lasse sie Regelmäßig von deinem V-Server abholen, dieser kümmert sich dann selbst darum die Messdaten in die Datenbank zu schreiben.
Hab ich auchmal gebaut. Alles in einem AVR. Die Messungen, die Datenbank, der Webserver, die Webseite. Wenn man den Datenbank Server abtrennt, wird dieser mit Php abgefragt. Daten auf einer Webseite, zumindest was ueber eine Zhlentabelle hinausgeht werden mit Ajax & Javascript dargestellt.
M. K. schrieb: > Gegenvorschlag: > Sammle die Daten doch zunächst auf auf einer SD-Karte an deinem AVR und > lasse sie Regelmäßig von deinem V-Server abholen, dieser kümmert sich > dann selbst darum die Messdaten in die Datenbank zu schreiben. Was verwendet man auf dem v-Server für Software um die Daten auf der Sd-Karte abzuholen? Troll schrieb: > Hab ich auchmal gebaut. Alles in einem AVR. Die Messungen, die > Datenbank, der Webserver, die Webseite. Wenn man den Datenbank Server > abtrennt, wird dieser mit Php abgefragt. Daten auf einer Webseite, > zumindest was ueber eine Zhlentabelle hinausgeht werden mit Ajax & > Javascript dargestellt. Kannst du mir da noch ein paar mehr Infos geben? Ich meine keinen Code aber einen Groben Schematischen Aufbau wäre toll! Danke Gruß Peter
der es noch nicht kann schrieb: > Was verwendet man auf dem v-Server für Software um die Daten auf der > Sd-Karte abzuholen? Ich gehe mal von einem Linux-System als V-Server aus, dann ist wget bestens dafür geeignet. Auf dem AVR benötigst du dann NUR einen Webserver, der ist bei Ulrich Radigs Software schon dabei, außerdem hast du da auch schon alles nötige für die SD-Karte dabei. Dann hast du allerdings erst die Datei übertragen, du musst die Daten noch in die Datenbank übertragen dazu wirst du dir wahrscheinlich ein kleines Script auf dem Server schreiben müssen, oder du schreibst dir sofort eine kleine Software welches die Daten abholt und in die Datenbank überträgt.
Wenn alles auf einem AVR laeuft spart man sich vieles. Als Datenspeicher war das interne Ram genuegend. Falls dem nicht so ist, kommt die Frage nach der Schreibhaeufigkeit. Ich wuerd vielleicht ein Serielles RAM oder EEProm in Betracht ziehen, in diesm Zusammenhang sollte man sich ueberlegen, was mit den Daten bei, Poweroff geschehen soll. Die Seitenfunktionalitaet konnte per http immer neu geladen werden. Das war der Output, den der anfragende Client erhielt aber noch scriptcode enthielt. Eine Seitenanfrage spulte also diese Seite aus dem externen Flash ab, fuellte die benoetigten Daten ein und schob sie ueber die Kommunikationsschnittstelle raus. Dabei war wichtig, de Berechnung der anzuzeigenden Daten nicht selbst zu machen, sondern dem Client anzuhaengen. Es wurden daher die Rohdaten versandt, und die Rechenvorschrift, dh die Formel war in der Seite als Javascript versteckt. In der Regel waren das Float Rechnungen, die der PC nun mal besser kann. Im wesentlichen benoetigt man also zweischwach gekoppelte Prozesse. Die Acquisition mit iregndwas, und den Webserver. Der Webserver bekommt die Anfragen, holt sich die Seite aus dem Flash fuellt die Daten ein und schiebt die Seite zurueck. Irgendwelche Commands werden als Parameter zur Anfrage empfangen und vor der Seite ausgefuehrt.
M. K. schrieb: > oder du schreibst dir > sofort eine kleine Software welches die Daten abholt und in die > Datenbank überträgt. Ja irgendwie kommt mir dein Lösungsansatz "recht einfach vor" Welche Sprache ist für eine solche Software geeignet ich habe etwas C# Erfahrung aber nur unter Windows! Troll schrieb: > Wenn alles auf einem AVR laeuft spart man sich vieles. Dein Vorschlag klingt auch sehr gut aber kommt mir etwas komplizierter vor! Habe noch keinen konkreten Plan! Vielleicht könnt Ihr mich ja noch von was anderem überzeugen! Danke für Eure Hilfe Gruß Peter
Wenn dein NetIO die Daten per GET an den Webserver schickt, dann kann sich dort ein PHP-Skript um das Eintragen in die Datenbank kümmern.
Der AVR NetIO liefert eine per http abfragbare HTML WebSeite mit dem AKTUELLEN Messwert (das kommt wohl ricght out of the box), ein Skript auf dem Apache Server fragt die ab und trägt deren Werte in die Datenbank ein (oder in vielen Fällen viel besser einfach ans Ende einer Datei schreiben). Die programmiert man wohl eher nicht in C sondern in PHP.
der es noch nicht kann schrieb: > Habe noch keinen konkreten Plan! Wie du siehst Möglichkeiten gibt es viele. Grundlegend musst du erst einmal die beiden folgenden Dinge für dich klären. 1. Was soll mit den Daten passieren? 1a. Müssen die Daten gespeichert werden? 1b. Muss es wirklich eine Datenbank sein, wenn ja warum? 2. Muss es ein externer Server sein, oder reicht es wenn der Server zu Hause steht (AVR NetIO über das Internet erreichbar)? der es noch nicht kann schrieb: > Vielleicht könnt Ihr mich ja noch von was anderem überzeugen! Möglichkeiten gibt es noch genügend, z.B ein Raspberry Pi, ein PC mit Messkarte, ... der es noch nicht kann schrieb: > Ja irgendwie kommt mir dein Lösungsansatz "recht einfach vor" Welche > Sprache ist für eine solche Software geeignet ich habe etwas C# > Erfahrung aber nur unter Windows! STK500-Besitzer schrieb: > Wenn dein NetIO die Daten per GET an den Webserver schickt, dann kann > sich dort ein PHP-Skript um das Eintragen in die Datenbank kümmern. PHP-Scripte müssen nicht zwingend von einem Web-Server aufgerufen werden, PHP-Scripte laufen auch eigenständig. So könnte man ein PHP-Script auch einfach per Cron-Job starten. Ansonsten ist jede Programmiersprache erlaubt die es dir irgendwie ermöglicht TCP/IP zu sprechen und für dein Ziel-System verfügbar ist
Super viele Infos,ich werde mal eine Nacht drüber schlafen und alles etwas wirken lassen! Vielen Dank für Eure Hilfe! Peter
Hab ich erst vor kurzem mit einem Raspberry PI gebaut. Ein Python Script holt von einem kleinen Webserver, der auf einem PIC Controller läuft, Daten periodisch alle Minute per Get - Request ab und speichert diese Daten in eine MYSQL Datenbank. Für die Graphische Anzeige sorgen dann einige PHP Scripten serverseitig sowie etwas Javascript für die Erzeugung der Graphik. Als Datenaustauschformat zwischen den beteiligten Geräten dient diesem Fall JSON
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.