www.mikrocontroller.net

Forum: Mikrocontroller und Elektronik Webserver & 1-Wire


Autor: Sucher (Gast)
Datum:

Hallo


Webserver und 1-Wire Freunde. Ich versuche mal hier einen neuen Thread
zu starten,der das Ziel hat einen Webserver mit 1-Wire Unterstützung zu
erstellen. An mehreren Stellen wird schon versucht das Thema
aufzubereiten.

Wie ist die Meinung dazu für den 1-Wire Teil einen kleinen "Atmel" zu
nehmen oder die DS2482-100 bzw. 800 bzw die Funktion dieser mit einem
Tiny zu implementieren. Man hätte dann keine Timingprobleme.

Antwort an  @RoBue: derzeit bin ich sicherlich noch nicht in der Lage
das in Simons Webserver zu integrieren, aber gemeinsam sollte da schon
was gehen. Schön wäre natürlich die Unterstüzung der jeweiligen
Originalautoren.

Mal sehen was geht. Kurzfristig kann ich da sicherlich keinen großen
Beitrag liefern, da mir die Hardwarebasis fehlt.

Viele Grüße
Achim
Autor: Peter Dannegger (peda)
Datum:

Sucher wrote:
> An mehreren Stellen wird schon versucht das Thema
> aufzubereiten.

Kannst Du mal genauer erläutern, was Du damit meinst?

Ich benutze sehr gerne die 1-Wire Temperatursensoren, weil die 2
wichtige Vorteile haben:

1.
Ich habe ohne jeglichen Aufwand (kein Abgleich, kein Analog-Krams)
sofort die genaue Temperatur.

2.
Ich kann jedes ausgelieferte Gerät eindeutig identifizieren.
Ein Seriennummer-Aufkleber kann unleserlich werden, aber einen 1-wire
Chip zu fälschen ist sehr aufwendig.


Wenn man einen MC ohne OS benutzt, ist 1-Wire sehr leicht zu
implementieren und sehr zuverlässig.


Von Webserver habe ich aber Null-Ahnung.


Peter
Autor: Sucher (Gast)
Datum:

Hallo

@Peter ich habe auch schon lange  die DS18S20 im Einsatz (ohne
Webserver). Der Code ist teilweise auch von Dir (?)
http://www.siwawi.arubi.uni-kl.de/avr-projects. Zumindest steht das im
Header. Ich habe das als Standolone-Temperatur-Erfassung schon lange im
Einsatz. Vielen Dank auch nochmals an Dich!

In einigenThreads wird nun diskutiert, dass man diese Routinen in einen
Webserver integriert.
zB: Beitrag "Webserver zur Temperaturmessung"

Mein Gedanke ist nun die Temperaturfassung mit den Ds18S20 eventuell mit
einem Atmega8 (?) vom Webserver zu entkoppeln
Hardwareaufbau eventuell so
>>http://s-huehn.de/elektronik/tempmess/tempmess-sm2.htm

Mit dem Modul könnte man dann noch Relais ansteuern. Ziel ist es eine
Heizung +Solaranlage zu überwachen und zu regeln.
Als Bedien/Konfigurationsoberfläche dann einen Standardbrowser der dann
über den Radig/Simon/Dunkel-Webserver(?) das
"Temperatur-Steuer-Submodul" bedient.

Allerdings fehlt dazu noch die Hardware (Webservermodul/ Sensormodul/
Relaismodul). Webmodul könnte man den von Radig nehmen. Die Frage ist
nun wie man den Sensormodul mit Relais oder eigenen Relaisemodul am
geschicktesten mit dem Webservermodul verbindet (I2C, SPI, RS232 oder?)?
So hätte man eine "saubere" Schnittstelle zwischen den einzelnen
Komponenten.


MfG
Achim
Autor: Jens Krause (jjk) Benutzerseite
Datum:

Sucher wrote:
> Mein Gedanke ist nun die Temperaturfassung mit den Ds18S20 eventuell mit
> einem Atmega8 (?) vom Webserver zu entkoppeln
> Hardwareaufbau eventuell so
>>>http://s-huehn.de/elektronik/tempmess/tempmess-sm2.htm

So hab ich das gemacht (siehe (1)). Ich habe das Sensormodul von
Scott-Falk genommen, einen Server auf dem Linux läuft und ein
Perl-Script. Fertig.
Man kann jetzt natürlich im Script auch eine an den LPT angeschlossene
Relaiskarte Schalten lassen. Klar, da ist n PC als Server, Du meintest
wohl eher nen MC als Webserver, oder? Aber da gibt es doch auch genug
"fertige" Lösungen, und dann sollte doch der Empfang serieller Daten
möglich sein ...

Gruß
  Jens


(1) http://tarkin.ath.cx/~jkrause/temp.php
Autor: Sucher (Gast)
Datum:

Hallo

@Jens, sowas habe ich auch am laufen. Unter Windows XP erfasse ich über
die serielle Schnittstelle DS18S20 Temperaturdaten von einem Atmega32
Subsystem und lade diese  diese in eine SQLServer 2005 Datenbank. Die
Auswertung ist so von der Erfassung entkoppelt.  Aber das ist eine
andere Dimension. Im einen Pc am Laufen zu haben (zwar ein MiniITX)
möchte ich nicht. Ein Mini/Mikro Webserver mit ner SD Karte  ist da doch
ne Nummer kleiner. Es geht also um ei "Downgrade" auf Atmega-Basis.

Ne Frage: Hast Du ne Platine für das Anzeigemodul?

MfG
Achim
Autor: Jens Krause (jjk) Benutzerseite
Datum:

Sucher wrote:
> Ne Frage: Hast Du ne Platine für das Anzeigemodul?

Jain, ich entwickel grad ein Anzeigemodul selber, welches zwischen
Scott-Falks Anzeigemodul 1 und 3 liegt.

Falls Du das Sensormodul meinst, da habe ich dem Scott-Falk mein Layout
zukommen lassen. Man kann es auf Seiner Seite runterladen (unter
Sensormodul2, das von Jens Krause :-) ). Bilder davon sind in seiner
Gallerie.

Das mit dem downgrade ist schon richtig, immer nen Rechner laufen zu
lassen ist nicht so gut. Ich habe demnächst auch vor eine
Heizungsüberwachung zu bauen, aber auch dort kommt wohl ein PC zum
Einsatz, da er eh schon da sein wird. Allerdings auch mit nem Java-Tool
und nicht per Webserver steuerbar.

Aber ich bin mal auf Abo hier :-)
Jens
Autor: RoBue (Gast)
Datum:

Projektbeschreibung 1-Wire - Webserver - AVR-NET-IO
***************************************************

Nachdem Achim freundlicherweise den Thread eröffnet hat, möchte ich -
bevor alle möglichen anderen Beiträger erscheinen - das Projekt etwas
genauer beschreiben.


Angestoßen wurde es durch das relativ billige Webmodul von Pollin
(AVR-NET-IO) mit ATmega32 und ENC28J60, das mit knapp 20 EUR relativ
viel bietet. Nur die Software ist realtiv schwach und dazu ist der
Quelltext nicht offen.

Weitere Infos dazu:
-> http://www.mikrocontroller.net/articles/AVR_Net-IO...
-> Beitrag "Re: AVR für wenig Geld im LAN"
(und natürlich bei Pollin)

Nun haben einige findige Programmierer vorhandene AVR-Webserver für den
AVR-NET-IO umprogrammiert. So stehen z.B.
- der Webserver von SimonK
- der Webserver von Ulrich Radig
als Source und Hex-File für AVR-NET-IO zur Verfügung (s.o.)
Leider haben beide Versionen keine 1-Wire-Abfrage.

Andererseits gibt es einige 1-Wire Webserver für DS1820,
die aber teilweise zu groß für den ATmega32 sind, weil sie (zu) viele
andere Möglichkeiten bieten (Funkuhr, Webcam, ...),
oder/und die nicht mit dem ENC-Bausteinzusammenarbeiten , wie z.B. der
von Joachim Börke.
-> Beitrag "Webserver zur Temperaturmessung"

Routinen für 1-Wire gibt es z.B. von Peter Dannegger (PeDa) und ->
http://www.siwawi.arubi.uni-kl.de/avr-projects

***********************************************************************
Lange Rede kurzer Sinn:
Es wäre super, wenn wir ein Webserverprogramm für da AVR-NET-IO
hinbekämen, das zumindest die Temperatur von 1-Wire-Bausteinen abfragen
und vielleicht mit diesen auch schalten und steuern kann.
***********************************************************************

Ende Projektbeschreibung von RoBue

PS: Ich hoffe, ich habe auch Achims Anliegen richtig wiedergegeben
Autor: holger (Gast)
Datum:

@RoBue

>Andererseits gibt es einige 1-Wire Webserver für DS1820,
>die aber teilweise zu groß für den ATmega32 sind, weil sie (zu) viele
>andere Möglichkeiten bieten (Funkuhr, Webcam, ...),

Dann schmeiss Funkuhr,Webcam doch einfach raus.
Passt dann schon.
Autor: RoBue (Gast)
Datum:

Was wäre zu tun? (Wunschliste)

Ich (!) denke, dass der Webserver von SimonK die besten
Ausgangsmöglichkeiten bietet. Er ist kurz genug für weitere
Applikationen und ich habe das Webmodul (HttpD.c) eingermaßen begriffen,
so dass ich es manipuliernen und erweitern kann.

Nun müsste man "nur" noch 1-Wire-Routinen integrieren. Und genau das
macht mir (!) in mehrfacher Hinsicht Probleme.

Zum einen bin ich ein Anfänger in C und verstehe manche Befehle und
Programmteile schlicht nicht.

(-> Holger: Darum kann ich auch nicht einfach Programmteile entfernen.
Die sind oft so vielfältig ineinander verschachtelt, dass ich da nicht
mehr durchblicke und nur ellenlange Fehlermeldungen produziere. Aber ich
werde mir das nochmal ansehen. Außerdem:)

Zum andern hat mein WinAVR-Compiler immer wieer Probleme mit manchen
Sourcen (Das kann ich gerne noch genauer beschreiben. Vielleicht bin ich
nur zu dämlich. So klappt bei mir weder der Webserver von Joachim Börke,
noch etherape und ethersex, währende die Sourcen von Ulrich Radig und
Simon problemlos laufen. Wieso?)

Eine 1. Hilfe wäre (vielleicht kann das PeDa in Angriff nehmen), wenn
man einfach einmal die nötigen 1-Wire-Sourcen in die des Webservers von
Simon integriert, so dass ein grundsätzlich compilierbarer Code
entsteht.

Der 2. Schritt wäre dann, die nötigen include-Befehle zu setzen und die
notwendigen Initilisierungsroutinen in main.c einzubauen, damit die
Bausteine erkannt werden und ihre Kennung irgendwo (EEPROM?)
festgehalten wird.

Als 3. Schritt müsste das regelmäßige Aufrufen der Bausteine zum Messen
und das Auslesen der Messwerte sein (ca. alle 10 s oder 1 min), die dann
im RAM abgelegt werden. Dies muss man in main.c oder in einer
Interrupt-Routine einbauen.

Zuletzt werden dann diese abgelegten Werte beim Aufruf des Webservers
eingebunden und ausgegeben. Dafür habe ich wohl eine Lösung.

Ich wäre froh, wenn einer der Profis wenigstens den 1. Schritt
übernehmen könnte und die Sourcen mit entsprechenden Kommentaren
versieht (bevorzugt in Deutsch). Ich versuche dann sozusagen von der
anderen Seite her zu kommen.

Grüße RoBue
Autor: holger (Gast)
Datum:

>(-> Holger: Darum kann ich auch nicht einfach Programmteile entfernen.
>Die sind oft so vielfältig ineinander verschachtelt, dass ich da nicht
>mehr durchblicke und nur ellenlange Fehlermeldungen produziere. Aber ich
>werde mir das nochmal ansehen.

Dann folge den Fehlermeldungen und entsorge die Zeilen
die Fehler melden.

>Ich wäre froh, wenn einer der Profis wenigstens den 1. Schritt
>übernehmen könnte und die Sourcen mit entsprechenden Kommentaren
>versieht (bevorzugt in Deutsch). Ich versuche dann sozusagen von der
>anderen Seite her zu kommen.

Die Profis haben aber leider keine Zeit oder Lust
dir deinen für deine persönlichen Zwecke angenehmen
Webserver auf den Punkt genau zu programmieren.

Wer sich mit Webservern beschäftigt sollte schon
extrem gute Programmierkentnisse haben. Wer an bestehenden
Webserver Sourcen rumbasteln möchte sollte auch verstehen
was da passiert. Es gibt keinen Crashkurs für Webserver-Modding.
Jede Änderung kann weitreichende Folgen haben (geht nix mehr).

Also Noobs: kauft euch etwas was eure Anforderungen erfüllt.
Hofft nicht darauf das da einer kommt und es für euch erledigt.
Autor: RoBue (Gast)
Datum:

Hallo Holger,
danke für den Tipp mit den Fehlermeldungen, werde das mal versuchen.

Zum andern ist das die alte Diskussion in vielen Threads:
Wenn ich alles selber könnte, bräuchte ich mich hier gar nicht
einzubringen.

Außerdem habe ich den Eindruck, dass 1-Wire und Webserver durchaus für
viele interessant ist (Heizungssteuerung über Internet). Ich möchte mit
meinen Vorschlägen/Gedanken/Hilferufen die Sache voranbringen. Wenn
keiner helfen will und tatsächlich niemand Interesse hat, ist das auch
o.k.. Ich kann damit leben.

Gruß RoBue
Autor: RoBue (Gast)
Datum:
Angehängte Dateien:

Da hier zur Zeit nicht viel läuft, ein klienr Denkanstoß:

Habe nun einfache 1-Wire-Unterstützung auf AVR-NET-IO integriert.
(Sourcen von Radig, mudman und Wil miteinander verwurstelt.)

- 1 Sensor an PORTA7

- Ausgabe auf Webinterface und UART

- Temperatur wird 1 pro min ausgelesen

Wichtig: Die ID Eures Sensors in config.h eintragen und neu compilieren.

Liebe Downloader (und C-Experten):
Ich würde mich über eine Rückmeldung freuen.
Nehme gerne Tipps entgegen und habe auch gegen aktive Hilfe nichts
einzuwenden.
Auf jeden Fall muss ich mir nun nicht mehr den Vorwurf gefalllen lassen,
dass ich nur andere schaffen lasse ...

Gruß RoBue
Autor: Mike (Gast)
Datum:

Hallo,

sowas gibts schon fertig mit Webserver, Ethernet Anschluss und
Kommandozeilen Interface.
Schaut mal unter http://www.lochraster.org/etherrape
Für das Teil gibts zwei verschiedene Fimware Implementationen die noch
viel mehr Funktionalität haben. Ich habe so ein Teil be mir im Einsatz
um die Aussentemperatur zu erfassen und in eine Datenbank zu schreiben,
das tut einwandfrei. Geplant ist auch noch die Erfassung der
Innentemperatur und die Ansteuerung eines Heizlüfters über FS-20 bei zu
starkem Absinken der Innentemeratur.
Autor: Stefan Siegl (stesie)
Datum:

Hallo,

in Ergänzung zu Mike's Kommentar möchte ich hier mal auf die Ethersex
Firmware hinweisen (siehe http://www.ethersex.de/). Diese läuft auf AVR
Net-IO, hat einen Web-Server integriert und kann über die
ECMD<->HTTPd-Anbindung auch ow-Werte per http abliefern.

Soll heißen man kann mit http://ethersex.ip/ecmd?1w+get+ONEWIREID die
Temperatur abfragen und das mit JavaScript/Ajax dann schön in eine
Webseite verpacken. Wer z.B. die Etherrape-(Original)-Hardware mit
Dataflash hat, kann die HTML-Seiten + JavaScript-Code auch gleich dort
ablegen und hat dann alles an einem Fleck ...

Happy hardware hacking ...
  stesie
Autor: RoBue (Gast)
Datum:

Hallo 1-Wire-Fans,

habe nun eine neue Version (V1.3)für AVR-NET-IO und 1-Wire eingestellt.

Wer möchte, kann sie herunterladen und sie für seine Zwecke anpassen.

-> Beitrag "Re: AVR für wenig Geld im LAN"

Grüße, RoBue

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel




Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder GIF-Format hochladen.
Siehe Bildformate
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken erkennst du die Nutzungsbedingungen an.

webmaster@mikrocontroller.netImpressumNutzungsbedingungenWerbung auf Mikrocontroller.net