Hallo Forum! Ich bin auf der Suche nach jemanden der mir beim Arduino Webserver helfen kann. Was soll der Webserver können? Konkret: -) Startseite - z.B. Hallo Welt mit 2 Links -) 1ter Link - Statusseite mit I/O's - Passwortgeschützt! -) 2ter Link - Seite zum Steuern der Ausgänge - Passwortgeschützt! Bis auf die Bedienung funktioniert die Seite schon - ich kann NUR keine Ausgänge schalten. Wer kann mir weiterhelfen? Bitte um Hilfe! Schöne Grüße Christian
schreib doch einfach dein Problem hier rein? Warum soll dir nur eine Person helfen.
@ Fabian: Mein Problem hab ich geschildert.... @ hawa mand: Welche Zeile 42? Nachtrag: Ich würde den Code dann posten, wenn sich jemand angesprochen fühlt und mit weiterhelfen kann.
Hi, es ist immer schwierig jemanden zu helfen der sein Problem nur grob schildert aber schon etwas hat was teilweise funktioniert. Da kann man dann nur raten woran es liegt. Generell bist du nicht der Erste der das versucht, daher würde ich dir vorschlagen, dass du erstmal schaust wie es die anderen Realisierunen machen (gibt auch nicht nur Adruino auf der Welt). Wenn du dann eine konkrete Frage hast hilft man hier gerne. Btw. du kannst z.B. die Routine die aufgerufen wird, wenn eine Anfrage kommt, posten, das wäre schon mal ein guter Anfang bzw. Ansatzpunkt.
Ich sehe kein Problem, nur eine Aufgabenstellung. Funktioniert nicht ist keine Angabe. Einfach Posten an welchen Stellen es haken könnte und das gucken sich mehr Leute an. Darum bitten dir helfen zu dürfen tun nur wenige (oder keine?). hawamand meint wohl Zeile 42 in Datei 42.
Hallo! Andere Systeme werden anders arbeiten als Arduino (so meine Meinung). Bin auch kein C-Programmierer - sonst würd ichs wahrscheinlich lösen können. Ich kann nur den ganzen Code posten - weil ich ja nicht weiß worans liegt. Vielleicht kann mir jemand dabei helfen den Code so umzuschreiben, dass dieser auch einen Bedienung mittels Passwortschutz möglich macht. Grüße Christian
Hi, im Prinzip ist es nicht großartig unterschiedlich zu anderen Systemen. Zunächst solltest du verstehen was GET und POST macht und dir Firebug bzw. WireShark installieren und dir mal anschauen wie so eine Verbindung überhaupt aussieht. Wenn du das hast würde ich hiermit anfangen if (type == WebServer::POST){ ... Damit kannst du prüfen ob das eine Anfrage vom Client ist, wenn es eine ist, würde ich mir die via serieller Schnitstelle ausgeben lassen und schauen was da ankommt und mir dann die Brocken raussuchen die interessant sind.
Hallo! Im Wordpad öffnen ists lesbar... Im Prinzip bringt mir aber nichts....ich versteh auch nicht was es bringen soll (wo doch Webserver und PW-Abfrage bereits funktionieren), diese SW zu installieren. Zudem - seriell hab ich nicht sondern USB. Ich kann mir denken wo der Weg hinsoll nur - ICH bin kein Programmierer der Datenpakete analysieren kann. Ich habe das Problem geschildert und bitte nun, jemand wissenden mir dabei zu helfen den Code weiterzuentwickeln, damit ich einen Ausgang steuern kann. Nicht mehr und auch nicht weniger..... Grüße
Christian Z. schrieb: > Hallo! > Im Wordpad öffnen ists lesbar... es geht nicht ums Wordpad. Es geht darum, dass ich hier im Forum auf den Link zur Codeansicht klicken kann und dann krieg ich im Browser ein Fenster in dem dein Code mit Syntax-Coloring angezeigt wird. Aber nur, wenn du es als c-file oder cpp-file ins Attachment hängst. Daher die Bitte. > Im Prinzip bringt mir aber nichts.... Doch, das bringt sogar jede Menge. Denn dann siehst du erst mal, was so ein Web-Browser eigentlich so sendet, wenn er die Anfrage macht bzw. was er sendet, wenn eine Form abgeschickt wird. Und das ist immer einer der erste Punkte: erst mal muss klar sein, welchen Input ein Programm eigentlich bekommt, bzw. wie das funktioniert. Und dann kannst du in den Code Ausgaben (über UART oder eben bei dir über USB - was für dich dasselbe ist) einbauen, sodass dir der Web-Server selber mitteilt, was er eigentlich empfängt, welche Codewörter er erkannt hat und wie er darauf reagiert. Und das ist schon mal um 100% besser, als wie wenn du im Nebel stochern musst. > Ich habe das Problem geschildert und bitte nun, jemand wissenden mir > dabei zu helfen den Code weiterzuentwickeln OK. Klartext. Nenn die Dinge beim Namen. Du hast den Code irgendwo abgeschrieben oder geklaut und brauchst jetzt jemanden, der ihn für dich fertig schreibt. Es ist ziemlich unwahrscheinlich, dass du im Stande bist einen Web-Server zu schreiben aber es nicht schaffst ein paar Ausgänge zu setzen. Wir verstehen hier eh ziemlich viel. Aber was wir nicht abkönnen, das ist wenn uns jemand versucht für dumm zu verkaufen.
Karl Heinz Buchegger schrieb: > Wir verstehen hier eh ziemlich viel. Aber was wir nicht abkönnen, das > ist wenn uns jemand versucht für dumm zu verkaufen. Und Arbeitsleistung für lau zu schnorren. Du willst keine Hilfe. Du willst, dass etwas für dich gemacht wird. Da ist ein großer unterschied.
Christian Z. schrieb: > diese SW zu installieren. Zudem - seriell hab ich nicht sondern USB. Ich USB: Universal Serial Bus ... Und ja, Du kannst über USB per Terminal mit dem Arduino reden. > Nicht mehr und auch nicht weniger..... Dazu wurde ja schon was gesagt. Ich sehe es genauso: Wenn Du nicht selbst etwas tun willst darfst Du auch nicht erwarten, daß andere es für Dich tun. Mit einer Ausnahme: Du bezahlst für die Arbeitsleistung derer, die Deine Arbeit machen.
Hallo! Sicher hab ich den Code auf diversen Seiten gefunden - von KLAUEN kann keine Rede sein - sonst würde er mir nicht bekannt sein. Der Code wurde auf jeder Seite zur Verfügung gestellt. Da ich selbst kein Programmierer bin, weder Java, HTML, noch C hab ich dieses Forum aufgesucht. Und ja, ich Suche Hilfe damit mir jemand hilft. Wenn du darunter verstehst, es soll mir jemand den falschen Teil richtig stellen - ja bitte! Gibts ja in anderen Bereichen auch - zb. im Excel-Forum, SPS-Foren, etc. Verkaufen möcht ich gar nix - ich habe ein Problem und Suche hier Hilfe. Ich verkaufe niemanden für dumm - aber ich habe ein Problem - den Code gepostet und hoffte, dass sich jemand (hobbymäßig) damit auseinandersetzt, und mir beim Problem weiterhelfen kann. Nicht mehr und nicht weniger..... Grüße PS: Dass in diesem Forum der Code angezeigt werden kann, wußte ich nicht. PPS: Und ich bin auch in anderen Foren, wo es beispielsweise durch zusenden und austesten und Richtigstellung des Codes einem weitergeholfen wird. Vielleicht war das der Grund der Annahme dass dem hier auch so ist.
Dein Code sieht so aus, als ob er für einen webduino gemacht wäre. Laut Homepage kommt der mit einem Beispiel, an dem man sich das alles mal ansehen kann.
Christian Z. schrieb: > PPS: Und ich bin auch in anderen Foren, wo es beispielsweise durch > zusenden und austesten und Richtigstellung des Codes einem > weitergeholfen wird. Vielleicht war das der Grund der Annahme dass dem > hier auch so ist. Ist auch hier so. Aber wir sind keine Vereinigung freischaffender Ingenieure, die nur darauf warten, dir deine Probleme komplett von A bis Z zu lösen. Wir verstehen uns als ein Verein, der dir Hilfe zur Selbsthilfe gibt. D.h. in erster Linie erledigst DU DEINE Arbeit. Und nicht wir. Und wenn dazu gehört, dass du erst mal einige Tage lernen musst, wie die zugrundeliegenden Mechanismen funktionieren, dann ist das eben so un ist dein Problem. Der Ansatzpunkt wurde ja schon genannt. Wenn der Client (der Browser) eine Form abschickt, dann schickt er einen POST zum Server. Dort kannst du dich einklinken, den restlichen Text im POST analysieren und nach Bedarf dann deine Ausgänge schalten.
Hallo! Dort ist aber kein PW-Schutz dabei. Und um den gehts mir schlußendlich. Und diser funktioniert nur zum Teil. Wie man den Status sich anzeigen läßt weiß ich ja, wie man Ausgänge setzt ebenso. Packt man diese Funktionen unter einen PW-Schutz funktioniert das Setzen der Ausgänge nicht mehr. Grüße
Was ist mit
1 | if (server.checkCredentials("dXNlcjp1c2Vy")) |
2 | {
|
? Funktioniert das so erst mal nicht? Ich würds so machen: In der Funktion, die das Formular aufbaut, in deinem Beispiel hier
1 | void htmlButton( WebServer server, char * label, char *name, int nameId, char *value) |
2 | {
|
3 | P(buttonBegin) = "<form action='/private' method='POST'><p><input type='hidden'name='"; |
4 | server.printP(buttonBegin); |
kommt am Anfang genau die gleiche Abfrage nach den Credentials rein, so dass der Web-Browser das Formular schon mal nicht ohne User/Passwort zu Gesicht bekommt. Gleichzeitig benutze ich im Form einen hidden Parameter, der zb aus einer Zufallszahl besteht. Und wenn vom Client das OK für das Formular zurückkommt, prüfe ich, ob die vom Client mitgegebene Zufallszahl im Hidden Parameter mit meiner gespeicherten am Server übereinstimmt. Tut sie das, dann ist der POST gültig und wird ausgewertet. Tut sie es nicht, dann wird der POST ignoriert bzw. mit er Fehler-Seite beantwortet. Alles in allem scheint mir das mit der Vorarbeit, die der Klassenersteller geleistet hat, nicht weiter schwer zu sein.
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.