Hallo Leute! Wie bereits in der Rubrik "PC-Programmierung" angekündigt, habe ich mich in den letzten Tagen verstärkt mit dem Thema CGI, HTML, VB6 und µC-C auseinander gesetzt. Sinn und Zweck des Ganzen ist es, von jeder ans Netz gebundenen Maschine die Pflanzen zu gießen :-) Zunächst ist das Projekt in 3 Hauptdateien aufgeteilt, die wie folgt heißen: - Intro.cgi: Zeigt Messwerte über den Gießvorgang (Feuchtigkeitssensor -> noch in Planung), Liest Messwerte aus der 'values.dat'. - index.html: Ist die Seite NACH der Passwortabfrage (.htaccess), um nicht jedem User das gießen zu ermöglichen. Auf ihr befinden sich Buttons zum Schalten der Pumpen. - Giesse.cgi: Schreibt in die 'auftraege.dat' ein Flag, welche Peripherie (Pumpe) geschaltet werden soll Auf dem Server läuft außerdem ein Visual-Basic-Programm, welches alle 5 sec die "auftraege.dat" abfragt, je nach Inhalt (wenn Flag gesetzt), schickt es über die serielle Schnittstelle ein Byte mit der jeweiligen Information. Daraufhin werden die Ausgänge vom Mikrocontroller geschaltet. Im VB-Programm wird außerdem die Gießdauer und der Abfragezeitraum (default: 5 sec.) gewählt. Für Infos bin ich gerne bereit, ich hoffe ihr könnt mein Projekt brauchen! :) Gruß
Nimm besser Lazarus/Freepascal. Die EXE von VB benötigt immer ein SETUP Paket mit extra vielen DLLs. Bei Freepascal kommt eine EXE dabei raus, die funktioniert ohne Setup-Paket. Vor vielen Jahren hab aich auch mal VB programmiert, nach dem ich das dritte mal meinen PC neu installieren musste hatte ich enorme Schwierigkeiten meine eigenen Programme wieder zum Laufen zu bekommen!!!
Das alte alte VB braucht auch nur eine Runtime-DLL, nur das neue hängt halt vom .NET-Geraffel ab. Zum Programm: Du hast eine Sache nicht berücksichtigt: Was passiert denn, wenn du per CGI gerade deine Auftraege.dat schreibst, und dein VB-Programm das zeigleich auch macht...? Dann ist da noch ein Fehler:
1 | void print_header(void) { |
2 | printf("Content-Type: text/html\n\n"); |
3 | }
|
Schreib lieber noch Wagenrückläufe dazu, das verlangt die HTTP-Spezifikation. Unten fehlt übrigens noch print_html_end().
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.