Webserver-Software

Fragen zu Programmiersprachen und Software für den Hive und die Propellerchips
Benutzeravatar
TuxFan
Beiträge: 1022
Registriert: So 6. Sep 2009, 11:18

Webserver-Software

Beitrag von TuxFan »

Hallo zusammen!

Kurze Vorgeschichte: Schon vor einigen Monaten, bevor ich überhaupt auf das Hive-Projekt stieß interessierten mich diese kleinen Webserver mit AVR. Ich war schon drauf und dran mir einen der Bausätze zu kaufen, nur um mal zu testen, was man mit diesen Teilen so anstellen kann. Irgendwie stolperte ich dann beim Aufräumen im Keller über meine alten ZX81-Hardwareaktivitäten. Wehmut an die alten Tage mit Basic-Programmierung übermannte mich :oops: und gleichzeitig die Neugier, was könnte man heute in dieser Richtung mit AVR's anstellen. Im Laufe meiner Internetsuche nach modernen Basic-programmierbaren Einplatinen-Computern stieß ich im microcontroller.net auf den "AVR-ChipBasic2 - BASIC-Computer mit ATMega 644" und im laufe dieses Thread stieß ich dann auf den Link zum Hive.
Den Hive hatte ich dann recht schnell im Herbst 09 bis auf die Magjack-Buchse aufgebaut und zum Laufen gebracht. Im Februar nach längerer Pause, angefüllt mit anderen Aktivitäten, hab ich dann dem Hive endlich den Netzzugang spendiert. Beim Testen der Ethernet-Schnittstelle fiel mir dann wieder der Wunsch nach einem kleinen Webserver ein.
Ha....den hab ich doch vor mir liegen :idea:
Alles was ich für den Webserver benötige ist auf der Hive-Platine schon implementiert.
Prozessor,EEProm, Ethernet-Schnittstelle und SD-Card sowie Stromversorgung.
Was mir noch fehlt : eventuell RTC und Debug-Ausgabe, aber letzteres müßte sich auch über Bellatrix bewerkstelligen lassen und natürlich Software.........
Bei der Suche nach geeigneter Software kommt man natürlich am Treiber von Harrison Pham und seine Aktivität mit PropTCP und PropICQ sowie auch der ybox2 und dem darin implementierten Webserver nicht vorbei. Bei letzterem muß aber so einiges an Änderungen im Programm gemacht werden....... :?

Gut daß noch andere auf die Idee mit dem Webserver gekommen sind und für mich schon erfreulich weit mit der benötigten Software sind. Meine Spin-Fähigkeiten sind erst sehr gering und einiges an benötigtem Hintergrundwissen fehlt leider. :oops:

Im Parallax-Forum gibt es den Thread "PropTCP Beta" von Harrison Pham.
http://forums.parallax.com/forums/defau ... 5&m=408206

Auf der zweiten Seite gibt es eine kurze Diskussion zwischen User "Harrison" und User "Patricklab" über die Webserversoftware von "Patricklab". Diese wird, soweit ich das verstehe, fehlerbereinigt von "Harrison" unter "cust http.zip" angehängt. In dem zip-File sind alle benötigten Treiber und Programme enthalten.

Wenn man dann noch die Korrektur von "Patricklab" im darauffolgenden Post nachvollzieht, muß man nur noch die Propeller-Pinbelegung für ENC28J60 und SD-Card auf den Hive umändern und Bellatrix und Regnatrix mit prop_disable.spin "ausschalten" und nicht vergessen, die IP-Adressen auf das eigene Netz anpassen !

Wenn man den Hive nun startet und über einen Browser die IP_Adresse des Hive anpricht erscheint eine Liste der Dateien auf der SD_Card.

Wenn man die SD-card mit einigen Bild-Dateien und html-Dateien beschreibt, kann man schon einiges ausprobieren.
Aufruf der Dateien erfolgt mit IP_Adresse/Dateiname (alte 8.3-Namenslänge) im Browser.
Bilder (ca. 70kB), sofern man sie direkt aufruft, werden recht zügig angezeigt. Wenn man eine htm(l)-Datei mit mehreren Bildern aufruft dauert das im Verhältnis schon erheblich länger. Webseiten, bei denen mit Javascript zwei Frames geändert werden müssen, funktionieren garnicht. Das liegt wahrscheinlich am limitierten SD_Card-Zugriff, eine Datei zur gleichen Zeit ist erlaubt.

So das war ein erster Einblick. Ich muß da auch noch tiefer in die Programme eindringen um mehr damit machen zu können. Aber als Anfang sehe ich das erstmals doch recht positiv für meinen geplanten dualen Webserver. 8-)

Gruß
Günter

PS.: Ich hab mal die Compiler-Info angehängt.
Dateianhänge
web_software_1.png
Wunder gibt es immer wieder.......
Benutzeravatar
drohne235
Administrator
Beiträge: 2284
Registriert: So 24. Mai 2009, 10:35
Wohnort: Lutherstadt Wittenberg
Kontaktdaten:

Re: Webserver-Software

Beitrag von drohne235 »

