Ethernet board használat

Processing/Wiring (illetve C) nyelvű programozási fogások, tippek. (AVR-Duino, Arduino, EthDuino, Diecimila, Severino, Nano, LilyPad)
Avatar
GPeti
Bitmanipulátor
Hozzászólások: 131
Csatlakozott: 2011. március 3. csütörtök, 7:00
Tartózkodási hely: Tápiószőlős

Re: Ethernet board használat

HozzászólásSzerző: GPeti » 2014. május 2. péntek, 14:04

Köszi, pont ezen dolgozok hogy fpt nélkül legyen.

Avatar
Robert
Elektronbűvölő
Hozzászólások: 10033
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

Re: Ethernet board használat

HozzászólásSzerző: Robert » 2014. május 2. péntek, 14:46

A pachube mintakódot nézdd meg. Abban a paraméterátadás van benne.

Avatar
GPeti
Bitmanipulátor
Hozzászólások: 131
Csatlakozott: 2011. március 3. csütörtök, 7:00
Tartózkodási hely: Tápiószőlős

Re: Ethernet board használat

HozzászólásSzerző: GPeti » 2014. május 2. péntek, 17:47

Sikerült ftp nélkül csak php felhasználásával megoldani, txt fájba írok, onnan olvasok, és mentek adatbázisba, most már gyűlnek az adatok csak a grafikon rajzolás van hátra meg egy pár apróság. Lehet a fájlt is ki lehetne hagyni csak adatbázist használni.
Bár az IP címet nem értem miért nem lehet változtatni mint egy böngésző ahol mindig más oldalra látogatunk el, attól mert ingyenes valami ennyire nem kellene lekorlátozni, ez a gond itt most megoldódott de van egy másik projektem a ahol szintén szükség lett volna rá.

Avatar
Robert
Elektronbűvölő
Hozzászólások: 10033
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

Re: Ethernet board használat

HozzászólásSzerző: Robert » 2014. május 2. péntek, 17:54

Feloldható az IP cím is.
Csak ahhoz kell még a DHCP is! És ne felejtkezz el róla, hogy ez egy kis 8bites processzor, 32kbyte FLASH / 2k SRAM és ethernet illesztő....

A köztes file kihagyható, neked kényelmesebb. Szerverterhelés oldalról nem szeretik...

betonbokor
Újonc
Újonc
Hozzászólások: 7
Csatlakozott: 2014. március 18. kedd, 10:27

Re: Ethernet board használat

HozzászólásSzerző: betonbokor » 2014. május 10. szombat, 11:21

Sziasztok!
Ezt a kapcsolást szeretném megvalósítani:
http://fritzing.org/projects/arduino-sh ... -wifi-came
Azzal a különbséggel, hogy az Adafruit CC3000 breakout board -ot http://www.adafruit.com/products/1469
helyettesíteném egy arduino ethernet shield -el.
Ebben szeretnék segítséget kérni.

Avatar
Robert
Elektronbűvölő
Hozzászólások: 10033
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

Re: Ethernet board használat

HozzászólásSzerző: Robert » 2014. május 10. szombat, 12:35

Eddig mire jutottál? Hol akadtál el?
Nézd meg a standard Ethernet könyvtárat és a WiFi-t. Ebből látszik a különbség.

Szilu88
Újonc
Újonc
Hozzászólások: 14
Csatlakozott: 2014. március 2. vasárnap, 16:31

Re: Ethernet board használat

HozzászólásSzerző: Szilu88 » 2014. május 11. vasárnap, 19:35

Sziasztok! Ismét szeretnék segítséget kérni.
Van két ds18b20 hőmérséklet érzéklet érzékelőm egy arduino megám, és egy ethernet shildem benne sd kártyával.
Az időt ntp szerverről kérem le, és hozzá kiírom az adott hőmérsékletet egy csv fájlba. Ez sikerül is.
Le szeretném tölteni weboldalon keresztül ezt a fájlt. Ehhez kiraktam a weboldalra egy letöltés gombot a következő képpen:

Kód: Egész kijelölése

client.print("<h5 align=\"center\"><button type=\"button\"><a href='http://192.168.1.177/log.csv' download='log.csv'>Napl&#243;f&#225;jl let&#246;lt&#233;se</a></button></h5>");

Mivel a weboldalra még más szöveget is kiraktam, ezért a weboldalas rész leegyszerüsítve így néz ki:

Kód: Egész kijelölése

client.println("<br /><br /><br /><br /><br /><br /><br /><br />");
client.print("<h1 align=\"center\"> Online Homerseklet </h1>");
client.print("<h5 align=\"center\"><button type=\"button\"><a href='http://192.168.1.177/log.csv' download='log.csv'>Napl&#243;f&#225;jl let&#246;lt&#233;se</a></button></h5>");

