AVR-IO Radig

Gast #1617755
Lesenswert?

Moin an alle

Versuche mich gerade an das Pollin AVR-IO -
Läuf soweit mit der Pollin Software.

Gibt es ein AVR Studio Projekt für den Source von Ulrich Radig ??
Oder anderen Source für diese Platine für's AVR Studio??

Ich weiß Tausende von Links usw.  aber ein kleiner Hinweiß wäe nett.

Gruß Juppo
Gast #1617847
Lesenswert?

Besten Dank

Compilieren lässt sich die Sache

Aber nach reset kommt keine definierten zeichen auf der seriellen ??
Habe bei Options Frequenz 16000000 eingetragen
Denke mal die baudrate ist noch daneben.

Welche Mac Adresse muss da rein .die vom Orginalen ??
Ip Adresse wäre dann 192.168.0.99 ??


Gruß Juppo
#1618128
Lesenswert?

Hallo,

die Makefile brauchst du nicht einbinden, das Projekt ist bereits für 
den Mega644 konfiguriert.
Auf dem seriellen Port läuft wie im Original die Konsole, bei 9600 8N1 
solltest du eigentlich Daten bekommen.
Kontrollier mal die Fuse-Bits, die sind beim Net-IO auch gerne mal 
falsch.

Außerdem scheint der Pegelwandler beim Net-IO manchmal nicht zu tun, wie 
er soll. Schau mal in der FAQ zum Net-IO hier auf der Seite
#1618221
Lesenswert?

ich hab sowas mit XHR und Json gemacht. Ist kompakt und funktioniert 
recht gut. Dazu habe ich eine neue Seite im Flash generiert, die alle 
Variablen ausgibt:
1
PROGMEM char Page2[] = {
2
  "{\"analog\":["
3
    "%VA@01,"
4
    "%VA@02,"
5
    "%VA@03,"
6
    "%VA@04,"
7
    "%VA@05,"
8
    "%VA@06,"
9
    "%VA@07,"
10
    "%VA@08,"
11
    "%VA@09,"
12
    "%VA@10"
13
  "],\"temp\":["
14
    "%DS75@0,"
15
    "%DS75@1,"
16
    "%DS75@2,"
17
    "%DS75@3,"
18
    "%DS75@4,"
19
    "%DS75@5,"
20
    "%DS75@6,"
21
    "%DS75@7"
22
  "],\"time\":"
23
  "\"%TIME\""
24
  "}"
25
  "%END"
26
};

Die Indexseite sieht dann wie folgt aus:
1
PROGMEM char Page1[] = {
2
"<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">"
3
"<html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"de\"><head><meta http-equiv=\"Content-Type\" content=\"text/html; "
4
"charset=utf-8\" /><title>My AVR does json!</title><script type=\"text/javascript\">HTTPRequest=function(){};HTTPRequest."
5
"prototype={isSupported:function(){return!!this.getConnection()},events:[\"start\",\"open\",\"send\",\"load\",\"end\"],filter:"
6
"encodeURIComponent,getConnection:function(){var i,o=[function(){return new ActiveXObject(\"Msxml2.XMLHTTP\")},function(){return"
7
" new ActiveXObject(\"Microsoft.XMLHTTP\")},function(){return new XMLHttpRequest()}];for(i=o.length;i--;){try{return o[i]()}catch(e)"
8
"{}}return null},formatParams:function(a){var i,r=[];for(i in a){r[r.length]=i+\"=\"+(this.filter?this.filter(a[i]):a[i])}return r."
9
"join(\"&\")},get:function(a,b,c,d){return this.request(\"GET\",a,null,c,null,d)},post:function(a,b,c,d){return this.request(\"POST\""
10
",a,b=this.formatParams(b),c,{\"Connection\":\"close\",\"Content-Length\":b.length,\"Method\":\"POST \"+a+\" HTTP/1.1\",\"Content-Type\""
11
":\"application/x-www-form-urlencoded; charset=utf-8\"},d)},request:function(a,b,c,d,g,h){var i,o=this.getConnection(),f=d instanceof"
12
" Function;try{o.open(a,b,!h);h||(o.onreadystatechange=function(){var s=HTTPRequest.prototype.events[o.readyState];f?d(o):s in d&&d[s]"
13
"(o)});if(g){for(i in{USER_AGENT:0,XUSER_AGENT:0}){i in g||(g[i]=\"XMLHttpRequest\")}for(i in g){o.setRequestHeader(i,g[i])}}o.send(c);"
14
"h&&(f?d(o,oThis):d[\"end\"]&&d[\"end\"](o,oThis));return true}catch(e){return false}}};var d=document,gebi=function(e){return "
15
"d.getElementById(e);},gebt=function(e){return d.getElementsByTagName(e)};running=false;window.onload=function(){list=[addul(),"
16
"addul()];tmr=window.setInterval(\"refresh()\",500);};function putdata(){putlist(list[0],data.analog);putlist(list[1],data.temp,\"°C\");"
17
"}function putlist(a,e,f){if(f===undefined){f=\"\"}while(a.firstChild!==null){a.removeChild(a.firstChild)}for(var i=0;i<e.length;i++)"
18
"{var b=d.createElement(\"li\"),c=d.createTextNode(e[i]+f);b.appendChild(c);a.appendChild(b)}}function addul(){a=gebt(\"body\")[0];"
19
"return a.appendChild(d.createElement(\"ul\"))}function refresh(){if(running===false){running=true;var a=new HTTPRequest();a.filter="
20
"escape;a.get(\"data.json\",null,{end:function(e){data=eval(\"(\"+e.responseText+\")\");putdata();running=false}})}}</script></head>"
21
"<body></body></html>"
22
"%END"
23
};


