Hallo, bei ELV gibt es 3 Webserver: IP-I/O-Interface IPIO 88, Komplettbausatz Artikel-Nr.: 68-760-86 59,95 € IP-Wetterdatenempfänger IPWE 1, Komplettbausatz Artikel-Nr.: 68-769-34 59,95 € homeputer-Web-Server für FHZ 1000/1300 PC Artikel-Nr.: 68-671-09 49,95 € Hat jemand Erfahrungen damit? Kann man diese eventuell für folgenden Zweck benutzen: Ich habe mir eine Rolladensteuerung gebaut (Atmega128) und habe gerade das Redesign weitestgehend fertig, so daß ich die Leiterplatte fertigen lassen könnte. Doch vielleicht lohnt es sich noch, eine Schnittstelle zu einem Webserver vorzusehen, bevor ich die Leiterplatte ätzen lasse... Es wäre ne geile Sache, wenn ich den Status der Rolläden abfragen könnte und die Rolläden auch per Internet steuern könnte (auf/ab, auch die Schaltzeiten (Uhrzeit) für auf und ab verändern). Wie müßte man Webserver und Rolladensteuerung kommunizieren? RS232? Oder mit MOSI/MISO, ...? Hab zwar die Beiträge hier über selbst gebaute Webserver gesehen, aber hab selbst noch keinen Durchblick. Vielleicht erleichtert einem der Kauf eines Webservers bei ELV die Sache...
Hallo Martin, Möchtest du in jedem Fall einen embedded Webserver nutzen, oder kommt für dich auch ein gewöhnlicher PC als Server in Frage, an den du dann deine Rolladensteuerung anschließen kannst? Ist letzteres der Fall, ist eine Anbindung mittels RS232 sehr einfach. Ich habe hier eine Schaltung, mit der ich Sensorwerte über den Browser abfragen kann bzw. Geräte an und aus schalten kann. Allerdings muss dann ständig ein PC laufen. Für die Anbindung ans Internet nutze ich ein PHP- Programm. Grüße geo
Hallo! Gibt es auch fertige Bausätze für embedded webserver(also nicht PC-Basierend)? Wie teuer kommt son Bausatz, wenn ein paar digitale Schaltmöglichkeiten ausreichen?(Am besten schon programmierte MCU)
Dann brauchst du doch noch n dns server oder? Wenn du nicht zufällig aus der CH kommst, hast du bestimmt k. feste IP dann brauchst du was, was dir überall sicherstellt, dass du dein Gerät(oder PC) immer(also nach jeder neuen Einwahl) unter der gleichen Eingabe erreichst. Dabei denke ich an die url in einem Browser. Diese sollte dich ja immer zum gleichen Gerät linken. Bei DSL ist ja glaube ich nach 24h Schluss mit lustig und zack, ip weg. Und ich gehe mal davon aus, dass du, wenn du im Urlaub bist, nicht nur am ersten Tag die Rolläden fernsteuern möchtest ;)
..oder einen Router der DYNDNS selbst kann ;-) ps: Die meisten neueren Router haben diese Option bereits drin.
man kann sich bei dyndns.com registrieren (kostet nichts). Mit einem IP Updater den man dort ebenfalls runterladen kann, kann man seine ip infos automatisch aktualisieren lassen. Auf diese Weise hast du deine feste Adresse, die du anstelle deiner sich ändernden IP nutzen kannst. Klappt super und es ist so als hättest du eine statische IP.
Jonny Obivan wrote: > Hallo Martin, > > Möchtest du in jedem Fall einen embedded Webserver nutzen, oder kommt > für dich auch ein gewöhnlicher PC als Server in Frage, an den du dann > deine Rolladensteuerung anschließen kannst? Ist letzteres der Fall, ist > eine Anbindung mittels RS232 sehr einfach. Ich habe hier eine Schaltung, > mit der ich Sensorwerte über den Browser abfragen kann bzw. Geräte an > und aus schalten kann. Allerdings muss dann ständig ein PC laufen. Für > die Anbindung ans Internet nutze ich ein PHP- Programm. > > Grüße > geo Hallo geo, das interessiert mich. Ich bin gerade am Entwickeln einer Alarmanlage. In einem späteren Entwicklungsstand habe ich dann auch vor, verschiedene Funktionen über einen WEB-Server (der dreht sich eh ständig in meiner Kammer)zu steuern. Als Schnittstelle habe ich die RS232 vorgesehen. Von Seiten µC ist mir eigentlich alles klar, ich hab aber keine Ahnung wie ich die Daten mit einer WEB-Seite lesen/schreiben kann. Ich hatte vor das ganze über PHP5 zu machen, habe in dieser Sprache aber bisher nur ein wenig rumgespielt und keine Ahnung wie man mit der COM kommuniziert. Deshalb eine Bitte: Würdest du mir ein wenig Code zukommen lassen, aus dem hervor geht, wie man mit der COM kommuniziert? Das ware ganz lieb. Danke. Sven
ja, ich benötige einen embedded Webserver. Ich möchte den PC nicht ständig laufen lassen. Mit dem Webserver von ELV könnte man zumindest 8 Digitaleingänge schalten und einlesen. Für den Anfang könnte man damit leben. Aber Parameter in der Anlage zu editieren ist nicht möglich. Ich suche noch nach einer "besseren" Lösung. Ich habe gesehen, daß Ulrich Rading selbst einen Webserver mit einem Atmel aufgebaut hast. Ich würde eher dazu tendieren, einen fertigen Baustein zu verwenden. Z.B. von Lantronix gibt es schon welche ab 30€ (bei Farnell). Hat jemand ne Anhnung, ob die folgenden Webserver hierfür geeignet wären: * XPort Direct+ * XPort * XPort AR Die Dokus hierzu findet man hier: http://www.lantronix.com/support/documentation.html#embds Besser wäre natürlich der "MatchPort b/g", denn da scheint das Ganze auch mit WLAN zu gehen. Aber ich denke das wird noch komplizierter als per Ethernetkabel... Müßte man die HTML´s vom Prozessor senden? Ich vermute ja, denn darin sollen ja veränderliche Werte (Parameter) stehen. Man kann daher sicherlich nur Bilder und immer gleichbleibende HTML´s im Webserver ablegen. Korrekt? Gruß Martin
Wenn du (fortgeschrittene) Ahnung von Programmieren hast, kannst du auch beispielsweise meinen Webserver benutzen: Beitrag "ENC28J60 (Mikro-)Web-Server die Nächste" Den kann man zum Beispiel so umprogrammieren, dass über eine Browserseite Daten über eine serielle Schnittstelle (die an einem Pfostenstecker herausgeführt ist) gesendet werden. Wie gesagt, nur wenn du wirklich Ahnung hast ;) Fertig wird es so etwas zugeschnittenes kaum geben.
@ Sven Stefan, Ich habe mal eine Beispiel.php Datei in den Anhang gestellt. Einfach mit dem Texteditor öffnen und am Ende des PHP Codes die folgenden Aufrufe entsprechend ändern(jeh nachdem was du für einen Comport hast und welche Geschwindigkeit): rs232init("com2","9600"); senden("com2",$_POST[textfeld]); $lese = lesen("com2","5"); Anschließend die PHP Datei in das Stammverzeichnis deines Servers legen und dann im Browser http://localhost/Beispiel.php aufrufen. Gruß geo
Oh, danke. Das werde ich bei Gelegenheit mal ausprobieren. Im Moment versteh ich den Code zwar noch nicht so ganz, aber ich fuchs mich da mal rein. Zur Not kann ich ja meinen Sohn fragen ;-) ..... Gruß Sven
Hallo, ich habe die Beispiel.php jetzt mal auf meinem Ubuntu-Server (Apache2, php5) ausprobiert. Die Seite startet auch, doch leider erhalte ich immer den Fehler: fopen(com2) [function.fopen]: failed to open strem: Permission denied. Hab das nun schon mit den Einstellungen com2, tty01, ttyS1 und /dev/ttyS1 probiert. Aber immer der selbe Fehler. Was mache ich falsch? Sven
Der Fehler kommt bei mir wenn die serielle Schnittstelle nicht geöffnet werden kann. Dies kommt vor wenn schon ein anderes Gerät auf die Schnittstelle zugreift oder aber die Schnittstelle gar nicht verfügbar ist. Mit Zugriffsrechten scheint das nichts zu tun zu haben. Bist du ganz sicher das der Schnittstellenport stimmt und du bei den Funktionsaufrufen (nur ganz unten die) die richtige Schnittstelle gewählt hast? Es muss ja nicht com2 sein (com1 com3 com4 usw könnten auch möglich sein - probier die mal durch) Klappt denn die Schnittstelle mit einem gewöhnlichen RS232 Monitorprogramm? Wenn du willst schick ich dir nen RS232 Monitorprogramm Gruß geo
Scheint doch an den Rechten zu liegen. Wenn ich /dev/ttyS3 mit chmod auf 777 setze kommen keine Fehler mehr. Im Moment kann ich aber nicht sagen ob die Kommunikation funktioniert. Muss ich mal schauen, ob ich noch ein Crossoverkabel finde um einen anderen PC an den Server zu hängen. Dann sehe ich ja ob es geht. Danach wird dann mit µC getestet.
Hey, bin begeistert! Das funktioniert ja. Ist schon toll. Test erfolgreich beendet. Nun kann es an die Feinheiten gehen. Hast du noch eine Idee, wie man die Warteschleife in eine Art Polling verwandeln kann, also das das php-Script immer an der Seriellen horcht? Sven
Hallo Sven, Fein das es klappt :-) Was die Sache mit dem Polling betrifft: Ich würde es Serverseitig auslegen (Eine Dauerschleife in PHP ist nicht zu empfehlen). Das heißt eine Anfrage an den µC senden, woraufhin dieser eine Antwort mit den geforderten Daten sendet. Also die Kommunikation immer vom Server Rechner aus initiieren. Du willst doch ohnehin von irgendwo per Browser auf deinen µC zugreifen. Da würde es nichts bringen, wenn dein µC dem Rechner etwas mitteilt, aber kein PHP Programm läuft. Ein PHP Programm wird ja erst dann gestartet, wenn es von einem Browser aus aufgerufen wird. Wenn du deine Anfrage automatisieren willst, kannst du im HTML Bereich einen Tag einfügen, der in bestimmten Abständen die Seite aktualisiert und dadurch Anfragen generiert und die Antworten dann entsprechend ausgibt. Was genau möchtest du denn machen?
Da hast du natürlich recht. Es sollte natürlich immer erst jemand die Seite aufrufen und wenn das geschieht sendet der Server eine Anfrage an den µC und der antwortet entsprechend. So ganz ist mir das selbst noch nicht klar, was ich genau mit dieser Funktion machen will. Ich schrieb ja schon, das ich im Moment an einer Alarmanlage bastel. Das ganze Projekt ist vom Plan her recht komplex. Es gibt mehrere (bis max. 8) intelligente Türschlösser von denen jedes 5 Alarmlinien hat und 3 Relais-Schaltausgänge. Die Schaltausgänge sollen aber auch vom Netz und von einem Timer aus aktiviert werden können. Außerdem habe ich mal noch einen Temperatursensor und einen EPROM für Logdateien mit eingebaut. Die Türschlösser sind alle über einen CAN-Bus mit einer Hauptsteuerung verbunden. Diese soll dann die Anbindung an den Server und an ein Handy haben. An die Hauptsteuerung will ich auch noch einen DCF77 hängen. Interessant als WEB-Anwendung wäre sicherlich, den Zustand der Schlösser abzufragen. Aber auch das Ein- und Ausschalten der Schaltstufen sowie das Programmieren der Timer sollte funktionieren. Weiterhin hatte ich mir vorgestellt die Log-Daten der EPROMS darüber abzufragen und bei einer Programmänderung die µC über den CAN-Bus neu zu flashen. Das wird sicherlich mein Meisterstück werden ;-) und wenn es jeweils funktionieren sollte, bin ich bestimmt Rentner... Aber egal ich finde darin eine Menge Betätigungsfelder wovon ich von einigen bisher noch sehr wenig Ahnung habe. Das ist aber nicht schlimm, da ich das Projekt für die nächsten 2-3 Jahre plane. Ist also keine Eile und man lernt ständig dazu. Und genau das ist es was mir an diesen Hobby so gefällt. Schönen Tag noch Sven
Hallo sven, Das hört sich ja sehr spannend an. Kannst dich ja nochmal melden wenn du Fragen zum PHP Programm haben solltest. Ich denke das Beispiel lässt sich recht einfach erweitern. Wo du grade von Handy sprichst: Ich habe ein PHP Programm geschrieben, dass mir SMS Nachrichten schickt wenn irgendwas passiert. Wenn dich das interessiert, stell ichs hier rein. Zum SMS verschicken muss man sich aber noch bei einem SMS Anbieter registrieren (zb. www.seriensms.de) (registrieren ist umsonst und eine sms kostet ca. 5 cent). Ich denke das könnte für Alarmanlagenzwecke recht interessant sein. Denkbar wäre das der Server eine SMS generiert wenn irgendwas passiert und dir eine Nachricht sendet (Achtung Achtung Einbrecher ;-)). Das Einbinden von Webcambildern und Audiostreams geht auch recht unkompliziert (Für die totale Kontrolle von Überrall sozusagen g ). Gruß geo
Hallo geo, daran habe ich noch gar nicht gedacht, dass man SMS ja auch über den Server verschicken könnte. Würde mich auf alle Fälle auch interessieren. Damit würde ich mir den dritten µC in meiner Hauptsteuerung sparen können. Ich kann derzeit nur PICs in Assembler programmieren und die meisten haben nur eine UART implementiert. Deshalb war mein ursprünglicher Plan, drei Controller über I2C zu verbinden damit ich drei UART bekomme (CAN-Bus, COM des Servers und Handy). So könnte ich einen Kontroller sparen. Allerdings hatte ich auch im Hinterkopf eine SMS an das Handy schicken zu können auf die je nach Inhalt der SMS die Hauptsteuerung irgendwelche Schaltaufgaben vornimmt. Na mal sehen , klingt auf alle Fälle interessant. Ich muss mich sowieso mal intensiver mit HTML und PHP beschäftigen... WEB-CAM hab ich zwar noch keine, daran gedacht hatte ich aber immer schon mal, sowas noch mit zu integrieren. Irgendwie hab ich das befürchtet, das mein Projekt so ausufert. Aber als erstes muss ich mal den Prototyp meines Türschlosses fertig stellen und das Programm dazu schreiben... Sven
Hallo geo, so groß wie die Freude gestern war, kämpfe ich heute wieder genau mit dem selben Fehler und bekomme es diesmal aber nicht hin. Gestern war der Fehler weg, nachdem ich /dev/ttyS0 die Rechte 777 verpasst habe. Heute (nach einem Neustart des Servers) ist der Fehler wieder da. Die Rechte von ttyS0 hatten sich wieder zurückgesetzt und ein chmod 777 bringt heute nichts. Der Fehler bleibt. Auser das der Server über Nacht aus war habe ich an dem gestrigen Zustand nichts geändert. Was klappt den hier nicht und wo muss ich suchen? Kenne mich mit Linux leider nur oberflächlich aus und hier Fehlen mir jetzt die Grundlagen. Hat einer einen Tip? Danke. Ach ja: Ein 'echo "Hallo" >/dev/ttyS0' auf dem Server klappt aber. Sven
Bei Linux kann ich dir leider nicht weiterhelfen. Ich nutze WinXP und das XAMPP-Apache-Mysql-PHP Paket. Vermutlich sieht das da mit den Zugriffsrechten daher auch anders aus. Mal gucken - ev. meldet sich hier noch jemand. Gruß geo
Das XAMPP hatte ich auch schon mal auf einem 2000er Server installiert. Ging eigentlich ganz gut. Ich wollte zwar ein wenig mehr in Richtung Linux machen, aber genau solche Probleme an denen man dann Tage lang sitzt um irgend eine Kleinigkeit hinzubekommen, treiben mich dann immer wieder zurück in die Hände von µ$ :-) Da werde ich wohl meinen 2000er Server wieder einschalten müssen und es mal damit ausprobieren. Das klappt dann sicher. Gruß Sven PS: Denkst du mal noch an das SMS-Script?
Hab die SMS- Beispieldatei mal angehängt. Nach Registrieren bei Seriensms.de in der Beispieldatei statt 11111111 die Handynummer eingeben, die man bei der Registrierung angegeben hat (Ist nicht die Empfängernummer sondern ne Art Benutzername)dann für xxxxxx das Passwort eingeben. Man erhält 23 Cent umsonst bei der Anmeldung - müsste zum Testen reichen. Gruß geo
Hallo Sven, hab jetzt kein Ubuntu, sondern SuSE. Hier genügt es, wenn Du Mitglied der Gruppe "uucp" wirst. Dann kann die serielle Schnittstelle problemlos genutzt werden.
Hallo, ich hab das Beispiel.php nun mal auf einen anderen PC unter WinXP, XAMPP und PHP5 ausprobiert. Doch leider tritt hier genau der selbe Fehler auf. Nun habe ich keine rechte Idee mehr. Was ich noch herausgefunden habe: Wenn ich vor der Ausführung des scripts den Status der COM mit "mode COM2: /status" abfrage, ist alles in Ordnung. Nach der Ausführung des Scripts bingt der mode Befehl den Fehler "Gerät COM2: ist momentan nicht verfügbar." Woran kann das liegen und wie kann ich den Fehler abstellen? Sven
Sven Stefan wrote: > Hallo, > > ich hab das Beispiel.php nun mal auf einen anderen PC unter WinXP, XAMPP > und PHP5 ausprobiert. Doch leider tritt hier genau der selbe Fehler auf. > Nun habe ich keine rechte Idee mehr. > > Was ich noch herausgefunden habe: Wenn ich vor der Ausführung des > scripts den Status der COM mit "mode COM2: /status" abfrage, ist alles > in Ordnung. Nach der Ausführung des Scripts bingt der mode Befehl den > Fehler "Gerät COM2: ist momentan nicht verfügbar." > > Woran kann das liegen und wie kann ich den Fehler abstellen? > > Sven Mh - komisch. Das scheint fast so als würde die Schnittstelle nicht mehr geschlossen. Wenn ich das Skript laufen lasse, ist die Schnittstelle nur für den Zeitraum nicht verfügbar in welchem die Schnittstelle geöffnet ist (Und das ist in der Regel nur der Zeitraum vom Klicken des Sendenbuttons bis zu dem Zeitpunkt 5 Sekunden später wenn die empfangenen Zeichen ausgegeben werden und die Schnittstelle wieder geschlossen wird). Ich würde mal spontan sagen dass irgendwas am Script nicht optimal ist, oder der PHP Interpreter das nicht so interpretiert wie es gedacht ist. Ich habe hier eine USB nach RS232 Schnittstelle am Laptop und mit der funktioniert es normal. Ev. gibt es da irgendeinen Konflikt mit der regulären Schnittstelle? Was ich auch komisch finde ist das es ja schon mal geklappt hat und nun nicht mehr. Vermutlich ist es doch das beste ein CGI Programm zu nutzen. PHP ist einfach nicht für hardwarenahe Programmierung gedacht. Aber es wäre natürl. schon schön wenn es immer klappen würde. Ev. meldet sich noch jemand zu dem Thema Gruß geo
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.