Klasse Geschichte. Bei 2800 freien Longs kann man noch locker das Businterface anfügen, um den Webserver an das restliche System anzubinden um zum Beispiel Zugriffe auf dem Monitor zu protokollieren oder zu steuern. Und wenn ich die Bootroutine für Administra fertig hab, dann kann man den Webservercode bequem aus Regime heraus vom Laufwerk starten. Kannst ja mal den angepassten Code für Administra posten - das ist eine gute Basis für Experimente!

Und echt noch massig Platz im Chip: So könnte man auch kleine 1-Propeller-Webserver basteln, mit denen man noch massig was schalten und walten könnte, da man ja dann auch noch viele Ports frei hat.
"Ob Sie denken, dass Sie es können, oder ob Sie denken, dass Sie es nicht können - in beiden Fällen haben Sie recht." Henry Ford
Benutzeravatar
TuxFan
Beiträge: 1022
Registriert: So 6. Sep 2009, 11:18

Re: Webserver-Software

Beitrag von TuxFan »

Hallo!
drohne235 hat geschrieben:.....Kannst ja mal den angepassten Code für Administra posten - das ist eine gute Basis für Experimente!...
Ja, kann ich machen aber heute klappt das nicht mehr.
drohne235 hat geschrieben:.....Und echt noch massig Platz im Chip: So könnte man auch kleine 1-Propeller-Webserver basteln, mit denen man noch massig was schalten und walten könnte, da man ja dann auch noch viele Ports frei hat.
Just so was ähnliches wollte ich machen, ich werde da mal einen neuen Thread aufmachen, der die Hardware beschreibt. Im Prinzip wird es die Reduzierung des Hive auf die oben benutzten Komponenten. Gleichzeitig mit 1, 2 oder 3 kleinen Zusatzplatinen kann daraus auch ein Experimentiersystem werden. Ein passendes schönes Alu-Gehäuse hab ich auch schon dafür im Auge. Entwicklung wird mit Eagle-Freeware erfolgen.

Gruß
Günter
Wunder gibt es immer wieder.......
BorgKönig
Beiträge: 598
Registriert: So 24. Mai 2009, 11:24

Re: Webserver-Software

Beitrag von BorgKönig »

Wenn man dafür nicht viel drumherum braucht, dürfte das sogar auf Lochraster Platinen möglich sein...
Benutzeravatar
TuxFan
Beiträge: 1022
Registriert: So 6. Sep 2009, 11:18

Re: Webserver-Software

Beitrag von TuxFan »

Hallo!
BorgKönig hat geschrieben:Wenn man dafür nicht viel drumherum braucht, dürfte das sogar auf Lochraster Platinen möglich sein...
Spannungsversorgung, Kondensatoren, Widerstände, Quarze, Propeller , ENC28J60 + EEProm (+ RTC) haben kein Problem mit Lochraster, wohl aber Magjack und SD-Card-Adapter.
Wenn die RS232-Schnittstelle mit drauf soll, wird entweder die Mini-DIN-Buchse oder die Sub-D-Buchse Probleme bekommen
Wenn ich die Platine(n) fertig habe kann man ja mal weitersehen. Aber bis dahin kann man ja noch mit dem Hive ausreichend experimentieren.

Gruß
Günter

PS.: Bei Sparkfun gibt es sogenannte Breakout Boards mit microSD-Card-Adapter (BOB-00544), SUB-D 9pol (BOB-08552), RJ45 Adapter(BOB-00716 allerdings ohne LEDs) sowie ein komplettes Ethernet Interface Board - ENC28J60 (BOB-00765).
Die Fa. Watterott.com (DE) kann laut ihrer Webseite innerhalb 7-10Tage alle Sparkfun-Artikel besorgen.
Zuletzt geändert von TuxFan am Mo 15. Mär 2010, 21:16, insgesamt 1-mal geändert.
Wunder gibt es immer wieder.......
Benutzeravatar
drohne235
Administrator
Beiträge: 2284
Registriert: So 24. Mai 2009, 10:35
Wohnort: Lutherstadt Wittenberg
Kontaktdaten:

Re: Webserver-Software

Beitrag von drohne235 »

Der Hive ist für Experimente ideal. Ich vermute auch, dass andere Drohnen Interesse an dieser Thematik haben - und es ist doch schön, wenn mann nicht immer bei Null anfangen muß.

http://picasaweb.google.de/drohne235/Pi ... 8039028098

Bei den Steckverbindern die nicht direkt ins Raster einer Lochrasterplatine passen, muß man immer ein wenig improvisieren. Hier hab ich z. Bsp. einfach eine VGA-Buchse mit Lötkelchen benutzt und die untere Hälfte einer Griffschale direkt auf die Rasterplatine geschraubt. Das war letztlich sogar richtig robust, da man manchmal an so einem Stecker einen beachtlichen Hebel hat.

http://picasaweb.google.de/drohne235/Pi ... 8988442034

Die SD-Connektoren bekommt man ganz gut auf das Raster vermittelt, wenn man die Zusatzkontakte (Schreibschutz/Cardpresent) nicht benutzt.

Was soll der Webserver nachher machen? Gibt es da konkrete Pläne?
"Ob Sie denken, dass Sie es können, oder ob Sie denken, dass Sie es nicht können - in beiden Fällen haben Sie recht." Henry Ford
Benutzeravatar
TuxFan
Beiträge: 1022
Registriert: So 6. Sep 2009, 11:18

Re: Webserver-Software

Beitrag von TuxFan »

Hallo!
drohne235 hat geschrieben:Der Hive ist für Experimente ideal. ..................
Die SD-Connektoren bekommt man ganz gut auf das Raster vermittelt, wenn man die Zusatzkontakte (Schreibschutz/Cardpresent) nicht benutzt.....
Ich hab meinen vorgehenden Post noch etwas erweitert bzgl. Sparkfun-Breakout-Boards. Das dürfte für manche interessant sein und so manches Problem mit Lochrasterplatinen beseitigen.
drohne235 hat geschrieben:....Was soll der Webserver nachher machen? Gibt es da konkrete Pläne?
Ja derer viele.

1. Der größte Wunsch wäre sicherlich eine private Webseite. Ob das aber die Software mit einiger Optimierung möglich macht ? .....muß aber nicht unbedingt sein. ;)
2. Was mich aber erstmal interessiert ist die Sammlung und Aufarbeitung von Wetterdaten (Temperatur, Luftdruck, Luftfeuchte, Licht, Regen etc.) und dann Raumklimadaten (Temperatur, Luftfeuchte etc.). Das ganze soll dann über Intra- und/oder Internet mit Mobilgeräten (Handy,UMPC) oder Festgeräten (PC,Hive) abrufbar sein. Die Sammlung der Daten soll drahtlos von den einzelnen Sensoren oder Sensorgruppen übermittelt werden. Auch hier gibt es zum Glück für mich Vordenker, die hinsichtlich Soft- und Hardware das meiste erledigt haben. :D
Gut, das Ganze könnte man auch mit einem PC machen aber der braucht erheblich mehr Strom als ein Propellerchip oder die akkubetriebenen Sensoreinheiten, die nur beim Messen und Senden einige mA und sonst im Schlafmodus µA verbrauchen.
3.+ mir fällt da eigentlich immer was neues ein aber erstmal etwas fertigmachen und dann Schritt für Schritt weitersehen.

Gruß
Günter
Wunder gibt es immer wieder.......
Benutzeravatar
drohne235
Administrator
Beiträge: 2284
Registriert: So 24. Mai 2009, 10:35
Wohnort: Lutherstadt Wittenberg
Kontaktdaten:

Re: Webserver-Software

Beitrag von drohne235 »

...aber erstmal etwas fertigmachen und dann Schritt für Schritt weitersehen.
Jo, genau so sehe ich das auch und so macht es auch am meisten Spaß. :)

Zu Sparkfun: Ich hab letztens gelesen, dass es deren Produkte jetzt auch bei Elmicro zu guten Preisen gibt. Mußt du mal schauen, ist vielleicht bzgl. Handling und Versandkosten günstiger:

http://elmicro.com/de/sparkfun.html
"Ob Sie denken, dass Sie es können, oder ob Sie denken, dass Sie es nicht können - in beiden Fällen haben Sie recht." Henry Ford
Opreuss
Beiträge: 59
Registriert: Do 28. Mai 2009, 18:09

Re: Webserver-Software

Beitrag von Opreuss »

Ich blättere hier gerade in "Programming And Customizing The Multicore Propeller Microcontroller - The Official Guide".

Darin gibt es einen Artikel über Netzwerkanwendungen für den Propeller. Leider bezieht er sich auf das HYDRA Game Development Kit mit der EtherX Add-in Card. Auf dieser Karte ist der W5100 Ethernet Chip verbaut, der über einen TCP/IP-Stack verfügt. Damit kann also auf den fertigen Stack zurück gegriffen werden.

Für einen kleinen Server mit mit einem Propeller würde sich doch eine ähnliche Lösung anbieten, oder verstehe ich das falsch?

Oliver
Am Anfang schuf Gott /dev/null und /dev/random. Und die /dev/random war wüst und leer, und es war finster...
Opreuss
Beiträge: 59
Registriert: Do 28. Mai 2009, 18:09

Re: Webserver-Software

Beitrag von Opreuss »

Zu Sparkfun: Ich hab letztens gelesen, dass es deren Produkte jetzt auch bei Elmicro zu guten Preisen gibt. Mußt du mal schauen, ist vielleicht bzgl. Handling und Versandkosten günstiger:

http://elmicro.com/de/sparkfun.html
Ich habe mir gerade die Preisliste angesehen. Sie haben da einen recht "optimistischen" Dollarkurs angewendet bzw. lassen sich ihren Aufwand sehr großzügig vergüten. Da lohnt es sich auf jeden Fall, genau nachzurechnen.
Am Anfang schuf Gott /dev/null und /dev/random. Und die /dev/random war wüst und leer, und es war finster...
Antworten