A hiba ott van, hogy amikor rámegyek a naplófájl letöltés gombra, akkor le is tudom tölteni, de van egy olyan hiba, hogy a csv fájl utolsó 2 sorába belerakja az előtte szereplő html kódokat is :( De ha kiveszem az sd kártyát az Ethernet shild-ből és berakom a számítógépbe,majd ott nyitom meg, akkor nincsen benne a html kód, tehát biztos, hogy a letöltés gomb következményeként került bele :(
Van esetleg valamilyen ötlet, hogy ez miért fordulhat elő?
Esetleg lenne másfajta letöltési lehetőség egy weblapra helyezett gombbal? A segítséget előre is nagyon szépen köszönöm.

Avatar
Robert
Elektronbűvölő
Hozzászólások: 10033
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

Re: Ethernet board használat

HozzászólásSzerző: Robert » 2014. május 12. hétfő, 5:47

A file-ba visszaírás esetén, azaz amikor a csv-t olvasod be/írod ki, akkor azt mint oktat/file lapként, vagy HTML-ként adod vissza?

A client.print() részed hogyan néz ki a csv letöltéskor? Nem ott maradt benne a HTML kiírása?

Hogyn oldod meg, hogy a fileméret >8k esetén is leküldhető legyen?

Szilu88
Újonc
Újonc
Hozzászólások: 14
Csatlakozott: 2014. március 2. vasárnap, 16:31

Re: Ethernet board használat

HozzászólásSzerző: Szilu88 » 2014. május 12. hétfő, 9:29

Amikor a csv-t beolvasom és írok bele,az egy if függvényben van, teljesen a loop végén ( client.stop(); parancs után ), a millis() függvénnyel adom meg, mikor mentsen.
A fájl megnyitása írása és olvasása így néz ki:

Kód: Egész kijelölése

File logFile = SD.open("LOG.csv", FILE_WRITE);
  if (logFile)
  {
    logFile.println(dataString);
    logFile.close();
    Serial.println(dataString);
    delay(1000);
  }
  else
  {
    Serial.println("Couldn't open log file");
  } 

A dataString csomagban az idő és a hőmérsékletek vannak benne. Azt jó helyre helyesen beleírja.
1.Most próbálkozom az adatrögzítéssel és a memóriakártyáról való letöltéssel. Az első kérdésedre nem tudom mi lenne a helyes válasz. A letöltéshez keresgetés után ezt a html kódot találtam, amit az előző hozzászólásban bemásoltam. Megjelent a weboldalon, rámentem, működött, csak belerakta az előtte szereplő html kódot is...
Ahol ezt a megoldást találtam, az ez a fórum: http://forum.arduino.cc/index.php?topic=177148.0
2.A letöltést én csak ezzel az 1 sorral oldottam meg, ezt láttam az előbb linkelt fórumon egyszerűnek. A client.print() részem:

Kód: Egész kijelölése

client.println("<br /><br /><br /><br /><br /><br /><br /><br />");
           client.print("<h1 align=\"center\"> Online Homerseklet </h1>");
           client.print("<P align=\"center\">K&#252;ls&#337; h&#337;m&eacute;rs&eacute;klet: <b>");
           client.println(sensors.getTempCByIndex(0));
           client.print("&#x2103;</b> </P>");         
           client.print("<P align=\"center\"> Bels&#337; h&#337;m&eacute;rs&eacute;klet:  <b>");
           client.print(sensors.getTempCByIndex(1));
           client.print("&#x2103;</b> </P>");
           client.print("<h5 align=\"center\"><button type=\"button\"><a href='http://192.168.1.177/log.csv' download='log.csv'>Napl&#243;f&#225;jl let&#246;lt&#233;se</a></button></h5>");

3. Ezzel az utolsó egy sor html paranncsal a számítógépre letölti a fájlt bármekkora nagyságú.
Lehet több kell a letöltéshez, csak ez az 1 sor egyszerűnek tűnt és működött, de jó lenne, hogy ha nem rakná bele mind a 9 sor html kódot a csv végére :(
Nagyon köszönöm, hogy segít nekem.

Szilu88
Újonc
Újonc
Hozzászólások: 14
Csatlakozott: 2014. március 2. vasárnap, 16:31

Re: Ethernet board használat

HozzászólásSzerző: Szilu88 » 2014. május 13. kedd, 18:07

Az van az előző hozzászólásomban lévő linkelt fórum végén, hogy ezzel a kóddal oldotta meg:

Kód: Egész kijelölése

webFile = SD.open("log.txt");
if (webFile) {
   client.println("HTTP/1.1 200 OK");
   client.println("Content-Type: application/octet-stream");
   client.println("Content-Disposition: attachment");
   client.print("Content-Length: ");
   client.println(webFile.available());
   client.println();
   while(webFile.available()) {
      client.write(webFile.read()); // send web page to client
   }
   webFile.close();
}

de nem értem hogyan lehet, vagy hogyan kell használni ezt a kódot... :(
Ha gombhoz kell társítani, akkor olyanhoz kell, amivel nem tölti újra az oldalt, akkor melyik az a gomb :( Kérem segítsen.

Avatar
Robert
Elektronbűvölő
Hozzászólások: 10033
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

Re: Ethernet board használat

HozzászólásSzerző: Robert » 2014. május 14. szerda, 4:14

Ha a lekért file a /web.txt, akkor kell a file-t visszaadni. Azaz ha a kliens fejlécben a "GET webfile.txt" van benne.

Alapelv: http://startingelectronics.com/tutorial ... ver-image/

A kulcsrész e körül van:

Kód: Egész kijelölése

     else if (StrContains(HTTP_req, "GET /page2.htm")) {

Szilu88
Újonc
Újonc
Hozzászólások: 14
Csatlakozott: 2014. március 2. vasárnap, 16:31

Re: Ethernet board használat

HozzászólásSzerző: Szilu88 » 2014. május 19. hétfő, 11:03

Köszönöm, így sikerült megcsinálnom, de kellett még bele egy break; parancs is a végére :)
De így mivel a gomb a htm fájlban foglal helyet, így a hőmérséklet amit szintén kiíratok a weboldalra arduino kóddal, csak a gomb után jelenhet meg, mivel a htm oldalt töltöm be először. Ha a gombot úgy definiálom, hogy megadom a helyét, akkor az arduino kódban megadott hőmérsékletet is lejjebb tolja.
Talán ha megcserélném a htm fájl behívását és a kiírást, akkor sikerül megcserélnem a helyét.

Szilu88
Újonc
Újonc
Hozzászólások: 14
Csatlakozott: 2014. március 2. vasárnap, 16:31

Re: Ethernet board használat

HozzászólásSzerző: Szilu88 » 2014. augusztus 20. szerda, 15:55

Sziasztok! Ismét szeretnék segítséget kérni.
Van két arduino megám és hozzá két w5100-as chippel ellátott ethernet shield.
Azt szeretném csinálni próbaképpen, hogy az egyik egység digitális bemenetére 5V-ot rakok, akkor a másik egység digitális kimenetén világít egy led.
Ezt lan kábellel szeretném mindenképpen. Ez lehetséges lenne Udp-vel vagy valahogyan?
Hosszas keresés után találtam ilyet davekw7x hozzászólásában a fórumon,

http://forum.arduino.cc/index.php?topic=57396.0

de ezt a hibát kapom
'class EthernetUDP' has no member named 'readPacket'


Lehet, hogy rossz irányba keresek, sajnos tanácstalan vagyok. :(

Avatar
Robert
Elektronbűvölő
Hozzászólások: 10033
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

Re: Ethernet board használat

HozzászólásSzerző: Robert » 2014. augusztus 21. csütörtök, 7:14

A mintakód pde kiterjesztésű. Arduino-0023 keretrendszerrel próbálkozz.

Bazs87
Biztosítékgyilkos
Hozzászólások: 62
Csatlakozott: 2014. július 20. vasárnap, 20:27

Re: Ethernet board használat

HozzászólásSzerző: Bazs87 » 2014. szeptember 7. vasárnap, 20:11

Sziasztok!

Van egy W5100-as chippel szerelt ethernet shieldem (az alábbi linken megtekinthető).
http://www.amazon.de/gp/product/B00HG82 ... UTF8&psc=1

A shield működik, viszont a W5100-as chip hirtelen felmelegszik amint áram alá kerül. Ezt eddig egyetlen alkatrészél sem tapasztaltam. Az lenne a kérdésem, h ez normális dolog és hagyhatom-e hosszabb távú tesztelésre akár felügyelet nélkül?

A másik kérdésem, hogy elkezdtem a html alapjaiba beleásni magam, hogy összerakjak egy egyszerűbb kezelőfelületet. Az eddigiek alapján arra jutottam, hogy az arduino által használt syntax nem teljes mértékben passzol össze az alap szgépes változatéval (pl. Amaya, forrásom: http://psycho.unideb.hu/munkatarsak/erd ... poktol.pdf ).
Tudnátok ajánlani valamilyen példasort vagy irodalmat, ami ezt kicsit részletesebben taglalja? Főleg a spec. funkciók érdekelnének (pl hogyan olvasok vissza szövegbeviteli mezőből stringet, adatletöltés SD kártyáról, több űrlapelem értékadása/kitöltése majd egy adott "következő" gomb megnyomásakor az egész bekérése, hogy ne kelljen minden egyes változáskor frissíteni az oldalt). A tavir kapcsolódó témáit már átböngésztem.

Válaszotokat előre is köszönöm!


Vissza: “Arduino / C-nyelvű programozás (AVR-Duino, EthDuino, Arduino, Diecimila)”

Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 1 vendég