Forum: Mikrocontroller und Digitale Elektronik Einfacher und billiger Webserver mit AtMega32


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Joerg1978 (Gast)


Lesenswert?

Hi,

ich bin neue in Sachen Microcontroller bauen und programmieren. Habe
mich jetzt ca. 2 Std. durchgelesen, jedoch habe ich zu dem Webserver
noch ein paar Fragen.

1. Ist es möglich damit eine Art Bilderserver für die Homepage zu
machen.
2. Braucht man dazu dann eine feste IP oder geht das auch mit einer DNS
Adresse.
3. für die aktualisierung der WEB-Adresse benötige ich ein Programm
kann man das auf die SD Karte schieben.

Cu
Jörg

von Werner B. (Gast)


Lesenswert?

Bildserver - Ja, aber laaaaangsam und ohne MMC Karte extrem begrenzter
Speicher.

Feste IP ist notwendig - kann auch "geNATtete" Adresse sein.
Erklärung zu dem NAT (Network Address Translation): Manche DSL-Router
bieten die Möglichkeit einem eingehenden Port (z.B. 80 für HTTP) auf
der privaten Seite eine feste, private IP Adresse (z.B. 192.168.xx.yy)
zuzuordnen. d.h. falls Du deinen DSL Router bei einer DYNDNS (z.B.
dyndns.org) registrieren lässt, kannt Du alle eingehenden
Verbindungsanforderungen auf Port 80 an einen (festen) internen Host am
Port 80 weiterleiten lassen. Genaueres: Bitte googeln und Handbuch zu
Deinem Router.

SD Karte geht soweit ich mitverfolgt habe nicht so richtig, aber MMC
Karten!
Um vor Fehlinvestitionen geschützt zu sein am besten mal im Forum
"Codesammlung" den Thread "MMC/SD ansteuern mit AVR" verfolgen.

Viel Spass

Werner

von Joerg1978 (Gast)


Lesenswert?

Hi Werner,

also besser gesagt ist der Webserver nur als Server für Hompage ohne
Bilder gedacht oder verstehe ich das falsch.
Die SD oder MMC Karte ist also nur für die Homepage Datei da oder?

Cu
Jörg

von Jochen (Gast)


Lesenswert?

Hallo Jörg,

das verstehst du richtig, so ist es gedacht. Du könntest zwar auch
Bilder darauf speichern, aber es macht praktisch nicht viel Sinn:
- du brauchst eine MMC Karte, sonst passen kaum Bilder drauf
- das wäre wirklich seeehr langsam, und genau das macht bei einem
Bilderserver keinen Sinn
- es gibt im www kostenlose Dienste, wo man seine Bilder hochladen kann
um sie in Webseiten oder ebay Auktionen einzubinden

Gruß,
Jochen

von Joerg1978 (Gast)


Lesenswert?

Danke Jochen

Kannst du mir einen guten Bilderserver empfehlen?

von Maximilian (Gast)


Lesenswert?

ich weiß zwar nicht was du unter einem 'bilderserver' verstehst, aber
guten kostenlosen webspace bekommst du bei funpic.de
dort kannst du an sich so viele bilder hochladen wie du willst...

von Thomas B. (Gast)


Lesenswert?

Hallo

Hab mir den ISA-Ctrl Webserver von H.Buss zusammengebaut. Als
Netzwerkkarte habe ich eine Planet mit RTL8019AS Chip und Jumper. Wenn
ich Adresse 300 und IRQ auf 9 einstelle erhalte ich ERROR(2) bei jeder
anderen Adresse erhalte ich ERROR(195). Im PC funktioniert die Karte
einwandfrei. Weis jemand was das Probem sein könnte ?

Gruss Thomas

von Gustav Kesseler (Gast)


Lesenswert?

Hallo

Zu Error(2) hab ich folgendes zu berichten (hatte ich auch)

Irq und adresse waren richtig eingestellt aber

Ich hatte meinen mega32 mit bascom programmiert und die Fuses falsch
eingestellt. Nachdem ich mir ein paralleles Programmierekabel für Pony
prog hergestellt habe und mit pony programmiert hatte wobei die Fuses
nach einem bild von ich glaube aus mikrocontroller.com oder so
eingestellt hatte funktionierte der server und hat die Netzwerkkarte
erkannt.

MfG

von Thomas B. (Gast)


Lesenswert?

Hallo

Lag an den Fuses. Danke für den Tipp. Webserver läuft nun mit ausnahme,
dass die SD karte noch nicht richtig erkannt wird. gleiches Problem wie
weiter oben berits beschrieben. Aber ich Hoffe / Glaube das ich auch
das noch in den Griff bekomme.

Gruss Thomas

von Markus (Gast)


Lesenswert?

Hi!

Nachdem hier scheinbar die Post abgeht und mein Thread verkümmert,
möchte ich mein Anliegen einfach mal an dieser Stelle vortragen.

Hallo an alle!

Mein RS232-LAN-Modul ist mittlerweile in der Lage Daten so zu
versenden, wie vorgesehen. Leider funzt das erst mit einer Derekten
Verbindung (gekreuztes Patchkabel vom Modul zum PC). Ist ein Hub- oder
höherwertihe Netzwerktechnik dazwischen geschaltet, so werden keine
Daten empfangen. Stattdessen zeigt mir der Hub total viele Kollisionen
an.

Dazu muß ich segen, daß ich den CS8900a im 8-Bit-I/O-Modus betreibe
und
nur warte, bis er ein Rdy4Tx-Flag gesetzt hat.

Das Signal, welches den Ethernetkontroller verläßt wurde mittels eines
Oscar's mit ein anderes Signal verglichen und schaut gut aus.

Wer kann mir weiterhelfe?

Megadanke im Voraus!!

Gruß Markus

von Holger B. (Gast)


Lesenswert?

Hallo!

@Thomas B.:
Die SD-Karte funktioniert bei mir nur, wenn ich das Programmierkabel
abziehe (ist der gleiche Port) und danach das Board kurz spannungsfrei
schalte.
Manchmal gibt es auch Kontaktschwierigkeiten bei der
"Stiftleisten-Lösung".

Gruss,
Holger

von Thomas B. (Gast)


Lesenswert?

Hallo

Hab nun eine 512 MB SD Karte von San Disk eingesetzt die funktioniert
wunderbar gegenüber der 16MB von Panasonic. bei mir funktioniert die
Karte auch nur bei nicht angeschlossenem Programierkabel.

PS: Habe bei mir eine SD Kartenhalterung angelötet.

Gruss Thomas

von uli (Gast)


Lesenswert?

Hallo,

Mit San Disk habe ich bisher die besten Erfahrungen gamacht! Ist normal
das im SD/MMC Kartenbetrieb der Progstecker entfehrt werden muß!

Mfg Ulrich

von kami (Gast)


Lesenswert?

Hi Thomas B.

Kannst du mir mal sagen wo du die SD-Kartenhalterung her hast würde mir
auch gerne so eine einbauen.

Mfg

Kami

von Thomas B. (Gast)


Lesenswert?

Hallo

Hab meine SD Kartenhalterung von www.farnell.ch ( www.farnell.com )
Best.-Nr.: 4381609 ist leider eine SMD Kartenhalterung. Hab einfach die
überflüssigen Anschlüsse die nicht im gleichen Pin Raster waren mit
einer Zange aus den Stecker gezogen und ihn dann Stehend auf den Pint
gelötet.

Gruss Thomas

von Holger B. (Gast)


Lesenswert?

Achja, kleiner Tip:
Bei Reichelt gibt es Steckkartenverbinder:
STECKER EC20 (0,19EUR)
In die passt eine SD-Karte sehr gut rein. Zusammen mit einem kurzen
Flachbandkabel (20-Polig) und einem Pfostensteckverbinder für
Flachband:
PFL 20 (0,18EUR) und
STIFTL 2 X 10G (0,13EUR)
.. hat man eine saubere und billige Lösung.
Auf der Leiterkarten von meinem Webserver habe ich extra dafür die
Löcher neben der SD-Aufnahme frei gelassen (da hat sich mancher sicher
schon mal drüber gewundert). So passt das alles wunderbar ohne
Kontaktschwierigkeiten zusammen.

Gruss,
Holger