in der WEBPAGE_TABLE finden sich dann folgende Einträge:
1
WEBPAGE_ITEM WEBPAGE_TABLE[] = // Befehls-Tabelle
2
{
3
  {"index.htm",Page1},
4
  {"data.json",Page2},
5
  ...
6
};

Die Variablen %DS75@x fallen für dich weg, du hast sicher keine 
Temperatursensoren dran ;)
Gast #1618249
Lesenswert?

Das kann ich mal testen

Ich werde einen Externen AD Wandler anbauen.
Um dann über ein GSM Modem die Daten zu verfügung zu stelen.
Wie ich dann ohne Router im I-Net kommen muss ich dann auch noch mal 
nachschauen.
Daten per FTP übertragen sollte auch kein Problem sein ??

Besten Dank nochmal
Juppo
#1618265
Lesenswert?

juppo schrieb:
> Daten per FTP übertragen sollte auch kein Problem sein ??

Kann ich momentan nicht sagen.

Bei meinem aktuellen Vorhaben möchte ich die erfassten Daten per GET 
oder POST an meinen Webserver schicken, der sie dann in die 
MySQL-Datenbank speichert. Wie ich das auf dem AVR abbilde, weiß ich 
noch nicht genau. Was der Webhoster dazu sagt auch nicht ;)
Gast #1621123
Lesenswert?

Es klappt doch was

Es werden die 10 VA@ angezeigt mit einem dicken Punkt davor.

Die Werte werden sofort aktualisiert.

Dan muss man nur noch mal rausfinden wo die x,y Coodinaten sind und die 
Eigenschaft der Zeichen.

ist doch mal wieder ein erfolg.
Gruß Juppo
#1626596
Lesenswert?

Ich hoffe es ist ok, dass ich die PN hier reinkopiert habe, vielleicht 
interessiert es andere auch.

juppo schrieb per PN:

> Das klappt hervorragende mit den dynamische Variablen im Explorer.
> Kanst du mir noch einen Tip geben wie man in Java die Werte nicht
> als Liste ausgibt,sonder als einzelne Werte,  formatiert und wo genau
> die Ausgabe erfolgt.

Ok, der Quelltext ist zugegeben etwas unübersichtlich ;)

ich hab ihn mal kurz aufgedröselt und angehängt. Kann jetzt aber spontan 
nicht sagen, ob alles so funktioniert, wie's soll.

Der XHR-Code ist von jsfromhell.com (und genauso ist er auch, würde ich 
jetzt nicht mehr verwenden, genauso wie eval zum Rückgewinnen der Daten)

Wenn die Daten angekommen sind, wird die funktion putdata() ausgeführt, 
welche einfach nur das Erstellen der Liste (putlist()) für data.analog 
und date.temp ausführt.

In dieser Funktion wird dann die Liste wieder generiert.

Da du mit JavaScript (großer Unterschied zu Java!) scheinbar noch nicht 
so große Erfahrungen hast: Hol dir Firebug für'n Firefox 
(http://www.getfirebug.com), lade die Seite, drück F12 und tippe in der 
Befehlszeile einfach mal
1
dir(data)
ein. Dann siehst du die Struktur des Arrays/Objekts.

Wenn du dich nicht mit dem Document Object Model herumschlagen willst, 
kannst du auch mit innerHtml arbeiten. Das ist zwar nicht unbedingt 
sauber, aber für den Anfang und Privatgebrauch ok.

erstelle dazu auf der Seite einfach folgendes Tag:
1
<div id="meininhalt"></div>

in Javascript kannst du dann wie folgt auf den Inhalt zugreifen:
1
document.getElementByTagId("meininhalt")[0].innerHTML = "hallo Welt!";

Da ich hier aber keinen JavaScript-Grundkurs machen will, sei auf die 
üblichen verdächtigen verwiesen:

http://de.selfhtml.org bzw. http://de.selfhtml.org/javascript/intro.htm
http://www.netzmafia.de/skripten/javascript/index.html sieht ganz gut 
aus
oder einfach mal nach "Javascript Einführung" suchen.
Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren