<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div class="moz-cite-prefix">Am 28.01.2013 20:09, schrieb mal.inet:<br>
</div>
<blockquote cite="mid:000c01cdfd8a$f16848b0$d438da10$@arcor.de"
type="cite">
<meta http-equiv="Content-Type" content="text/html;
charset=ISO-8859-1">
<meta name="Generator" content="Microsoft Word 14 (filtered
medium)">
<style><!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
{font-family:Tahoma;
panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0cm;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-fareast-language:EN-US;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:purple;
text-decoration:underline;}
span.E-MailFormatvorlage17
{mso-style-type:personal;
font-family:"Calibri","sans-serif";
color:windowtext;}
span.E-MailFormatvorlage18
{mso-style-type:personal-reply;
font-family:"Calibri","sans-serif";
color:#1F497D;}
.MsoChpDefault
{mso-style-type:export-only;
font-size:10.0pt;}
@page WordSection1
{size:612.0pt 792.0pt;
margin:70.85pt 70.85pt 2.0cm 70.85pt;}
div.WordSection1
{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
<div class="WordSection1">
<p class="MsoNormal"><span style="color:#1F497D">Hallo zusammen,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">ich habe vor
einiger Zeit auf volkszaehler.org ein Video von Justin
Otherguy entdeckt.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">Leider ist das
Video jetzt offenbar verschwunden.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">Aber genau so
wie er das beschrieben hatte , will ich jetzt bei mir eine
Umgebung aufbauen.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">Also:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">S0-Zähler auf
der Hutschiene, irgendwas auf der Wasseruhr und auf der
Gasuhr, evtl. auch Außentemperatur.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">Die S0 Signale
senden ich an den AVR-Net IO, der wiederum per Ethernet an
die Dockstar.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">Und jetzt bin
ich eben an der AVR-NET IO dran.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">Ich habe
bereits verstanden, dass ich das Ding mit "ATMEGA 644P-20PU"
aufrüsten muss.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">Und ebenso wohl
den "usbasp usbisp 3.3v 5v avr programmer usb atmega8
ATmega128 " anschaffen muss um das Ethersex drauf zu
bekommen.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">Kann ich das
von meinem Windows7 PC machen ?<o:p></o:p></span></p>
<br>
</div>
</blockquote>
<br>
Sowas kann man mit Windows machen, Stichwort "WIN-AVR". Das ist der
Compiler mit so ziemlich allem, was man braucht. <br>
<br>
Der Atmega32 auf dem Board hat bisschen wenig Flash (32k) und vor
allem keine Möglichkeit, bei einem Signalwechsel an den Portpins
einen Interrupt auszulösen. Sowas ist sehr praktisch, weil man sich
da nicht drum kümmern muss, ggf. einen Zählimpuls eines S0-Zählers
zu verlieren. Sinnvoll bei mehreren Zählern. Zum Glück gibt es
pinkompatible Typen, die von allem mehr haben (RAM, Flash) und auch
diese IRQ können. Müsste nachsehen, ob der 644 das kann, der 1284P
kann es sicher und kostet so ziemlich das gleiche.<br>
<br>
Beim EInstellen der watchasymc-Parameter kann man dann das Polling
ausschalten und Interrupts verwenden. Programmieren kann man den
NetIO mit irgend einem AVR-Programmer, die billigsten bei Ebay sind
die "USBASP"-Teile für weniger als 3€ aus China. Geht problemlos.<br>
<br>
Bei mir läuft diese Lösung seit knapp 2 Jahren störungsfrei (NetIO,
1284P, 6 S0-Zähler). Ich hab extra einen kleinen Stresstester mit
einem zweiten NetIO gebaut und das Teil mit regelkonformen
S0-Impulsen bombardiert (schön zufällig, von 1-6 Impulsen
gleichzeitig). Impulse hab ich keine verloren, Engpass ist eher der
Webserver mit seinem Wahnsinns-Overhead, auf einer kleinen Maschine
schon bemerkbar, wenn gleichzeitig 6 Impulse ankommen. Inzwischen
schicke ich den ganzen Krams an einen kleinen Daemon (in perl),der
erzeugt die Zeitstempel, schreibt das ganze direkt in die Datenbank
und grinst nur über die "Belastung". Da die Genauigkeit der
angezeigten Leistung der Stromzählerkanäle direkt von der
Genauigkeit der Zeitstempel abhängt, ist das wesentlich präziser.
Ich hab allerdings nicht ausprobiert, wie sich das ganze verhält,
wenn man auf dem Ethersex eine Systemuhr mitlaufen lässt, das ganze
per ntp synchronisiert und die Zeitstempel vom NETIO machen lässt.
Dann ist man das Thema Webserver-Performance weitgehend los. Das
geht allerdings aus Platzgründen definitiv nur auf einem größeren
Prozessor, nicht dem originalen Mega32.<br>
<br>
Martin<br>
</body>
</html>