von Joachim B. (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

ich habe den Webserver von Holger nachgebaut und bin begeistert.
Die MAC-Adresse lade ich aus der Netzwerkkarte.
Die Serversoftware habe ich erweitert, um damit die Uhr zu stellen und
die LED zu schalten.
Als nächstes soll ein one-wire-bus angesteuert werden.
Hat dazu schon jemand etwas realisiert?

Anliegend ein Image ohne SD-Kartenbetrieb aber mit 93LC46-Dump.

Gruß,
Joachim

von Bitschubser (Gast)


Lesenswert?

Hallo an alle,

ich habe mir eine Platine von Holger bestellt (v1.0) und wollte eben
damit beginnen, diese zu bestücken. Aber die RS232-Schnittstelle
scheint spiegelverkehrt zu sein, oder bin ich bloss zu doof?

Sowohl der Aufdruck als auch die Leitungen sind auf der Platine
spiegelverkehrt zu dem, was einem (auflötbaren) SubD-Stecker steht.
Dort wo 1 sein sollte, ist aber die 5. Das würde erst passen, wenn ich
den Stecker unter die Platine löte. Aber aus dem Bild von Holger
schliesse ich, dass es ja gehen muss!

Bin ich der Erste, dem das auffällt, oder einfach nur zu doof?

von kami (Gast)


Lesenswert?

Hi

Also ich habe mir auch die Platine selber bestückt und bei sieht die
genauso aus wie auf Holgers Fotos und sie funktioniert auch 100 %
vielleicht hast du die einen falschen Stecker bestellt. Zeig doch sonst
mal ein Foto.

Cu Kami

von Ulrich Radig (Gast)


Lesenswert?

Hallo @Bitschubser

Du hast Buchse mit Stecker vertauscht!
Das Board benutzt eine BUCHSE Female!! Kein Stecker!

Mfg Ulrich

von Bitschubser (Gast)


Lesenswert?

Hallo Uli,

Danke für die schnelle Reaktion.
Natürlich habe ich einen STECKER, da eigentlich immer (?) Stecker
verwendet werden. Aber das erklärt es natürlich.

Da muss ich mal wieder Reichelt bemühen...

Danke.

von Userdvb (Gast)


Lesenswert?

Hallo @User

Gibt es eine möglichkeit über einen freien Port des Webservers eine
Html Seite zu steuern oder zu verändern.
zB. möchte ich einen Taster auf dem Board anbringen der mir eine Html
Seite auf einer MMC Karte ein Hacken in ein definiertes Feld setzt oder
eine neue Seite startet.

Zur MMC Karte habe ich gelesen das Ulrich SD Karten im Einsatz hat bei
mir funzen nur MMC. Habe es mit unterschiedlichen Karten getestet aber
ohne Erfolg. Hat jemand eine Lösung.

von Nachbauer (Gast)


Lesenswert?

Hallo

tolles Projekt! Ich habe auch den Webserver von Holger nachgebaut und
er läuft sogar. Keine Kunst bei der Vorlage. Nochmals vielen Dank an
Holger.

@Joachim B. ich finde das toll, dass Du den Server erweitert hast und
den Code (HEX) zur Verfügung stellst. Du hast ja "offen" gelegte
Software benutzt und stellst Deine Erweiterungen nur in hex zur
Verfügung..... mmmmmHHHH.
...
>Als nächstes soll ein one-wire-bus angesteuert werden.
>Hat dazu schon jemand etwas realisiert?

Ich habe die Software von Martin THOMAS mit 5 DS18S20 laufen
>http://www.siwawi.arubi.uni-kl.de/avr_projects/tempsensor/index.html
Funzt problemlos. Vielen Dank Martin und alle Anderen die daran
mitgewirkt haben.
Dort gibt es Source Code und nicht nur Images..

von Joachim B. (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Nachbauer,

vielen Dank für den Hinweis zu dem DS18S20-Projekt.
Den Source-Code meiner Erweiterungen kannst Du gern haben.
Meine Änderungen sind jedoch nicht besonders schön (C-like),
da ich in C nicht so geübt bin.

Was mir noch fehlt ist ein möglichst kompakter DCHP-Client.
Es würde mir schon ausreichen, wenn die Schritte
discover - lease offer - request und ack funktionieren.
Auf das aktualisieren zur Ablaufzeit würde ich erstmal mangels Kalender
verzichten.

Gruß
Joachim

von Userdvb (Gast)


Lesenswert?

Vielen Dank für deinen Beitrag

Das ist das was ich gesucht habe.

nochmals vielen Dank und mach so weiter.

von Wolfgang Wagner (Gast)


Lesenswert?

Hallo,

bin mit Begeisterung auf dieses Projekt gestoßen. Da ich zwar im
Bereich Elektronik arbeite (HF-Technik) aber bisher noch keine
Erfahrung mit der Programmierung von microcontrollern gesammelt habe,
habe ich ein paar Fragen:
Ich möchte mit dem Webserver Zustände erfassen und per Netzwerk
weiterleiten, außerdem einige Schaltvorgänge auslösen.
Wieviele Bits stellt dieser webserver hierzu bereit? Wo finde ich diese
in der Schaltung?
Wie löse ich das Programmierungstechnisch? Muß ich dazu die Hexfiles
editieren?
Gibt es irgendwo Beispiele dazu?

Gruß
Wolfgang

von Elektrikser (Gast)


Lesenswert?

Hallo,

wieviele Eingänge sollen es denn sein? Der Atmega32 ist ziemlich voll,
wenn du die MMC-Karte mit betreibst. Es gibt aber das Projekt von
Ulrich Radig mit einem ATmega128. Da wären dann drei Bytes zur
Verfügung. Dir wird allerdings nix anderes übrig bleiben und das
C-Programm des ATmegas zu ergänzen und dann neu zu compilieren.

Gruß Elektrikser

von Wolfgang Wagner (Gast)


Lesenswert?

Mir geht es in erster Linie darum eine Schnittstelle zum Netzwerk zu
bekommen, also Bits einlesen und ausgeben. Ich brauche keine aufwendige
html Seite. Telnet wäre auch ok. Ich würde per telnet den webserver
abfragen oder Anweisungen schicken. Sowas habe ich bereits mehrfach in
VB realisiert.
Das sollte doch irgendwie zu realisieren sein, oder.
Wie gesagt meine Kenntnisse in mc Programmierung sind bescheiden aber
ausbaubar. VB Programmierung, auch tiefergehend in Richtung Netzwerke,
kann ich ganz gut.

Bin für jede Hilfe dankbar.

Gruß
Wolfgang

von Joachim B. (Gast)


Lesenswert?

Hallo Wolfgang,

ich kann Dir die Hardware von Holger Buss empfehlen. Für 10€ erhälst Du
eine professionelle Leiterplatte, die schnell zur Funktion zu bringen
ist.
Auf einer 14-poligen Stiftleiste findest Du neben den
Betriebsspannungen 3 analoge und 6 digitale Ports des Prozessors.
Evtl. reicht das ja für deine Anwendung.

Die Software ist in C geschrieben. Wer programmieren kann, sollte sich
das schnell aneignen können.

Gruß
Joachim

von Wolfgang Wagner (Gast)


Lesenswert?

ja, hört sich gut an. Wo kann ich die Platine bestellen. Wo bekomme ich
die Software?

von Joachim B. (Gast)


Lesenswert?

die Platine gibts bei:  http://www.mikrocontroller.com/.
Die Software gibt es dort ebenfalls, oder aber bei:
http://www.ulrichradig.de/.
Ich habe die Software etwas erweitert (siehe in diesem thread
am 30.06.2005 21:37).

Gruß Joachim

von Gerd Truss (Gast)


Lesenswert?

Ich kämpfe seit Tagen mit dem Webserver von Ulrich und habe das Problem
das ich Schaltzustände (EIN/AUS)habe die ich im Webserver anzeigen
lassen möchte.
Über das Web geht das mit den Sourcen von Joachim B.
Aber ich will das mir die Webseite anzeigt wenn ich ein LED von aussen
einschalte(zb. über einen Taster)hat da jemand eine Idee oder kann mir
jemand dabei helfen ??

von Joachim B. (Gast)


Lesenswert?

Hallo Gerd,

ich verstehe das so, dass Du von einem I/O-Pin des Prozessors einen
Schalter nach Masse legst. Den Pin definierst Du als Eingang mit
internem Pull-Up-Widerstand.
In der Datei tcp.c findest Du die Ausgabe der Variablen. Das sieht etwa
so aus:
if (pgm_read_byte(pointer) =='h') dec_out (buffer,hh); // Stunden
einfügen
Du kreierst eine neue Variable und liest vor der Abfrage auf diese
Variable das Signal vom I/O-Pin in die Variable ein.

Nun mußt Du noch die HTML-Seite mit einer Marke "%VA?" erweitern, so
dass die neue Variable auch in eine HTML Seite eingefügt und damit
ausgegeben wird.

So sollte das funktionieren.

Gruß
Joachim

von Gerd Truss (Gast)


Lesenswert?

Hallo Joachim

Danke für deine Antwort. Ich werde es gleich mal versuchen, könnte
allerdings ein wenig dauer weil ich erst mit C Programmieren angefangen
habe.

Gerd

von Mark Hämmerling (Gast)


Lesenswert?

Salve,

an dieser Stelle sollte ich mich mal einschalten.

Ich hab den Webserver soweit erweitert, daß man damit Werte ausgeben
kann (über spezielle Tags im HTML-File), und auch Werte per Browser
(GET-Methode) verändern kann.
Bei der Ausgabe kann man Zahlenwerte direkt ausgeben, oder auch
bedingte Ausgaben machen, die dann erscheinen, wenn ein Bit in einem
Wert gesetzt ist. Genauso kann man auch Bits per GET verändern.

Würde mich freuen, wenn der Code evtl. sogar in die "offzielle"
Version einfließen könnte, weil er Anzeige und Manipulation von Werten
wirklich sehr einfach macht.

Ich kann auch eine kleine Demo beilegen. Einfach auf die SD kopieren
und ankucken, wie es funktioniert.

Den Code muß ich nachher erstmal auseinanderpflücken. Melde mich dann
nochmal.

Mark

von Gerd Truss (Gast)


Lesenswert?

Hallo Mark Hämmerling

Lege bitte doch dein Demo dabei.Würde es mir gerne mal anschauen.

Gruss Gerd

von Mark Hämmerling (Gast)


Angehängte Dateien:

Lesenswert?

Salve,

hier also mein Code, inkl. Demo (so sollte es im Garten mal installiert
werden). Einfach die Dateien in "sd-card" auf eine Karte schieben und
diese dann mit dem neuen Code verwenden.
Der Code basiert noch auf 1.36. Ich nehme an, das ist schon etwas
veraltet. Lag halt ne Weile bei mir rum. ;(
(Anpassen der MAC- und IP-Adressen in main.c nicht vergessen!)

Das Format der "LFO"-Dateien ist normales HTML. Der Unterschied ist,
daß dort Tags (eine Art Server-Sided-Includes) interpretiert werden.

Prinzip: Es gibt einen globalen Datenbereich, der word-, byte- und
bitweise adressiert werden kann (sowohl beim Ausgeben, als auch beim
Setzen von Werten).

Adressierung:
als Word: "wN": Word an 16bit-Adr. N
als Byte: "bN": Byte an 8bit-Adr. N
als Bit:  "bN.M": Bit M von Byte an 8bit-Adr. N

Tag-Format in LFO-Dateien:
{wN:FORMAT}
{bN:FORMAT}
{bN.M:TRUE:FALSE}

wobei:
N,M: Adresse (s. oben)
FORMAT: sprintf-Formatstring, ohne führendes "%"
TRUE: Ausgabe im Fall, daß bN.M gesetzt ist
FALSE: Ausgabe im Fall, daß bN.M nicht gesetzt ist

Beispiele:
{w1:04u} gibt Word 1 (= Bytes 2-3) im Format %04u aus
{b5:u} gibt Byte 5 im Format %u aus
{b14.3: checked:} gibt " checked" aus, wenn Bit 3 von Byte 14 gesetzt
ist, sonst nichts

Werte per CGI manipulieren:
Per Formular oder Adresszeile können die Werte auch verändert werden.
Die Adressierung geschieht wie oben beschrieben. Reales Beispiel aus
der Demo:
http://avr/?b2=95&b3=90&b4=85&b6.0=0&b6.0=1&b6.1=0&b6.1=1&b5=4&b6.3=0&b6.3=1

Ach ja, ein SMTP-Client mit AUTH-Server (für neugierige Mailserver wie
exim) ist auch noch dabei.
Die zu versendenden Mails liegen als Dateien auf der SD-Card. Der
Versand wird durch Setzen bestimmter Bits im Datenbereich getriggert
(und daraufhin die Mail mit der entsprechenden Nummer im Dateinamen
versandt). Also z.B. auch einfach per Webfrontend (s. Demo), oder durch
die Anwendung, die auf den globalen Datenbereich zugreift.

Meine Idee war die, daß ich diesen Datenbereich mit einem extern
angeschlossenen Steuersystem (der Server selbst hat für meinen Zweck
einfach nicht genug I/Os übrig) synchronisiere - so daß der
Datenbereich in beiden Geräten liegt und beide so damit arbeiten können
(lesend und schreibend), als liefe die entsprechend gegenüberliegende
Anwendung im selben System.

Der überall verwendete Name "LittleFeather.org" war mein Projektname
für den neuen Webserver (also inkl. jener CGI-Features). Wären die
Ressourcen im Mega32 nicht so knapp (insb. ärgert mich, daß ein Resend
aufgrund mangelnden RAM nur durch erneutes Zusammensetzen des
Sendepuffers zu realisieren wäre), hätte aus der Idee vielleicht was
werden können. Verlorene Pakete vom AVR aus (ist im LAN noch nicht
vorgekommen) würden sich sicherlich fatal auswirken.
Andererseits gibt's solche Projekte ja wirklich wie Sand am Meer. Wie
sieht's dort eigentlich mit CGI aus? Hat da jemand einen Überblick?

Kleine Anmerkung zur Demo: Manche Browser haben scheinbar ein Problem
mit Tabellenhöhen von "0". Z.B. Firefox stellt die Höhe dann auf
undefiniert - so daß bei Füllstand und Ventilpegeln von "0" die
Trennlinie bzw. Markierung in der Mitte liegt.

Fragen und Anmerkungen können ja hier diskutiert werden.
Insbesondere würde mich Ulrichs und Holgers Meinung (über eine
allgemeine Übernahme der Features) interessieren. :)

Mark

von Ulrich Radig (Gast)


Lesenswert?

Hallo Mark,

Super Sache! Ich werde gerne deinen Code auch auf meiner Seite
einstellen. Wenn du interresse hast kanst du auch das Projekt auf
meiner Seite gerne weiterführen. Ich verfolge zurzeit ein neues Projekt
(einen kleinen Webserver auf uClinux basis). Aus diesem Grund habe ich
dieses Projekt ein wenig vernachlässigt.

Mfg Ulrich

von Michael Haslhofer (Gast)


Lesenswert?

Hi @All,

ich hätte da eine Frage. Hat schon jemand eine i2c Routine geschrieben,
mit der man am Webserver z.B. ein Temperatur einlesen kann, von z.B.
einem LM75?

Mfg Michael

von Joachim B. (Gast)


Lesenswert?

Hallo Michael,

ich beschäftige mich damit den one-wire-bus von Dallas anzusteuern.
Damit kann ich dann die digitalen DS1820-Thermometer ansteuern.
Ich bevorzuge den one-wire-bus, weil die zulässigen Leitungslängen
gegenüber dem i2c-bus erheblich größer sind.

Gruß
Joachim

von Gerd Truss (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Joachim

Ich sitzte jetz seit Freitag Abend an den mod.Sourcen des Webserver von
Ulrich und habe mich erstmal daran versucht merere Eingaben über das Web
zu steuern, komme aber irgendwie immer darauf das ich zuerst den VA4 auf
der Webseite einschalten muß(Habe eine Platine mit LED's am Stecker1)
bevor ich über den Schalter VA3 und VA2  dei LED's Einschalten bzw.
Ausschalten kann.Habe Ich alle LED's an ,kann ich mit VA4 alles auf
einmal Ausschalten.Das verstehe ich nicht?
ZITAT:
Hallo Gerd,

ich verstehe das so, dass Du von einem I/O-Pin des Prozessors einen
Schalter nach Masse legst. Den Pin definierst Du als Eingang mit
internem Pull-Up-Widerstand.
In der Datei tcp.c findest Du die Ausgabe der Variablen. Das sieht
etwa
so aus:
if (pgm_read_byte(pointer) =='h') dec_out (buffer,hh); // Stunden
einfügen
Du kreierst eine neue Variable und liest vor der Abfrage auf diese
Variable das Signal vom I/O-Pin in die Variable ein.

Nun mußt Du noch die HTML-Seite mit einer Marke "%VA?" erweitern, so
dass die neue Variable auch in eine HTML Seite eingefügt und damit
ausgegeben wird.

So sollte das funktionieren.

Gruß
Joachim

Frage : Könntest Du mir dabei helfen irgenwie will mir das noch nicht
ins Hirn.

Gruß Gerd

von Michael (Gast)


Lesenswert?

Hallo Joachim,

danke für den one-wire-bus Tipp. Ich habe den I2C Sensor schon zuhause,
mit CodeVision AVR, kann man die I2C pins überall hinlegen, in meinen
Fall, PORTA7=Scl und PORTA6=Sda. Im CodeVision ist diese Funktion nur
in ASM verfügbar, und da ich leider nich ASM - Programmiert habe, tuch
ich mir sehr schwer, diese nach C zu exportieren. Die meisten verwenden
ja den Hardeware I2C, dies Pins sind aber bei Holger B`s variante mit
dem Mega32 schon verwendet. Die länge der Busleitung spielt in meinem
Fall keine Rolle.


Grüße Michael

von Joachim B. (Gast)


Lesenswert?

Hallo Gerd,

in der HTML-Seite habe ich eine Tabelle angelegt.
Die Grundstruktur ist folgende
<table>  //Tabellenanfang
 <tr>      //Tabellenzeilenanfang
  <td>       //Tabellenzellenanfang
  </td>      // Ende der Zelle
 </tr>     // Ende der Zeile
</table  // Ende der Tabelle
Bei Deiner Erweiterung ist die Tabellenstruktur durcheinander gekommen.
Das könnte eine Fehlerursache sein.

Die Definitionzeilen für LED-LINES_1 und .._2 sind überflüssig. Du
kannst über all "LED_LINES" verwenden, weil der selbe Port verwendet
wird. Gleiches gilt für das Register zum umschalten der I/O-Funktion
LED_LINES_DIR_1 und .._2.
Das ist aber nur ein Schönheitsfehler.

Die von Dir gewählte IP-Adresse lautet 192.0.n.n. Der Adressraum für
private IP-Adressen ist jedoch 192.168.n.n. Es ist sinnvoll sich daran
zu halten, weil die privaten IP-Adressen im Internet nicht geroutet
werden.

Mehr ist mir nach erster Durchsicht nicht aufgefallen.
Viel Erfolg,

Joachim

von Joachim B. (Gast)


Lesenswert?

Hallo Michael,

man kann den I2C-Bus auch mit einem C Programm ansprechen. Ich habe das
für die Microwire-Schnittstelle realisiert. (Das EEPROM auf der
Schnittstellenkarte hat ein Microwireinterface, das über die Bits eines
Registers des Netzwerkcontrollers bedient werden kann)
Microwire, SPI und I2C sind recht ähnlich.
Es ist sicher hilfreich, wenn man sich den Quelltext zusammen mit den
Timingdiagrammen eines I2C-Interfaces ansieht. Dann ist das ganze
leichter verständlich.

Gruß
Joachim

von Kai Markus Tegtmeier (Gast)


Lesenswert?

Hallo, allerseits!

Ich habe mich nach geraumer Zeit auch mal wieder drangesetzt, einen
Webserver aufzubauen, stecke aber noch ziemlich am Anfang. Problem
bei mir ist, die Netzwerkkarte zu konfigurieren. Ich habe scheinbar die
gleichen Netzwerkkarten wie Holger B. (Bild sieht auf
Mikrocontroller.com exakt gleich aus, auch gleiche Typennummer), aber
leider keine Möglichkeit, sie zu konfigurieren.

Nun meine Frage(n) dazu:

- besteht die Möglichkeit, in Ulrichs Code 1.38 eine neue I/O-Adresse
anzugeben, und wenn ja, wo?

- Ist bekannt, welche I/O-Adresse als default auf den Karten baugleich
zu Holgers Karten eingestellt ist, oder muß man raten/ausprobieren?

Wäre super, wenn da jemand Licht ins Dunkel bringen könnte...

Viele Grüße aus Hamburg
Kai Markus

von Michael Haslhofer (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Markus,

ich habe ein Netzwerkkartenconfigurationsprogramm, mit allen Drivern.
Auf welchen Betriebssystemen die config.exe läuft weiss ich nicht. Ich
habe mit einer Win98 Boot-Disk. gebootet und dann das Prog ausgeführt.

Schöne Grüße aus Wilhering,
Michael Haslhofer

von Joachim B. (Gast)


Lesenswert?

Hallo Kai Markus,

die default-Adresse der Netzwerkkarte ist üblicherweise 0x300.
Die Adresse wird im Webserver durch die Verdrahtung der Leiterplatte
festgelegt.

Zum Einstellen der Adresse der Netzzwerkkarte brauchst Du einen PC mit
ISA-Slot und ein Konfigurationsprogramm (s.o.), dass Du im DOS-Mode
starten mußt.

Außerdem sollte IRQ 9 gewählt werden. Das ist bei der Leiterplatte von
Holger B. aber nicht kritisch, weil die IRQ-Leitungen parallel
geschaltet wurden.

Gruß
Joachim

von Gerd Truss (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Joachim

Ich habe mir das ganze nochmal angeschaut und habe die Anderungen
durchgeführt. Leider ist das Ergebniss das gleiche. In meinen Sourcen
habe ich 2 LED's über das Web zum ansteuern VA2 und VA3. Wenn ich nun
versuche über das Web VA2 einzuschalten passiert nicht, aber beim
einschalten von VA3 leuchten beide LED's.(VA2 ist noch auf
eingeschaltet) Jetzt kann ich auch VA2(Rotes LED) über WEB
Steuern.Ein.- und Ausschalten.Ist jedoch VA3 aus lässt sich auch VA2
weder ein noch ausschalten. Wurdest Du oder natürlich auch ein anderer
User sich das mal anschauen, ob ich da einen Fehler drin habe?

Danke
Gruß Gerd

von Kai Markus Tegtmeier (Gast)


Lesenswert?

Hallo, allerseits!

Erst einmal vielen Dank für die schnelle Hilfe!

Das Problem lag bei mir nicht an der Software (die zugehörige Diskette
lag glücklicherweise bei den Netzwerkkarten dabei); vielmehr hatte ich
das Problem, keinen PC mit ISA-Slot auftreiben zu können. Ich konnte
mir aber nun nach langem Hin und Her etwas bei Freunden zusammenleihen.
Bin gerade dabei, auf diesem Hilfs-PC ein Betriebssystem zu
installieren, um dann gleich alle Netzwerkkarten konfigurieren zu
können. Falls dabei noch Fragen auftauchen, werde ich mich
vertrauensvoll an Euch wenden.

Ich bin mir ziemlich sicher, daß beim Anpassen und Compilieren des
Quellcodes noch Fragen auftauchen werden, weil ich (faul ;-) Codevision
gewohnt bin und daher mich nie so um das Compilieren und Übertragen in
den Chip gekümmert habe. Oder gibt es da eventuell eine Art Tutorial
oder FAQ für? Ich besitze Codevision in der Vollversion und ein
STK500...

Vielen Dank nochmals!
Greetz
Kai Markus

von Joachim B. (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Gerd,

Deine HTML-Seite gefällt mir noch nicht. Probier doch einmal die
beiliegende Seite. Ich habe einige Komentare zur HTML-Struktur
eingefügt.
Details zu HTML kann man unter www.selfhtml.org nachlesen - sehr
empfehlenswert.

Gruß
Joachim

von Kai Markus Tegtmeier (Gast)


Lesenswert?

So, ich habe soweit alles zusammengelötet; ich habe allerdings das Ganze
der Einfachheit halber erst einmal auf dem STK500 aufgebaut, oder
spricht da etwas gegen - irgendwelche Doppelbelegungen von Anschlüssen,
die ich übersehen habe?

Ich bekomme mit einem 8 MHz Quarz, der Source V1.38 ohne MMC und einem
entsprechend eingestellten Hyperterminal auch die Meldung Networt
init...  Ok 34. Allerdings kann ich nicht über das Netz auf
192.168.1.66 zugreifen.

Ich muß mir wohl nun aus der V1.38 von Ulrichs Seite ein lauffähiges
Hex-File zusammenbasteln, da ich z.Zt. weder einen 16000000 Quarz noch
eine SD-Karte greifbar habe. Was muß denn an Ulrichs Sourcen geändert
werden, damit der AVR nicht nach einer MMC/SD-Karte sucht?

Greetz
Kai Markus

von Gerd Truss (Gast)


Lesenswert?

Hallo Kai

das schrieb Joachim,bei seine Sourcen

Datei Einstellung:
makefile:   MCU auf Prozessortyp setzen
main.h:     SYSCLK gemäß Quarzfrequenz setzen
rtl8019.h:  ISP_CTRL setzen, wenn die Hardware von Holger Buss
verwendet wird.
mmc.h:      USEMMC auf 0 setzen, wenn keine SD-Card genutzt wird
uart.h:     Baudrate nach Bedarf ändern
webpage.c:  In der Seite Index.htm wird die IP-Adresse der Reload-Seite
im HTML-Text genannt. Die Angabe ist nicht erforderlich, muß aber bei
Wechsel der IP-Adresse geändert werden.

Ich hoffe damit kannst Du was Anfangen und noch viel Spaß

Gruß Gerd

von Gerd Truss (Gast)


Lesenswert?

Hallo Joachim
Danke für deine Antwort
Ich werde es gleich Morgen früh Testen, da bin ich mal gespannt

gruß Gerd

von Kai Markus Tegtmeier (Gast)


Lesenswert?

Hallo, Gerd!

Vielen Dank für Deine Hilfe! Jupp, das war genau das, was ich suchte!

Das kann ja noch ne lange Nacht werden ;-)
Guts Nächtle!

Kai Markus

von Gerd Truss (Gast)


Lesenswert?

Hallo Joachim

Ich bin's wieder, ich hoffe ich nerve Dich nicht denn das liegt nicht
in meiner Absicht, aber auch mit deiner Webpage habe ich das gleich
Ergebniss. habe ich 2 LED's über das Web zum ansteuern VA2 und VA3.
Wenn ich nun versuche über das Web VA2 einzuschalten passiert nicht,
aber beim einschalten von VA3 leuchten beide LED's.(VA2 ist noch auf
eingeschaltet) Jetzt kann ich auch VA2(Rotes LED) über WEB
Steuern(Ein.- und Ausschalten).Ist jedoch VA3 aus lässt sich auch VA2
weder Ein.- noch Ausschalten.

Mir ist etwas aufgefallen. Beim Aktivieren der MMC funzt kein LED
beim ausschalten der MMC geht es wieder.

Oder liegt es an der der main.c

  // Initialisierung des LED-Pins
  TCCR2 &= 0x67;
  LED_LINES      &= (0<<LED_PIN);
  LED_LINES_DIR  |= (1<<LED_PIN);

vieleicht hilft das etwas weiter.

Gruß Gerd

von Joachim B. (Gast)


Lesenswert?

Hallo Gerd,

bei der Initialisierung der LED-Pins passiert folgendes:
TCCR2 wird mit 0 beschrieben. Dadurch wird die Sonderfunktion von Port
D, Pin 7 abgeschaltet. Anschließend wird Pin 7 auf "0" gesetzt.
Dann wird das Richtungs-Bit auf "Output" geschaltet.

Auf der Webseite sind für jede LED zwei Schaltfelder vorhanden.
Stimmt die Stellung der Schaltfelder mit der LED-Anzeige überein?
Leuchtet die LED, wenn auf der Webseite "LED ein" markiert ist und
umgekehrt?

Eine Erklärung für das merkwürdige Verhalten habe ich zur Zeit leider
noch nicht.

Gruß
Joachim

von Gerd Truss (Gast)


Lesenswert?

Hallo Joachim

Kann es sein das wenn ich die anderen Pin's von Port D benutzte diese
Sonderfuktionen auch abgeschaltete werden müssen ? Ist nur sone Idee

Ich bleibe aber da noch drann und Danke vür deine Bemühungen.

Gruß
Gerd

von Christoph (Gast)


Lesenswert?

hi
ich bin gerade beim selber baun und wollte mal fragen ob ihr tips für
mich habt wie ich den rtl8019as am besten einlöten kann?

brauche dringend hilfe

von Jochen (Gast)


Lesenswert?

Hallo Christoph,
der Witz bei diesem Projekt ist eigentlich, dass der RTL weder aus-
noch eingelötet wird.

von Christoph (Gast)


Lesenswert?

ich möchte den RTL aber in meine platine integrieren -> ich verwende
auch eine vollkommen andere schaltung deswegen die frage?
vielleicht weiss ja jemand was?

thx

von Ulrich Radig (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

Meiner neuer Webserver ist feritg!!
Bald auf meiner Homepage.

Mfg Ulrich

von Gerd Truss (Gast)


Lesenswert?

Hallo Joachim

Ich kann den Fehler schon etwas Eingrenzen. Wenn ich die main.c
so Programiere :

  // Initialisierung des LED-Pins
  TCCR2 &= 0x67;
  LED_LINES       &= (0<<LED_PIN);
  LED_LINES_DIR   |= (1<<LED_PIN);


    PORTD |= (1<<PB4) ;   //Schalte Port D Pin 4 als Ausgang
    PORTD |= (1<<PB5) ;   //Schalte Port D Pin 5 als Ausgang
    PORTD |= (1<<PB6) ;   //Schalte Port D Pin 6 als Ausgang
    PORTD |= (1<<PB7) ;   //Schalte Port D Pin 7 als Ausgang

kann ich am Stecker 1 den Pegel von 4,95 Volt Messen.
Starte ich aber den Browser und greife damit auf die Netzwerk Karte
zu werden die Definierten Pin's vom PortD gelöscht.
Das heißt doch das der gesamte Port von  im Programm (????)
umgeschrieben werden oder???

Gruß Gerd

von Joachim B. (Gast)


Lesenswert?

Hallo Gerd,

mit der Zeile:
    PORTD |= (1<<PB4) ;   //Schalte Port D Pin 4 als Ausgang
schaltest Du Pin 4 von Port D auf "1". Bei PORTD handelt es sich um
das "Port D Data Register".
Die Umschaltung zwischen Ein- und Ausgang wird im "Port D Data
Direction Register" DDRD erledigt.

Was hälst Du davon, Dein Leuchtdiodenproblem genau zu analysieren.
(Bisher haben wir nur etwas im Nebel herumgestochert)
Dazu würde ich jeden Schritt genau boebachten und feststellen wo der
erste Fehler auftritt.
1. Webserver einschalten
Beide LEDs müssen aus sein!
2. Webseite abrufen und mit der "Aktualisieren"-Taste am Browser
dafür sorgen, daß die Seite nicht aus dem Cache kommt.
Bei beiden LEDs muß "LED-aus" voreingestellt sein!
3. Bei einer LED "LED-ein" einstellen und LED-umschalten betätigen.
In der Adreßzeile des Browsers muß nun hinter der Adresse "/?VA2=1"
stehen. Ist das der Fall?
Anschließend wird eine neue Webseite aufgebaut. Die Voreinstellung der
LED muß nun "LED-ein" sein. Ist das so?
Nun sehen wir noch auf die LED. Leuchtet die LED?

Genau so detailiert schalten wir die LED wieder aus.
(d.h. Adreßzeile kontrollieren, Webseite kontrollieren und LED
ansehen)
(und dann die zweite LED ein- und ausschalten)
Mit den Ergebnissen aus diesen Beobachtungen kann man dann abschätzen,
ob a) der Browser ein korrektes Signal an den Server schickt,
ob b) der Server die Variable entsprechend dem Signal setzt und
ob c) der Server die LED entsprechend der Variablen ansteuert.

Wenn wir so den Fehler eingegrenzt haben, suchen wir systematisch
weiter.

Gruß
Joachim

von Gerd T. (gerdtruss)


Lesenswert?

Hallo Joachim
Ein Hoch auf deine Geduld, ich habe das gefühl ich bin der einzige der
solche Probleme mit dem Webserver hat.
Naja also mal zur Sache:

Ich habe das gemacht was Du mir geschrieben hast und das ist alles OK.
Ausser "natürlich" den Fehler den ich immer habe.
Mein Ablaufplan:

Webserver starten
1. Bei beiden ist LEDs "LED-aus" voreingestellt.
2. LED1 einschalten: Variable "/?VA2=1" VA ist OK aber LED ist aus
3. LED1 ausschalten: Variable "/?VA2=0" VA ist OK aber LED ist aus
 aber die Schalterstellung bleiben.
4. LED2 einschalten: Variable "/?VA3=1" VA ist OK LED ist an
5. LED2 ausschalten: Variable "/?VA3=0" VA ist OK LED ist aus
6. LED2 einschalten: Variable "/?VA3=1" VA ist OK LED ist an
7. Browser aus und wieder ein
8. Die LED Einstellungen haben sich nicht verändert und die
Schalterstellung sind geblieben.
9. LED1 einschalten: Variable "/?VA2=1" VA ist OK LED ist an
10. LED1 ausschalten: Variable "/?VA2=0" VA ist OK LED ist aus
Also die Variablen werden duch den Browser geschaltet aber der Server
reagiert erst auf VA2 wenn VA3 eingeschaltet ist und die
schalterstelleung auf "ein" ist.Deshalb war meine Idee das ich in der
Main.c gleich einen Pin(Bit) vom Port D als Ausgang steuere um so den
Server zu überlisten doch leider ohne Erfolg.
Ich habe auch dann mal versucht einfach ein paar Pin's auf dem Port D
zu schalten das ging ohne Probleme,(Verdacht auf Hardware Fehler) nur
über die Webseite habe ich das Problem.

Ich hoffe Du kannst mit der Erklärung etwas Anfangen

Gruß Gerd
 und nochmals vielen Dank.

von Kai Markus Tegtmeier (Gast)


Lesenswert?

Hallo,allerseits!

Ich habe wie schon erwähnt auch versucht, den Webserver nachzubauen,
leider bisher mit ohne Erfolg ;-)

Hier ein paar Daten:

- Sourcecode 1.38 ohne SD 192.168.1.66
- keine SD-Card angeschlossen
- ATmega32 verwendet
- Aufbau im STK500 (spricht da was gegen?)
- Sourcen gemäß Anleitung auf mega32 modifiziert
- 16 MHz Quarz eingebaut
- Fuses so programmiert, daß nur CKOPT laut Codevision "read Fuses" =
1 ist

Ich bekomme die korrekte Einschaltmeldung, kann aber nicht
auf die Seite zugreifen. IE sagt "Suchseite konnte nicht geöffnet
werden"

Ich ziehe verschiedene Fehlerquellen in Betracht:
- Aufbau auf dem STK 500? (aber was und warum?)
- Fusebits
- Netzwerkkarte nicht richtig konfiguriert

Bestehen denn ausser der seriellen Schnittstelle noch weitere
Möglichkeiten, die Schaltung zu überprüfen? Kann man den Server
anpingen? Oder per Oszi irgendwas kontrollieren?

Es wäre nett, wenn Ihr Euch diese Fehlerbeschreibung mal anschauen
könntet und mir ein paar Tipps geben könntet. Ich stehe
selbstverständlich gerne für Rückfragen zur Verfügung.

Greetz
Kai Markus

von Kai Markus Tegtmeier (Gast)


Lesenswert?

Ach ja, hatte ich noch ganz vergessen:

Mein Rechner sagt "Netzwerkverbindung mit 10 MBit/s", wenn ich das
Kabel an den Webserver anschließe. Grüne LED an der Netzwerkkarte
leuchtet.

Greetz
Kai Markus

von Holger B. (Gast)


Lesenswert?

Hallo Kai Markus,

die Netzwerkeinstellung an Deinem PC muss auch auf 192.168.1.xx
eingestellt sein.

Gruss,
Holger

von Kai Markus Tegtmeier (Gast)


Lesenswert?

Hallo, Holger!

Vielen Dank für Deinen Hinweis!
Auch das hatte ich überprüft. PC und Server waren direkt über ein
Crosslink-Kabel miteinander verbunden. Gibt es noch Möglichkeiten, auf
einer unteren Netzwerkschicht (war da nicht mal was mit
ISO/OSI-Referenzmodell?!?) die Verbindung zu überprüfen und so den
Fehler einzugrenzen?

Greetz
Kai Markus

von Kai Markus T. (kmt)


Lesenswert?

Hallo, allerseits!

Ich versuche immer noch, den Webserver mit einem mega32 ans Laufen zu
bekommen. Leider ohne Erfolg. Die Initialisierungsroutine zeigt mir
über UART erfolgreiche Abarbeitung, aber ein PING bringt nur
"Zeitüberschreitung der Anforderung". Ich habe mal Ulrichs V1.38
entsprechend der Anleitung modifiziert, so daß er auf einem Mega32 ohne
MMC-Card laufen sollte. Testweise in Interrupt4.c den Befehl
printf "." eingesetzt, aber es ist in der Abarbeitung nichts zu
sehen.
Auch auf der Interrupt-Leitung, die von der Netzwerkkarte kommt,
herrscht laut Oszilloskop verdächtige Ruhe. Allein die grüne LED auf
der  Netzwerkkarte leuchtet und der PC meldet eine Verbindung mit 10
MBit/s.

Hat jemand noch einen Tipp, wie ich bei der Suche weiter vorgehen kann?
Bin für jeden Hinweis dankbar!

Greetz
KMT

von Kai Markus T. (kmt)


Lesenswert?

Hat sich soeben erledigt. Die dümmsten Fehler zuerst...
War ein Kabelbruch in einem Flachbandkabel zur Netzwerkkarte hin.
Nun läufts.

KMT

von Wolfgang Wagner (Gast)


Lesenswert?

Hallo zusammen,

habe den Webserver von Holger Buss aufgebaut und eines der Hexfiles von
seiner Seite mit Hilfe von PonyProg eingespielt. Ich kann nun den Server
pingen und die html Seite im Browser öffnen. Telnet geht auch. Hat bis
dahin super funktioniert.
Da ich in Sachen AVR Programmierung aber noch recht wenig Ahnung habe
benötige ich ein paar Tipps von Euch. Ich möchte 3 Taster abfragen und
3 Schaltsignale ausgeben. Kann ich dies mit der Software von Holger
Buss realisieren? Oder muß die Software angepasst werden?
Es wäre vollkommen ausreichend, wenn ich mittels telnet die Befehle
z.B.  lese_Taster_1  oder setze_Ausgang_2   usw  schicken könnte. Das
ganze würde ich dann per VB Programm vom Remote-Rechner ausführen.

Kann man die IP Adresse, die im Hexfile vorgegeben ist, ändern?

Wolfgang

von Kai Markus T. (kmt)


Lesenswert?

Hallo, Wolfgang!

Ich bin auch noch nicht so weit in die Materie eingestiegen, kann Dir
aber ein paar Hinweise geben:

- die IP-Adresse kannst Du im Hex-File NICHT ändern; Du kannst aber die
Source 1.38 von Ulrich entsprechend deinem Controllertyp anpassen, und
mit gcc neu kompilieren. Das entstehende Hex-File kannst Du dann direkt
in den Controller spielen. Wie man die Sourcen von Ulrich anpaßt und
eine neue IP-Adresse angibt, steht etwas weiter oben hier im Thread.

Greetz
KMT

von Wolfgang Wagner (Gast)


Lesenswert?

Hallo kmt,

danke erst mal.
wo bekomme ich das gcc? Gibt es dazu ein paar Tipps bezüglich
Bedienung?

Wolfgang

von Kai Markus T. (kmt)


Lesenswert?

Hau! Findest Du alles hier im Tutorial.

Greetz
KMT

von Wolfgang Wagner (Gast)


Lesenswert?

habe im google nur was fürLinux gefunden. Gibt es das gcc auch für
microshit win?

Gruß
Wolfgang

von Ulrich Radig (Gast)


Lesenswert?

Hallo @Wolfgang,

GCC gibt es auch für Windows.
Suche mal nach WinAVR GCC!

Mfg Ulrich

von Wolfgang Wagner (Gast)


Lesenswert?

Hab's gefunden, vielen Dank.
Bin wieder einen großen Schritt weiter.
Muß mich nun mit der Ein- und Ausgabe von Bits befassen.
 Möchte 3 Taster abfragen und das Ergebnis an einen Client PC
übertragen. Wäre toll, wenn da jemand helfen kann.

Gruß
Wolfgang

von Holger Buss (Gast)


Lesenswert?

Hallo Thomas,

die Source-Files zur V1.38 sind nun bei
http://www.mikrocontroller.com --> Download --> Webserver
auch verfügbar.
Die sind schon speziell auf die ISA-CTRL-Karte angepasst.
Die Hex-Files daz waren ja schon vorher dort.
Die IP-Adresse kann man in main.c und webpage.c ändern

Gruss,
Holger

von Holger Buss (Gast)


Lesenswert?

Hallo Leute,

heute sind neue Leiterkarten eingetroffen. :-)
Die können jetzt wieder auf unserer Webseite bestellt werden.

Vielen Dank noch an alle, die so geduldig gewartet haben.

Gruss,
Holger

von Tobi T. (tubbu-)


Lesenswert?

HI,
Ich hab den Webserver auf Streifenraster aufgebaut und erhalte immer
den Fehler ERROR(255).
Hab schon zig-mal die Verdrahtung überprüft, kann aber beim besten
Willen keinen Fehler finden.

Die Netzwerkkarte ist eine NE2000 Kompatible mit RTL8016, das sollte
doch gehen, oder?

Irgendjemand ne Idee, waran es liegen könnte?

Danke

von Guido (Gast)


Lesenswert?

Hallo!
Die Idee mit der Netzwerkkarte finde ich genial!!!
Kann mir jemand nützlich lnks angeben in denen ich den Einstieg in
dieses Gebiet machen kann?. Ich besitze die Grundlagen wie ein
PC-Netzwerk aufgebaut ist (Cisco semester 1-4 (jedoch seeeeehr viel
Theory und nicht wirklich hand on...)) und habe auch einige
Mikrokontroller Projekte aufgebaut. Jedoch habe ich eine Lücke wenns um
die Grundlagen der Embeded Systems UND Ethernet-verbindung geht. Ich
habe zwei Bücher in Aussicht: "Messen steuern und regeln per
Internet" und "Messen steuern und regeln mit TCP IP". Kenn die
jemand, bringen die mich weiter oder ist dies eher für den "Profi"
geeignet? Danke für jeden Tip!
Guido (Perth. W.A.)

von Tobi T. (tubbu-)


Lesenswert?

Hallo,

ich habe es jetzt soweit geschafft, dass ich den Webserver Pingen
kann.
Wenn ich aber die Webseite aufrufe, wird zwar die Meldung ausgegeben,
dass der Socket geöffnet wurde, die Webseite wird aber nicht geladen.

Testweise habe ich dann in der Interruptroutine mal ein
printf("int"); eingefügt. Pinge ich den Webserver wird das "int"
einmal ausgegeben und danach nur noch sinnlose Zeichen. Ich empfange
zwar weiterhin ein Pong, aber die Ausgabe gibt nur noch sinnloses von
sich.

Als uC verwende ich einen Mega16, kann es vielleicht daran liegen?
Hat der Mega16 vielleicht nicht genug Ram?

Danke für eure Hilfe

Tubbu

von Tobi T. (tubbu-)


Lesenswert?

edit.: grad noch was bemerkt. wenn ich den webserver längere zeit laufen
lasse, macht er irgendwann ein Reset

von DirkS (Gast)


Lesenswert?

Hallo,

sorry ich muss als absoluter Anfänger mal was Fragen. Das o.g. (von
www.mikrocontroller.com) scheint mir ja sehr einfach aufzubauen. AUch
halten sich die Kosten in Grenzen (wieviel ist das eigentlich in
Summe?)

Ich will mir eine Steuerung aufbauen. Dazu werde ich ein Board mit
einem Mega32 verwenden (von robotikhardware). Wie kann man die Daten
von dort aus auf den Webserver übertragen? Wo kann ich mich da schlau
machen?
Im moment habe ich nur Erfahrung mit ner C-Control1. Bei der schreibe
ich die Messwerte in einen Datalogger und lese diese über ein externes
Programm aus.

Danke schon einmal

Gruss

Dirk

von Traktor (Gast)


Lesenswert?

Hallo,

nachdem ich endlich die MMC-Anbindung mit Hilfe eines
3,3V-Spannungsreglers ans laufen bekommen habe,wollte ich nun die
Software
von Joachim Börke aus dem Flash auf die Karte verlegen.Die Website mit
HTML funktioniert auch,nur die Variablen,also
Zeit,IP-Adresse,Sitecounter usw. werden nicht übernommen.
Hat jemand einen Tip für mich,wo ich ansetzen muß,um dies auch ans
laufen zu bekommen?
Vielen Dank.

Viele Grüße
Traktor

von Joachim B. (joachimb)


Lesenswert?

Hallo Traktor,

ich arbeite ohne MMC-Anbindung und bin deshalb bisher nicht auf das
Problem gekommen. Eine nähere Betrachtung ergibt jedoch folgendes:
Die HTML-Seiten im Programm-Flash werden Byte für Byte gelesen,
interpretiert und in den TCP-Buffer geschrieben (siehe httpd.c,
Funktion void httpd).
HTML-Seiten aus der MMC-Card werden dagegen (warum auch immer) anders
behandelt. In den letzten 20 Zeilen der Funktion httpd ist zu sehen,
daß die Daten mit den Funktionen read_file (aus fat.c) und
mmc_read_sector bzw. mmc_read_block (aus mmc.c) direkt von der
MMC-Karte in den TCP-Buffer kopiert werden. Eine Interpretation findet
deshalb nicht statt, was Deine Beobachtung erklärt.
Um das zu lösen wäre aus meiner Sicht eine umfangreichere Änderung der
Programmstruktur nötig.

Gruß
Joachim

von Traktor (Gast)


Lesenswert?

Hallo Joachim,

Danke für Deine schnelle Antwort,dann werde ich es wohl vorerst mal
weiter aus dem Flash laufen lassen,und wenn ich mal mehr Zeit habe
mich in C versuchen einzuarbeiten und versuchen das ganze auf die
MMC-Karte umzustricken.

Viele Grüße
Traktor

von Peppe (Gast)


Lesenswert?

Hallo,
ich verfolge jetzt schon seit längerem dieses Projekt und es begeistert
mich immer mehr.
Ich würde es gerne nachbauen.
Ich frage mich nur worin der untgerschied zwischen der 1.0 und der 0.9
version von Holger ist.

Viele Grüße
Peppe

von Christian (Gast)


Lesenswert?

Hallo!

Meine Frage wurde zwar hier schon mal gestellt, ist aber schon acht
monate her, deswegen stelle ich sie nochmal, evtl hat ja jetzt mal
einer eine Antwort .-)

Ich würde dieses Projekt nämlich auch gerne nachbauen, aber da ich mich
mit AVR Controllern so gut wie gar nicht auskenne, und meine ganze
Hardware Testboards,Programmier adapter usw... auf PIC ausgelegt ist,
würde mich Interessieren ob schon mal jemand das Projekt auf PIC Basis
aufgebaut hat? Wenn ja, würde ich mich über links und infos freuen .-)

mfg. Christian

von Cpt (Gast)


Lesenswert?

Hallo zusammen

Bevor ich mir auch so eine Platine bestelle hätte ich noch eine Frage.
Auf den Fotos mit der fertig bestückten Leiterplatte sind die Bauteile
teilweise auch von der Oberseite verlötet. Die Karte ist doch
durchkontaktiert und daher ist selbiges nicht nötig oder?

Grüße

Cpt

von Dirk (Gast)


Lesenswert?

Würde ich auch gerne wisse. Denke mal ja, aber alles geht nicht.
Bitte um ne kurze Info

von Dirk (Gast)


Lesenswert?

@Cpt: Einfach löten! Das Zinn zieht sich durch und bildet oben eine
schöne Lötstelle.

von Cpt (Gast)


Lesenswert?

Na das ist doch gut.

Danke Dirk

von Dirk (Gast)


Lesenswert?

Es gibt da was um Lötstellen zu reinigen. Sollte man machen, da nicht
alle Lötstellen oben top wurden. Kann auch daran liegen, das mein
Lötkolben mit 8W zu wenig Leistung hat.

von Holger B. (Gast)


Angehängte Dateien:

Lesenswert?

Hallo!

Ich habe an den Webserver jetzt eine billige Handycam (4,- bei Ebay)
angeschlossen (siehe Photo). Damit kann man aus dem Webserver eine
Webcam bauen. Das ganze läuft echt klasse!

Darauf läuft die Software von Simon Schulz:
http://avr.auctionant.de/avr-ip-webcam/

Mehr Infos auch unter Codesammlung:
http://www.mikrocontroller.net/forum-extern/read-4-251170.html#new

Infos und Bilder zur Modifikation meines Webservers:
http://mikrocontroller.cco-ev.de/de/webcam.php

Software und HEX-Files speziell für meine Webserver-Platine.
http://mikrocontroller.cco-ev.de/de/download.php#AVR_WEB

Gruss und viel Spass damit!
Holger

von Roland (Gast)


Lesenswert?

Hallo,

hat schon jemand eine ReadyLink RL2000A-PnP erfolgreich im Webserver
zum laufen gebracht.
Meine ist auf IRQ5 und E/A 300 eingestellt.
Beim starten des Webservers erscheint

Init Network Card: ......... Init Ready!
Init: Okay 34
My Mac: 1e.a.2b.2b.2d.4d
My IP : 192.168.0.17

aber nach einer kurzen Zeit Overflow.
Leider gibt es im Konfigurationsprogramm keine Möglichkeit,den Kabeltyp
einzustellen.
Vielleicht weiß ja jemand einen Rat.
Danke im vorraus.

Viele Grüße
Roland

von Berni (Gast)


Lesenswert?

Hallo,
ich habe hier 3 Stück Netzwerkkarten mit einem UM9008F Chip drauf.
Mit einem passenden Configurationsprogramm unter DOS habe ich IRQ5 und
Adresse 0x300  eingestellt, PnP ist abgeschaltet.
Leider tut sich nichts am Webserver, immer nur ERROR(255) oder auch ab
und zu ERROR(34). Bei ner Karte mit RTL8019 (ohne AS) klappts ab und zu
mal. Der Webserver funktioniert mit einer geliehenen Karte mit RTL8019AS
einwandfrei.
Hat schon mal jemend einen UM9008F zum Laufen gebracht? Und wenn ja,
was ist da noch einzustellen?
Tschau Berni

von Christoph L. (clechner)


Lesenswert?

@Holger B.:
Super Sache, das mit der Kamera. Zwei Fragen:
i)  Wie hoch ist denn die Framerate die Du erzielen kannst?
ii) Wie hoch ist die Auflösung?

Ich glaub, ich informiere mich mal über diese MCA25 Kamera ...

MfG
- C. Lechner

von Sssssss (Gast)


Lesenswert?

@CLechner:
Guck mal hier auf meiner Seite dazu:
http://avr.auctionant.de/avr-ip-webcam/mca-25-kamera.html

Framerate ? Per Webserver ?
0,1fps oder so.
Ein Bild also ca 10s ;)

von Markus (Gast)


Lesenswert?

Hallo Leute!

Habe da ein kleines Problem mit meinem Server. Habe meine Seite in
zwei Frames unterteilt. Auf der linken Seite ein schmales Auswahlmenu
und rechts wird die jeweilige Seite angezeigt.
Jetzt mein Problem, wollte auf einer Seite eine Passwort einlesen.
Sobald ich aber den Wert eingebe und den Button drücke beginnt die
Seite zu laden wird aber nicht fertig es kommt auch keine Meldung.
Wo könnte denn da der Fehler liegen?

Hier der Code aus der httpd.c
if ( memcmp(File_Name,"setup.htm",9) == 0)  //Wenn Setup
{
      pointerold = Page6;   //Lade Seite mit Passwortabfrage
  valid=1;              //Passwortabfrage freigeben
}

if (valid==1)
{
      //suche nach pass
  passwort= searchParameter ("pass", buffer+tcpdata,
                                   *bufferlen-tcpdata,passwort);
  if (passwort==12)    //Passwort richtig
  {
    valid=0;       //sperre weitere Abfrage
    passwort=0;    //setze Variable zurück
    pointerold = Page7;   //lade die Setup-Seite
  }
  else
  {
    pointerold = Page6;   //lade Seite mit Passwortabfrage
  }
}

Die Seite zur Abfrage sieht so aus:
"<html>"
"<body bgcolor=#9999FF>"
  "<font color=black face=arial size=4>"
  "<center><h1><u>Setup</u></h1>"
  "Dieser Bereich ist per Passwort geschützt!<br>"
  "<br><br><br>"
  "<form method=get>"
  "<input type=password maxlength=2 name=pass size=7
value=%pass><br>"
  "<input type=submit value=LogIn></center>"
  "</form>"
"</body>"
"</html>"
"%END"

Eine weitere Frage noch, wie kann ich es abfangen das eine bestimmte
Seite neu geladen wird?

Gruß
Markus

von HansHans (Gast)


Lesenswert?

Habe den Webserver jetzt auch mal aufgebaut klappt auch soweit
wunder bar ,gut gemacht Ihr beiden !
Habe aber  noch keine SD -Card  :-(

Ich habe aber ein ähnliches Problem wie „Jürgen“ :
auch mach einbinden der #include "old_macros.h" meckert der

Compiler noch über :

sbi (DDRD, 7);

das habe ich jetzt ersetzt durch :
  DDRD |= (1 << PA7);
da ich noch am Anfang von C stehe bin ich mir nicht sicher ob das
so richtig ist ?

Fehlermeldung gibt es keine mehr und auch in der Funktion
des Server konnte ich noch keinen Fehler feststellen ,
Frage aber mal „Sicherheitshalber „
Danke für eine Antwort

Gruß HH

von Holger B. (Gast)


Lesenswert?

Hallo Hans,

vielleicht macht das Leerzeichen in
sbi (DDRD, 7);
   ^  das Problem.
DDRD |= (1 << 7);
ist okay.

Gruss,
Holger

von HansHans (Gast)


Lesenswert?

-->vielleicht macht das Leerzeichen in
sbi (DDRD, 7);
   ^  das Problem.

Nein auch ohne geht's nicht ...

also DDRD |= (1 << 7);
und nicht :
DDRD |= (1 << PA7);

PA also weglassen ?

von HansHans (Gast)


Lesenswert?

Hallo,
als ich die Frage oben gestellt habe hatte ich noch so gut wie
gar keine Ahnung von C, jetzt ist es schon etwas besser ...
Nur der Vollständigkeit halber :

Für den Compiler sind die Ausdrücke (1<<PA7), (1<<DDC7) und (1<<PINC7)
identisch mit  (1<<7)

von Werner B. (Gast)


Lesenswert?

>Für den Compiler sind die Ausdrücke (1<<PA7), (1<<DDC7) und (1<<PINC7)
>identisch mit  (1<<7)

Nein, denn der Compiler sieht von DA7 und Konsorten nichts, denn diese
werden vom Präprozessor durch etwas anderes (und zwar durch 7)
ersetzt.
Denn in einem der Headerfiles steht (ich glaube in <avr/io.h>)

#define PA7   7
...
#define DDC7  7
...
#define PINC7  7

es wird also vom Präprozessor jedes dieser Wörter durch eine simple 7
ersetzt.
Die Macronamen werden zur besseren Nachvolliehbarkeit des Codes
verwendet und stellen eine Art "inline Dokumentation" dar. Man kann
besser nachvollziehen was der Programmierer erreichen will bzw. was er
sich beim Programmieren gedacht hat.
Was mich am Anfang verwirrt hatte ist das Macro _BV(xyz), das wird aber
durch nichts anderes als ein simples (1<<xyz) ersetzt und steht für
"Bit Value".

von HansHans (Gast)


Lesenswert?

@Werner B.
>Die Macronamen werden zur besseren Nachvolliehbarkeit des Codes
verwendet und stellen eine Art "inline >Dokumentation" dar. Man kann
besser nachvollziehen was der Programmierer erreichen will bzw. was er
sich >beim Programmieren gedacht hat.

für einen Anfänger in C bewirkt es aber eher das Gegenteil,
zumindest geht es mir so ,aber ich habe schon erste Erfolge .....
......auch Dank der Suchfunktion  !

@JoachimB
Habe deine „neuen Code“ in der Codsammlung gesehen nicht
schlecht sind wieder Neue  Sachen drinnen wo man sieht wies geht
(für mich als C „Neuling“)

Neue Frage :
Wie füge ich in eine htm Datei für dem Webserver eine
Art LED als Statusanzeige ein, welche die Farbe wechselt ?
Also ein Kreis der einmal weiß, und dann rot ist, je nach Wert den
man übergibt .

also so ähnlich wie
 <input type=radio name=VA2 value=0 %VA2->LED_PD.6 aus &nbsp;
nur halt keine Input sonder nur zur Anzeige

Versteht Ihr was ich meine ?

Gruß HH

von Joachim B. (joachimb)


Lesenswert?

@HansHans
Ich verstehe das so, daß Du zwei Bilder hast, von denen Du eins
auswählst und darstellst. Ein Bild stellt einen roten Kreis dar und das
andere einen weissen Kreis.
Sicherlich kann man das programmieren, wegen der beiden Bilder ist das
aber recht speicheraufwendig. Ich habe deshalb nur Checkboxen oder
Select-Felder benutzt. Die Darstellung übernimmt dann der Browser.

Gruß
Joachim

von HansHans (Gast)


Lesenswert?

>Ich habe deshalb nur Checkboxen oder Select-Felder benutzt
>Die Darstellung übernimmt dann der Browser.

Ich habe auch an eine Funktion gedacht die der Browser übernehmen
kann ,und keine „gemalten Bilder“

Gibt es nicht eine Art Infobox ?

Eingang 1     (X)
Eingang 2     ( )
Eingang 3     ( )

aber nix zum anklicken und setzen (verändern)

von Joachim B. (joachimb)


Lesenswert?

In HTML ist mir das nicht bekannt.
Evtl. kann man so etwas mit Javascript machen. Da kenne ich mich jedoch
nicht besonders aus.

von Steffen S. (funker)


Lesenswert?

Hallo zusammen!

ich habe mir den Webserver von Ulrich Radig aufgebaut auf der Platine
von Holger Buss. Es funktioniert alles einwandfrei. (Zugriff per web,
telnet und ftp ist möglich).

Mein Ziel ist es, per telnet oder http ein Relais anzusteuern.
Da ich ich aber ich aber in Sachen C-Programmierung ein absoluter
Neuling bin, ist es sehr schwer für mich dies zu realisieren.

Hat jemand zufällig so etwas schonmal programmiert und könnte mir den
source schicken? Oder gibt es schon irgendwo Sammlungen von
Beispielprogrammen?

MfG

Steffen

von Bastler1 (Gast)


Lesenswert?

Hi,

ich habe jetzt auch die Platine bestückt und es klappt soweit.
Ich würde jetzt gerne Daten auf die SD-Karte loggen und die dann per
Webseite darstellen.
Gibt es irgendwo schon Sourcen, um auf die Karte zu schreiben?

von Tobias (Gast)


Lesenswert?

Hallo Leute,

cooles Projekt!
Hat auf Anhieb funktioniert!
Nun muss ich mir mal ein Gehäuse drumherum bauen.
Hat da jemand eine passende Idee?
Vielleicht könnten wir ja hier eine kleine Photosammlung von den
Webservern machen...

Gruss,
Tobi

von Ingo B. (Gast)


Lesenswert?

Hi,

ich habe mal den Code von Werner für die 3COM-Netzwerkkarte in die
Quellen mit aufgenommen.
Man kann jetzt per #define in der main.h zwischen RTL8019 und 3C5x9
wählen....

Ausserdem habe ich die interen Webseiten im Flash geändert:
Es gibt ein kleines Beispiel zum Schalten der LED und zum Anzeigen der
analogen Eingänge.

Achtung: Für eine 3COM-Netzwerkkarte ist eine kleine Layout-Änderung
erforderlich.

Details hier:  http://mikrocontroller.cco-ev.de/de/ISA_3Com.php

Viel Spaß damit...
Ingo.

von Joachim B. (joachimb)


Lesenswert?

Hallo,

ich habe Code in eine andere Richtung erweitert.
http://www.mikrocontroller.net/forum/read-4-248219.html?reload=yes#289...
Hier einige Stichpunkte:
DCF77-Dekoder mit beliebig gepoltem Eingangssignal
Drei one-wire Busleitungen, ein- und ausschaltbar
Drei Ausgangsleitungen für LEDs oder Relais, ein- und ausschaltbar
Webcam MCA-25, Funlayer und Bildformat einstellbar
Bis zu 63 Dallas-Bausteine (z.B. zur Temperaturmessung) mit Namen zu
verwalten
Rote LED über PWM-Ausgang in der Helligkeit einstellbar,
Statussignal der Webcam und Zeitimpuls werden aufmoduliert
IP-Adresse einstellbar, wird nach dem nächsten Reset geändert
MAC-Adresse wird aus der Netzwerkkarte übernommen
Grundeinstellungen werden mit Prüfsumme im EEPROM abgelegt
Speicherdump des AVR-EEPROM oder AVR-RAM über den Webserver anzusehen
Speicherdump des EEPROM der Netzwerkkarte über die serielle
Schnittstelle ausgebbar
Alle Einstellung sind über den Webserver möglich

Gruß
Joachim

von Klaus (Gast)


Lesenswert?

Hallo Leute,

ich finde das Projekt echt klasse.
Nach den meisten Meinungen, die ich hier gelesen habe, scheint es ja
ein Kinderspiel zu sein, den Server zum Laufen zu bringen.

Da ich bisher immer nur in Bascom programmiert habe verstehe ich den
Code an vielen Stellen nicht.
Hat schon mal jemand ein funktionierendes Programm in Bascom
hinbekommen?
Gustav Kesseler hat dazu mal in Juni was geschrieben.

Wäre echt toll wenn diese Alternative möglich wäre!

Klaus

von Holger B. (Gast)


Lesenswert?

Hallo Klaus,

für BASCOM und den Webserver sehe ich im Moment schwarz :-(
Das ist nur mit erheblichem Aufwand realisierbar.

Aber ich könnte mir vorstellen, einen weiteren Controller an den
Webserver per serieller Schnittstelle anzuschliessen. Dann kann man den
Webserver als Gateway ins Netz benutzen. Den zweiten Controller könnte
man dann mit BASCOM programmieren.
Zum Steuern und Daten darstellen ist das möglich.

Gruss,
Holger

von Klaus (Gast)


Lesenswert?

Hallo Holger,

danke für die schnelle Antwort.
Dann werde ich jetzt erst mal den Webserver nachbauen.

Grüße
Klaus

von kern helmut (Gast)


Lesenswert?

hallo  ich finde das ist alles supper was ihr da alles macht
und bin gerade dabei so ein ding aufzubaun und hab alles so mal durch
den kopf gehn lassen was mann alles so noch ansteuern kann
nun hab ich da was da könnte man diese hatwähr dazu verwenden da alles
über die I2c schnitstelle lauft (pc) auch hierferwenden da schon
platine
schon forhanden ist oder das leaut für selbermacher platine kostet 15
euro fertig unsw. bitte seht euch das mal an
es war nur so ein getanke von mir solte es nicht so sein vergest das
ganse was ich hier geschrieben habe
noch vielen dank an euch alle die so was ins netz stelln

helmut

von kern helmut (Gast)


Lesenswert?

anhang :www.hauscomputer.gmxhome.de/ das gehört noch dazu  helmut

von GPL (Gast)


Lesenswert?

@Helmut:

Laß bitte die Werbung für solchen Kommerzrotz.
Hier im Hausbusforum gibt es wesentlich Besseres kostenlos!

von Jörg (Gast)


Lesenswert?

Habe hier ein Webserver in bascom gefunden.


http://members.home.nl/bzijlstra/index.htm

von kern helmut (Gast)


Lesenswert?

Ich mach keine werbung es war nur so mein getanke
verzeiung wenn ich was falsch gemacht habe kommt schon nicht wieder
vor
helmut

von 123 (Gast)


Lesenswert?


von Lian L. (lian)


Lesenswert?

Ich habe da mal ein paar Fragen:

1. Warum ist der Webserver mit dem ATmega128 "schneller" als der mit
ATmega32? So wie ich das sehe können doch beide maximal bis 16 Mhz
getaktet werden?
2. Kann man unter Umständen ein solches Konstrukt
http://www.mikrovega.pl/1406/1406.jpg zusammen mit Holgers Board
benutzen? Würde das die Perfomance verbessern?
3. Ich habe hier eine alte Ethernetkarte von SysKonnect (SK-NET Flash),
ne2000 kompatibel. Ist es möglich das der Webserver auch damit
funktioniert? Auf dem Chip steht "PCnet tm-ISA+, AM79C961KC, 9445APB
A1, (c) 1993 AMD"

von Michael Schüller (Gast)


Lesenswert?

Hallo zusammen,

ich habe mir jetzt auch die Platine von Holger gekauft und auch direkt
zusammengelötet. Bis dahin kein Problem. Dann habe ich den ATMEGA32 mit
dem STK500 programmiert (ich habe das mitgelieferte Hex-File verwendet),
aber nicht ist passiert. Es geht weder die rote LED an, noch tut sich
irgend etwas an der seriellen Schnittstelle.
Auch die direkte Programmierung auf dem Board (ich habe sowohl über
STK500 als auch über den parallelen Adapter, der auf dem von Holger
mitgesendeten Schaltplan gezeigt wird) ist nicht möglich.
Also habe ich als Test im STK einen Blinker programmiert. Nach dem
Einstecken ins ISA-CTRL blinkt die rote LED auch fröhlich vor sich
hin.
Hatte schonmal jemand ähnliche Probleme und diese vielleicht auch schon
gelöst?
Ich würde mich über Antworten freuen.

Gruß,

Michael

von DAU-xxl (Gast)


Lesenswert?

@Michael
das deutet wohl auf nicht richtig gesetzte fuses hin ?
zumindestens müste der controler auf der seriellen irgend etwas senden
?
wenn der interne rc generator noch aktiv ist
ist das natürlich verstümmelt
9k6 sendet er auch wenn keine netzwerkkarte oder  mmc drinne ist ?

von Michael Schüller (Gast)


Lesenswert?

Hallo DAU-xxl,

danke schonmal für Deine Antwort, aber an den Fuses liegt es wohl
nicht. Ich habe die für mein Testprogramm (rote LED toggelt und auf der
seriellen kommt ein freundliches "Hallo") genauso gesetzt wie beim
eigentlichen Server-Hex-File.
Wie gesagt, das Testprogramm tut auf der ISA-CTRL-Platine, was es soll,
aber wenn ich das Hex-File in den MEGA32 einspiele, kommt gar nichts.
Muß ich für das Programmieren über den Programmierstecker noch
irgendwelche anderen Fuses setzen, als Holger auf seiner Website
beschrieben hat?
Danke nochmal.

Gruß,

Michael

von Ben Zijlstra (Gast)


Lesenswert?


von Michael Schüller (Gast)


Lesenswert?

Hallo nochmal,

es sieht so aus, als ob ich mich einfach zu dämlich angestellt habe
(siehe Beitrag weiter oben).
Heute habe ich einfach mal die Massepins korrekt verlötet und das
selbstkompilierte Hex-File (geänderte Taktzahl und andere IP) mit
Ponyprog 2.07f eingespielt (Ponyprog 1.xx tuts nicht wirklich mit dem
Mega32), und schon geht die Lampe an, auf der Seriellen kommt recht
zügig die OK-Meldung meiner 3Com-Karte und schon konnte ich mit meinem
Browser auf die Beispielseiten zugreifen...
Wie gesagt, habe mich wohl extrem dämlich angestellt.
Danke an Holger für die Platine und Ulrich für die Software - tolles
Teil für fast Umsonst:-)

Gruß,

Michael

von nachbauer (Gast)


Lesenswert?

Hallo,

ich habe versucht, die ISA-Buchse aus einem altem Motherboard (wie
Holger angemerkt hatte) zu entlöten - das hat leider nicht so gut
geklappt.
Ich habe es mit einer Entlötpumpe probiert, aber ich bekomme einfach
nicht alle Pins richtig frei. (und sanfte Gewalt war keine gute Idee)
Ich habe bislang noch nicht Bauteile mit so vielen Beinchen
entlötet.Gibt es da vielleicht einen Trick?
@Holger: Wie hast du das gemacht?

von Ssss S. (sssssss)


Lesenswert?

Heissluftfön ;)
Einfach von hinten hin und herschwenken und gut erwärmen...
Dann die Leiste einfach abziehen ;)

Aber draussen machen, stinkt !

Bye, Simon

von nachbauer (Gast)


Lesenswert?

HAllo Simon,

da wäre ich ja nie drauf gekommen, Ichhabe auch schon Entlötlitze
probiert, aber das wird auch nichts :-(
Werde ich morgen gleich mal mit dem Fön probieren.

Danke!

von nachbauer (Gast)


Lesenswert?

Hallo nochmal,

der Tipp mit dem Heissluftfön hat prima geklappt :-))

Der Webserver lief auch auf Anhieb.

Eine Frage habe ich dann noch:
Wie kann man damit ausserhalb des lokalen Netz Daten empfangen, z.B.
HeiseNews graben, Wetterbericht oder so ?
Ich muss ja irgendwie durch meinen Router...

von R. Schaefer (Gast)


Lesenswert?

Hi,
hat jemand eine RTL8019AS Netzwerkkarte die er mir verkaufen könnte.
Welche Karten habt ihr eingesetzt. Bisher bin ich noch nicht fündig
geworden.

Über eine Antwort würde ich mich freuen!

Gruß Reinhold

von A.K. (Gast)


Lesenswert?

Andere NE2000-kompatible Karten funktionieren auch. Allerdings nur wenn
man IO CH RDY anschliesst und prüft:
  UM9008 Chip
  BC912 Chip

Ansonsten natürlich noch beliebig viel 3C509B Versionen, mit dem
anderen Treiber. Versionen ohne "B" gehen nicht!

von Joachim B. (joachimb)


Lesenswert?

@nachbauer
Der TCP/IP-Stack ist auf das notwendigste beschränkt. Es werden weder
eine Netzmaske noch ein default-gateway verwendet.
Deshalb muß man im internen Netz bleiben.

Gruß
Joachim

von A.K. (Gast)


Lesenswert?

An Stationen ausserhalb des eigenen Netzes senden kann man, indem man im
Ethernet-Frame die MAC-Adresse des Routers angibt. Die muss man freilich
wissen und einkonfigurieren. Verwendet wird das beispielsweise beim
Mailing per SMTP (gibt's irgendwo als Variante).

Empfangen kann man m.E. von beliebiger Stelle, da der verwendete Code
einfach die im Frame vorgefundenen Mac-Adressen vertauscht und
weiterverwendet. Dadurch adressiert eine Antwort automatisch den Router
und wird somit weitergeleitet.

von nachbauer (Gast)


Lesenswert?

Hallo,

das SMTP-Beispiel verwendet einen Server im lokalen Netz.
Von aussen auf den Webserver ist kein Problem. Der Router sorgt
irgendwie dafür, dass die Daten richtig ausgetauscht werden.

Das kann doch vom Prinzip nicht so schwer sein, oder?
Ich muss ja eigentlich nur erkennen, ob ich eine lokale IP ansprechen
will, oder raus möchte. Dann schicke ich das Paket an den Router und
der sendet es weiter.
Nur wie muss ich die Daten an der Router verpacken, der muss ja die
Ziel-IP irgendwie mitbekommen?

Google konnte mir da auch nicht helfen.

von Ssss S. (sssssss)


Lesenswert?

>Nur wie muss ich die Daten an der Router verpacken, der muss ja die
>Ziel-IP irgendwie mitbekommen?
ZielMAC: Router Macadresse
ZielIP: die ip im inet die du erreichen willst

Das wars schon ;)

Gruss, Simon

von A.K. (Gast)


Lesenswert?

Ich habe SMTP zu einem Server im Internet problemlos hinbekommen.

von R.S. (Gast)


Lesenswert?

Hi,
ich möchte mir auch einen WebServer aufbauen. Derzeit bin ich am
zusammenstellen der Bauteile. Bei der SD-Karte habe ich noch keine
geeignete Lösung. Gibt es für die SD-Karte einen Sockel? Oder wie habt
ihr das gelöst.

Gruß Reinhold

von Feadi (Gast)


Lesenswert?

Es gibt SD und CF Sockel, bei Reichelt und Segor.

Feadi

von Dirk (Gast)


Lesenswert?

SD-Slots gibts günstig auch bei CSD-Electronics
(und das sogar ohne Mindestbestellwert ;o))

Dirk

von Achim (Gast)


Lesenswert?

Hallo

@Holger ist von Dir ein Redesign Deines Webservers mit einem enc28J60
(DIP) geplant? Das wäre sicherlich super.

MfG
Achim

von Schorschii (Gast)


Lesenswert?

Woher habt Ihr den 50 Ohm Widerstand für den ENC?

von Uli (Gast)


Lesenswert?

Hallo,

benutze einfach 2 * 100 Ohm!

Gruss
Ulrich Radig

von Schorschii (Gast)


Lesenswert?

geht auch 51 Ohm 1%.

von Feadi (Gast)


Lesenswert?

Ja, 51 Ohm geht auch ;)

Feadi

von wolfgang (Gast)


Lesenswert?

Hallo,

erstmal -  Klasse Projekt. Dank Ulrich für die Quellen und auch an
Holger für die Platine.

@Ulrich:
Wird es eigentlich noch Updates von den Quellen geben?
Man findet ja ein paar Informationen (von wegen Buffer-Overflow etc).
Es gibt zwar einige Weiterentwicklungen (Webcam, 1wire, die Anpassung
für 3COM oder das Senden von Email) - die basieren, (wenn man Glück
hat) auf V1.38, sind im Detail doch recht unterschiedlich.

Vielleicht wäre eine Projektverwaltung mit SourceForge.net eine gute
Idee gewesen. Dann bekommt man die guten Ideen alle in einer Version.
(aber dafür ist es wahrscheinlich jetzt zu spät, oder?)

von Holger B. (holgerb)


Lesenswert?

Hallo Achim,

zu dem enc28J60-Chip habe ich Muster angefordert.
Die sind noch nicht da. Wenn das mit dem Teil gut funktioniert, werden
wir sicherlich auch wieder eine Platine dazu machen.

Gruss,
Holger

von Fred (Gast)


Lesenswert?

Wie sieht das aus mit Internetadresse? Ich meine wie rufe ich den vonm
Internet auf? Im ersten Beitrag steht zwar:
- Bei meinem Internet-Router kann ich einen sogenannten
"dynDNS-Dienst" (kostenlos) eintragen

aber das versteh ich nicht. Was meint er mit Internet Router? Der
Anbieter? Ich bin z.B. bei www.2und2.de mit ner Flatrate. Ja und? Ich
krieg jeden Tag ne neue IP und wie kann ich solchen Webserver eine
feste IP geben?

von Ingo B (Gast)


Lesenswert?

Wie schon erwähnt, gibt es den DynDns-Dienst für genau dieses Problem.
( www.dyndns.org )
Man richtet sich dort einen Account ein und bekommt einen kostenlosen
Domainnamen z.B. fred123.dyndns.org.
Jetzt muss man dem DynDns-Dienst nur noch seine aktuelle IP mitteilen.
Das können die meisten DSL-Router (siehe Konfiguration Router) (das
meinte Holger)
- oder man installiert sich ein kleines Programm, dass die IP mitteilt.
(findet man auch auf der dnydns-Seite für Windows und Linux)

Du bist dann immer unter 'fred123.dyndns.org' erreichbar.
Feine Sache :-)

Gruß,
Ingo

von Steffen S. (funker)


Lesenswert?

Hallo !

ich habe eine Frage zum Quelltext Version 1.39 von Ingo.
Was muss ich in der tcp.c und webpage.c hinzufügen, damit ich eine 2.
LED ansteuern kann?
(Erforderliche Änderungen in der httpd.c und main.c sind mir klar).

Gruß
Steffen

von Ingo B (Gast)


Lesenswert?

Hi,

eigentlich brauchst du nur die entsprechenden Zeilen kopieren und die
Namen und Platzhalter entsprechend anpassen (die Länge der Namen und
Platzhalter unverändert lassen):
z.B.

in webpage.c:
<input type=\"checkbox\" name=\"ABC\" value=\"1\"
%CHK_ABC>"
-----
in tcp.c dann auf den neuen Platzhalter überprüfen:
if (strncmp_P("CHK_ABC",(pointer+1),7) == 0)

und entprechend einer Bedingung richtig setzen:
if ('Bedingung') memcpy(&buffer[result16], "checked",7); else
memcpy(&buffer[result16], "       ",7);
----
in httpd.c auf den neuen Namen überprüfen:
if ( memcmp(File_Name,"index.htm?ABC=1",15) == 0)

Lässt sich sicher eleganter und dynamischer lösen.
Z.B das man nur eine Änderung in der webpage.c machen muss.
Man könnte im Namen vielleicht auch gleich den PortPin kodieren...


Gruß,
Ingo.

von Steffen S. (funker)


Lesenswert?

vielen Dank, das werde ich mal probieren..

Gruß
Steffen

von tommy145 (Gast)


Lesenswert?

Hallo
ich habe das mal mit dem dyndns probiert, aber ich komme von aussen
nicht an den Webserver. Von innen klappt es.(ping geht) Muss man sonst
noch was einstellen?

von Matthias (Gast)


Lesenswert?

Ich habe auch eben versucht einen weiteren Ausgang mittels Checkbox in
der HTML zu steuern. Wenn ich diese jetzt aktiviere und auf Senden
drücke, wird der Port auch richtig gesetzt. Das Problem ist, dass die
Checkbox dann wieder "unchecked" ist. Kennt das Problem jemand?

von Elektrikser (Gast)


Lesenswert?

Ja. Du musst dem Webserver auch sagen, dass er einen Haken darstellen
soll. Bei mir habe ich für die Ausgänge zwei Checkboxen. In der einen
werden die Ausgänge gesetzt und zurückgesetzt und in der anderen wird
der Zustand angezeigt.
Das mache ich in der tcp.c und zwar ähnlich dem, wie bei Ulrich der
Counter gemacht wird. Ich habe leider den Source-Code nicht zur Hand
(falscher Rechner). Aber vielleicht hilft das weiter?
Ich versuche mich gerade an einer dynamischen Anzeige von Sensorwerten
(will nicht immer die ganze Seite laden). Aber da bin ich noch nicht
weit und in den nächsten Wochen bin ich sehr knapp mit der Zeit...

Gruß Elektrikser

von Matthias (Gast)


Angehängte Dateien:

Lesenswert?

Hm ja genau das versuche ich. Es gibt 2 Checkboxen, bei drücken von
"Senden" sollen die Zustände übernommen werden. Ich habe mal die aus
meiner Sicht relevanten Teile angehängt. Vieleich kann mir jemand sagen
wo es hackt.


Vielen Dank schon mal

von Markus Birn (Gast)


Lesenswert?

Hallo Holger:

Bin ncoh ziemlich neu hier im Forum und habe dein Webserver Projekt
gesehen udn ich muss sagen ich bin begeistert!

Ich spiele mich mit dem Gedanken, dass Projekt mit einigen wenigen
Modifikationen nachzubauen! Nun hab ich auf deiner Homepage mal
vorbeigeschaut, ist es auch möglich, die Schaltpläne der Boards in
digitaler Form zu bekommen? Falls nicht, ist das auch ok, wollte eben
nur mal anfragen ;-)

Danke!

von Joachim B. (joachimb)


Lesenswert?

Hallo Matthias,

ich habe Deinen Code durchgesehen.
In httpd.c merkst Du dir den Zustand der LED nur in der Ausgangsstufe
des Port-Pins.
In tcp.c möchtest Du jedoch den Zustand der LED aus den Variablen (oder
Funktionen) LED_ABC und LED_RED ermitteln.
Das kann nicht funktionieren.

BTW: Das Problem habe ich im meinem Quelltext (Webserver zur
Temperaturmessung) schon einmal gelöst.

Gruß
Joachim

von tom (Gast)


Lesenswert?

Hi,

auf der mikrocontroller.com steht:
"Schaltplan und Bestückungsplan als PDF findet man im
Download-Bereich
(EAGLE-Dateien sind nicht verfügbar)"

Ich denke, dass heisst nein.

Wenn man weiter oben liest, gab es ja auch schon jemand, der schnell
mal unerlaubt Platinen vertreiben wollte.

von tom (Gast)


Lesenswert?

@Matthias:

Wenn du ein #define LED_ABC (PIND & (1 << 6)) verwendest, sollte das
eigentlich klappen....

von Matthias (Gast)


Lesenswert?

@ Joachim Börke
Da komische ist ja, dass es mit der LED_ROT funktioniert. Ich habe den
Code nur um den LED-ABC Teil erweitert.

@tom
ja das verwende ich. Leider habe ich keine Ahnung wieso es nicht geht.


Außerdem habe ich herausgefunden, dass ich die LED_ABC schalten kann,
wenn die LED_ROT ausgeschaltet ist. Dann wird auch für die Checkbox der
LED-ABC der Hacken übernommen und alles scheint zu funktionieren, bis
ich wieder LED-ROT zuschalten will.

von tom (Gast)


Lesenswert?

Ich denke, dass liegt an der Überprüfung der Paramterübergabe:

Du vergleichst auf: "index.htm?ABC=1", das klappt, wenn nur ein
Hacken gesetzt ist.
Wenn beide aktiv sind, wird etwas in der Art "index.htm?LED=1&ABC=1"
vom Browser übergeben. (musst mal in die Adresszeile schauen)

Also musst du schauen, ob irgendwo in der Zeile  "ABC=1" oder LED=1"
vorkommt....

von Steffen (Gast)


Lesenswert?

Hi,

ist es möglich das Ding mit Batterie zu betreiben? Ich meine, wenn ich
mir sowas hinstelle, soll es auch schön wenig Energie verbrauchen,
sonst kann ich mir da gleich nen 286er hinstellen.

Was habt Ihr so für Verbrauch?

von Werner B. (Gast)


Lesenswert?

Ich hatte mal so einen Zwischenstecker von Conrad dazwischen. Anzeige
3W + 1,5W Verbrauch des Messgerätes Plus/Minus 3W Messungenauigkeit ;)

von Steffen (Gast)


Lesenswert?

Ja, ok aber wie kriegt der seine Energie? Doch wohl nicht aus nem
Trafo-Netzteil die immer so schön warm werden.

von Werner B. (Gast)


Lesenswert?

Ja, Trafo. dieser wird zwar nicht warm weil ja eigentlich nix
drübergeht, aber um so geringer ist ja auch der Wirkungsgrad. Du kannst
also schon einiges abziehen.

Wegen 286er hinstellen: Falls Du bei Bildern nicht einschlafen willst
ist der trotz allem vorzuziehen. Speed testen kannst Du auf

http://62.146.141.109/index.htm

ist nur zum Testen

von Ingo B (Gast)


Lesenswert?

Man kann aber auch keinen ernsthaften Vergleich mit einem PC machen. Der
AVR hat nur nur minimal RAM und der externe Datenbus wird über Portpins
simuliert (8 bit). Von cgi braucht man gar nicht erst anfangen...
... aber darum geht es  eigentlich bei diesem Projekt auch nicht.
Darum sollte einem klar sein, dass dies kein Medienserver sein kann und
auch nicht sein will.

von Steffen (Gast)


Lesenswert?

Ja ist ok. Ich werd ihn mir wohl auch bauen. Nur bin ich am Überlegen
wie man ihn am stromsparsamsten bekommt. Am liebsten wären mir meine
Akkus (Mignon). Bei 4 Stück dann 6V, mit 7805 auf 5. Das ganze müsste
aber mindestens nen Monat halten (Tag und Nacht in Betrieb) ohne Akkus
aufzuladen. Ist das realistisch?

von Steffen (Gast)


Lesenswert?

oh gott, ich hab gerade 11Wh ausgerechnet bei 4 Akkus mit 1,2V, 2400mAh
OK meine Vorstellung war etwas... vergessen wir das.

von Ingo B (Gast)


Lesenswert?

...der Webserver zieht etwa 75 mA...

von Matthias (Gast)


Lesenswert?

@Tom
Ich glaube du hast Recht. Werde das mal probieren.

Kann es unter Umständen auch an dem Teil in der tcp.c liegen. Mir ist
der Code da nciht ganz klar. Was bewirkt diese Zeile hier:
pointer+= 8;
oder diese
result16+=7;
Muss ich die Pointer bei jedem Objekt anpassen oder nur 1 mal?

von Ingo B (Gast)


Lesenswert?

Hallo Matthias,

>pointer+= 8;
damit wird der Lesepointer um Zeichen weitergesetzt, damit die Zeichen
"%CHK_LED" (8 Zeichen) nicht angezeigt werden.

>result16+=7;
Damit wird die Gesamtzahl der Bytes für die Ausgabe erhöht.
"checked" = 7 Zeichen

>Muss ich die Pointer bei jedem Objekt anpassen oder nur 1 mal?
Wenn du %CHK_LED und %CHK_ABC verwendest, passt es.
Die Zahl der Bytes muss passen...

Gruß,
Ingo.

von Matthias (Gast)


Lesenswert?

OK, dann müsste es ja funktionieren. Hat jemand vieleicht ein Beispiel,
dei dem mehrere Ausgänge geschaltet werden jedoch der Übersicht wegen
möglichst wenig dabei ist?

von Joachim B. (joachimb)


Lesenswert?

Auf der 5. Bildschirmausgabe findest Du u.a. 3 geschaltete Ports.
http://mikrocontroller.cco-ev.de/de/ISA_1wire.php
Den Rest ignorierst Du einfach.

Gruß
Joachim

von Matthias (Gast)


Lesenswert?

@ Joachim
Danke. ist zwar schon etwas komplex aber damit kann ich mal arbeiten.

Ebenfalls vielen Dank an Ingo B und Tom

von Matthias (Gast)


Lesenswert?

Zu früh gefreut. Leider funktionier das Programm nicht mehr, sobald ich
das #define ISP_CTRL auskommentiere, da ich den webserver nach Ulrich
Radigs desihn aufgebaut habe.

von Martin (Gast)


Lesenswert?

Hallo,
kann man die IP-Adresse von dem Webserver auch anders einstellen, asl
über das C-Programm?
Nachbauen und das HEX-File flashen könnte ich wohl. Kann ich das
HEX-File vielleicht manuell ändern?

von Joachim B. (joachimb)


Lesenswert?

Hallo Martin,

die Änderung der IP-Adresse des Webservers über das Web-Interface habe
ich in meinem Source realisiert (siehe oben).
Das Patchen im HEX-File ist nicht mehr "state of the art". Es ist
erheblich einfacher das Programm neu zu übersetzen.

Gruß
Joachim

von Joachim B. (joachimb)


Lesenswert?

Hallo Matthias,

in der rtl8019.c gab es eine merkwürdige Ansteuerung des Controllers,
die ich zur Ansteuerung der ungenutzten Bits ändern mußte, aber nicht
mit Ulrichs Schaltung prüfen konnte. (siehe Doku 2.4.6)
Die Änderungen müßtest Du rückgängig machen, oder aber die Vorversion
(03) probieren.

Gruß
Joachim

von Holger B. (Gast)


Lesenswert?

Hallo Martin,

wenn Ingo die aktuellste Software fertig hat, wird vieles einfacher.
Dann kann man alle Einstellungen (IP-Adr, mac, Router,...) in einer
Datei auf der SD-Karte speichern.
Der Webserver kann dann auch selbständig Daten aus dem Internet
anfordern (z.B. die Uhrzeit)
Er kann auch die Bilder der Cam auf die SD-Karte speichern oder auf
einem FTP-Server im Netz (z.B. auf einer Netzwerkfestplatte).

Gruss,
Holger

von Gregor D. (gregi)


Lesenswert?

Hallo Holger,

wir haben uns in den letzten Tagen einen Webserver mit deiner Platine
aufgebaut - es funktioniert wunderbar. Du sprichst von einer neuen
Software-Version.
Nach dem Überfliegen der Sourcen habe ich beschlossen, einige Teile
(Variablen-Einfügung etc.) zu verbessern. Jetzt lese ich aber, dass
Ingo an einer neuen Softwareversion bastelt und möchte fragen, wie
lange das eventuell noch dauern wird.

Danke an dich für deine Platine (hat wie gesagt wunderbar geklappt)
und auch an alle anderen, die Arbeit in die Software gesteckt haben.

liebe Grüße,

Gregor

von Holger B. (Gast)


Lesenswert?

Hallo Gregor,

wir haben auch das Einfügen von Variablen wesentlich verbessert.
Man kann nun flexibler über HTML auf die Daten zugreifen.
Ich hoffe, dass Ingo dieses Wochenende die Quellen zum Download
freigibt.
Könnte sein, dass das Schreiben auf die SD-Karte dann noch fehlt, weil
da noch Fehler auftreten.

Gruss,
Holger

von Gregor D. (gregi)


Lesenswert?

Hallo Holger:
vielleicht sollten wir ev. so etwas wie cvs einrichten
(vgl. sourceforge), damit mehrere entwickler parallel
am code arbeiten können.
gruss
gregor

von Steffen S. (funker)


Lesenswert?

Hallo,

ich möchte mit dem AVR-Webserver die LED nicht nur übers webinterface
ein und ausschalten, sondern auch über 2 Taster (Ein, Aus). Ich habe
mir dazu überlegt, dass ich in der Hauptschleife ständig die beiden
Ports der Taster überprüfe. Wie muss ich einen Port als Eingang
deklarieren? Muss der Port vom Taster auf Masse oder +5V gezogen
werden?

MfG
Steffen

von Werner B. (Gast)


Lesenswert?

@Steffen

Auf
http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial
Siehe unter: Zugriff_auf_Ports

Wichtiger Hinweis: Suche hier in den Foren auch nach "entprellen"

von Steffen S. (funker)


Lesenswert?

da habe ich schon geschaut, habe den Port dann als Eingang deklariert:

DDRB  &= ~(1 << 4);
PORTB |= (1 << 4);

Aber dann ist der Port immer auf 1, er reagiert gar nicht auf die
äußere Beschaltung.

Irgendwas mach ich da falsch...

von Florian Dorfbauer (Gast)


Lesenswert?

Hallo Holger:
ich wollte nur kurz nachfragen, wie es mit der neuen Software
vorangeht?
Gruß, Flo

von Stan Linke (Gast)


Lesenswert?

Hy

ich habe jetzt zwei Webserver zusammengelötet.
Und auch gleich verschiedene Hex Files geflasht.
Als Netzwerkkarte verwende ich je eine 3Com EtherLink III 3C509B-C.
Ich habe sie auch auf RJ45 und 310 gestellt. Die nötigen Modifikationen
auf der Platine habe ich auch gemacht.
Die Files sind von hier:
http://mikrocontroller.cco-ev.de/de/download.php#AVR_WEB

Leider habe ich den Sever noch nicht erreicht, da ich ein 11,0592 Mhz
Quarz verwende.

Wie compiliere ich den nun das neue Hex File mit einer anderen IP und
dem anderen Quarz.
die Datein habe ich schon geändert.
Aber immer wenn ich in Programmers Notepad 2 bei Tools Make all
versuche eine Hex zu erstellen kommt immer sowas:


> "make.exe" all

-------- begin --------
avr-gcc (GCC) 3.4.6
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is
NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE.


Compiling: uart.c
avr-gcc -c -mmcu=atmega32 -I. -g -Os -funsigned-char
-funsigned-bitfields -fpack-struct -fshort-enums -Wall
-Wstrict-prototypes -Wa,-adhlns=uart.lst  -std=gnu99 uart.c -o uart.o
In file included from main.h:17,
                 from uart.c:8:
C:/WinAVR/avr/include/avr/signal.h:36:2: warning: #warning "This
header file is obsolete.  Use <avr/interrupt.h>."
uart.c: In function `UART_Init':
uart.c:36: warning: passing arg 1 of `fdevopen' from incompatible
pointer type
uart.c:36: error: too many arguments to function `fdevopen'
make.exe: *** [uart.o] Error 1

> Process Exit Code: 2
> Time Taken: 00:00


was soll ich blos tun, langsam verzweifle ich noch hier.
MfG Stan

von Stan Linke (Gast)


Lesenswert?

ok jetzt funzts also immer die alte Version benutzen.

von Gerd T. (trussi)


Lesenswert?

Hallo

Ich versuche seit tagen das mir der Webserver mit der Software Version
1.38 auf der Ser. Schnittstelle etwas auf dem Hyp.Terminal ausgibt doch
es passiert nichts. Die Einstellungen sind gemacht(9600,8,N,1)auch die
Schnittstelle und das Null-Modem Kabel sind OK, hat von euch noch einer
eine Idee.
Die Ausgabe der Webseite geht.

von Joachim B. (joachimb)


Lesenswert?

verwendest Du wirklich ein Null-Modem Kabel?
Ich benutze eine durchverdahtete Leitung mit Stecker und Buchse.
(Pin 2 ist mit Pin 2 verbunden. etc.)

Gruß
Joachim

von Peppe (Gast)


Lesenswert?

Hallo,
@ Gerd
hast du eventuell ein Stecker aufgelötet statt einer Buchse?
Du mußt ein 1 zu 1 Kabel benutzen. Fals du wirklich ein Stecker
verlötet haben solltest kannst du einfach ein Genderchanger aufstecken,
dann kannst du dir den Aufwand mit dem auslöten Sparen.

@ Joacheim

Ich wollte mal fragen ob du noch Deine Source für den Webserver online
stellst, die Version mit dem Sender...
Werde am Wochenende die Verstärkerstude aufbauen und deine Source auf
meinem Atmega8 ausprobieren...

Gruß Peppe

von Stan Linke (Gast)


Lesenswert?

Hy
ich wollte mal fragen was das mit dem Webserver mit Sender auf sich
hat?
Gibts da vieleicht einen Link.
Oder berichte doch bitte etwas über dieses Projekt.

An was kann es liegen das ich nur kriptische Zeichen auf meinem
Hyperterminal bekomme.

MfG Stan

von Gerd T. (trussi)


Lesenswert?

Hallo

Danke an Joachim und Peppe für eure Hilfe die hats gebracht.

Ich habe es noch nicht mal mit einem Genderchanger
geschaft(merkwürdig)
habe dann eine Ser. Dose eingelötet und es geht sofort, man kanns kaum
glauben oder.

Gruß Gerd

@ Stan Linke
Stimmen deine Einstellungen (9600,8,N,1) bei mir gehts mit sauberer
Darstellung.

von Stan Linke (Gast)


Lesenswert?

Ja ich habe diese Einstellung gewählt.

Kann das mit den SecureBits zutun haben.
Wie siehts eigentlich aus wenn ich kein 16 Mhz Quarz drinne habe.
Stimmt dann die Augabe auch nicht mehr. Also hat die RS232 am Websrver
keine 9600 Bauds mehr.
MfG Stan

von Peppe (Gast)


Lesenswert?

Hallo,
@ Stan

hier ist der Link zu der ganzen Geschichte mit dem Senden:
http://www.mikrocontroller.net/forum/read-4-248219.html#338876

Ziel ist es mit hilfe des Webservers Funksteckdosen aus dem Baumarkt
anzusprechen,diese gibt es im Set (ein Sender und drei
Empfängersteckdosen)für ca 10 €uro , Joachim hat es so wie er berichtet
schon fertig.
Den Rest findest du bei dem Link...
Die Senderoutine hat er schon veröffentlicht, die Einbindung in den
Webserver soll wohl noch folgen.


Gruß Peppe

von Stan Linke (Gast)


Lesenswert?

Hy
da ich jetzt schon begeistert zwei AVR Webserver zusammengelötet habe,
kamm mir gestern die Idee über CB Funk die Bilder der Webcam an meine
Wohnstätte zu funken.

Besteht denn die Möglichkeit die Camera so auszubremsen das ich die
Bilder mit 1200 Baud an RS 232 über ein CB Funkgerät versenden kann.

Ich denke das wird wohl ein echtes Problem werden 50kbyts würden dann
ja so 6 min brauchen. und zwischenspeichern ist ja auch nicht.

Und was soll ich bloss machen wenn mal ein Packet verloren geht neu
senden geht ja nicht da es ja nicht neu generiert werden kann.

Hat jemand noch eine Idee sehr preisgünstig ein recht gutes Webcambild
über Funk 10 Kilometer zu übertragen (-:

Dann last es mich ruig wissen.
MfG Stan

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
Noch kein Account? Hier anmelden.