Ethernet WebServer (Duino MiniBoard + EthShield)

Processing/Wiring (illetve C) nyelvű programozási fogások, tippek. (AVR-Duino, Arduino, EthDuino, Diecimila, Severino, Nano, LilyPad)
Avatar
kissci
Újonc
Újonc
Hozzászólások: 4
Csatlakozott: 2008. október 20. hétfő, 6:00

Ethernet WebServer (Duino MiniBoard + EthShield)

Hozzászólás Szerző: kissci »

Az ArDunio-t tanulgatom, nézegetem.
A beépített Ethernet könyvtárat, hogyan lehetne működésre bírni? Talán a
Ardunio\hardware\libraries\Ethernet\utility\spi.h fájlt kellene konktretizálni?
Vagy mennie kéne alapból?

Az alapprogramot (az arduinoba beépített WebServer-t), ha felrakom az Ethernet modult nem hajlandó feltölteni a programot, csak ha a miniboard modul nélkül van.
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

MiniBoard nélkül feltöltöd. Kikapcs.
Ethernet Board rárak.
Örül:)
Mármint akkor, ha a 2 LED a beépítet csatlakozóban 0,5 sec periódusidővel villan 3-at...
Ezután inicializál a ENC modul a netre... Ha Routered van, akkor amiut érdemes meglesni: Auto connection (nálam full duplex), és 10 Mbit/sec. Néha szeretne 100-on kezdeni kommunikálni. Ez beállítási hibára utal vagy (nagyon ritkán) kábelhiba. A Collosion LED nem éghet/villoghat!


Ethernetből az ENC28J60-ashoz a letöltések közötti modul kell. remélem felraktam... Ha nem, este pótolom... A leírás (alkalmazási példák) most készül.

A pde fájl elején a IP cím beállítára vigyázz, azonos alhálózatra kell beállítani. Ha a Routered 192.168.1.254-en vagy akkor a 192.168.1.2....192.168.1.99 közé tedd be (a x.x.x.100 és az x.x.x.200 közt dinamikus címkiosztás van. Ezt a modul nem támogatja! És az ütközés elkerülése miatt érdemes ez alá rakni. 0 ill 255 végű nem lehet a cím!
Az ARDUINO 0012-es verziója csak a WizNet modult támogatja, az ENC28J60-asat direktben nem....


A kód feltöltése során esetlegesen szükség lehet a RESET kézzel megnyomására (főleg ha a ResetEnable jumper nincs felrakva..). :)
Avatar
kissci
Újonc
Újonc
Hozzászólások: 4
Csatlakozott: 2008. október 20. hétfő, 6:00

Minden OK

Hozzászólás Szerző: kissci »

1.) Köszi, megy, megtaláltam a neten a kívánt modult, de azért töltsed föl a később jövőknek.

2.) Az IP cím kiosztás nagyon függ a router beállításaitól, tehát az 1-99 intervallum nem mindig jó (sok routeren pl.: 192.168.1.1 a router maga es rögtön a 2-100-ig van a címkiosztás, nálam meg 1,2,3-on mind router van es 100-120-ig oszt a DHCP)!. Az valóban igaz, hogy nem jó oda tenni statikus címet, ahol DHCP működik :).

És még egy kérdés: 1-wire eszközt lehet a d11-re rakni (alapból itt van az extboardon), ha fent van az EthSeild modul vagy más portot kell neki keresni (nagyon kezdő vagyok :) )
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

Szabad lábra tedd fel.
A D11-es foglalt. A SlaveIn van rajta...

Ami szabad:
D0, D1, D4-D9


Egy láb 2 féle funkciót nem szeret igazán:). Te sem tudsz egyidőben beszélni és enni is :)... (legalábbis ezzel a hasonlattal szoktam élni)

Itt sem egyszerre teszed, hanem _egymás után_.
A legjobb, ha a funkciókat szétbontod....


Felraktam a File Cserebere alá a EthDuino.zip néven.
Tartalma:
etherShield_client (hőmérés adatbázisba)
etherShield_client1 (hőmérés adatbázisba)
etherShield_ping (ping)
etherShield_webserver (kapcsoló+hőmérő)
etherShield_web_switch (kapcsoló)
etherShield_web_temperature (hőmérő)
Avatar
ArySoft
DrótVégénSzéndarab
Hozzászólások: 16
Csatlakozott: 2009. február 23. hétfő, 7:00

Forditási hiba

Hozzászólás Szerző: ArySoft »

Sziasztok
Még nagyon kezdő vagyok. megrőbáltam a ethernet minta progit beforditani de ezt a hiba üzenetet kapom

c:/arduino-0013/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/lib/avr5/crtm168.o:(.init9+0x0): undefined reference to `main'


Couldn't determine program size: C:\arduino-0013\hardware/tools/avr/bin/avr-size: 'C:\Users\Papa\AppData\Local\Temp\build4671.tmp\etherShield_webserver.hex': No such file
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

Igaz nem ékezetes könyvtárban van?

A 0013-as az most jött ki. 0012-es nem jó?

A 0013-asból melyik ETH-t fordítottad le?
Avatar
ArySoft
DrótVégénSzéndarab
Hozzászólások: 16
Csatlakozott: 2009. február 23. hétfő, 7:00

Hozzászólás Szerző: ArySoft »

Hali
A mita progi a File csere-bere csomagból van
elötte a verzioval probáltam u az
Avatar
ArySoft
DrótVégénSzéndarab
Hozzászólások: 16
Csatlakozott: 2009. február 23. hétfő, 7:00

Hozzászólás Szerző: ArySoft »

0012 verzio lemeradt
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

A Hardware/éibraries/ethDuino alá másold be a *.o. *.h, *.cpp file-kat.
A mintaprogi első futásokor lehet hogy kell egy Sketch->Import Library->EthDuino.
Kilépsz (mentsé NINCS) és ezután megnyitva pl. a etherShield_ping.pde állományt, le is fordul.
Avatar
Molyo
Újonc
Újonc
Hozzászólások: 1
Csatlakozott: 2009. január 13. kedd, 7:00

Webszerver "titkosítás"

Hozzászólás Szerző: Molyo »

Sziasztok!

Játszadoztam tegnap az AVRDuino+Eth. Shield eszközökkel és feltöltöttem a hozzá kapott hőmérős projektet. Regisztráltam magam a DynDNS szolgáltatásnál így elérhető lett a kis eszközöm a publikus WEB-ről is.

Ezzel kapcsolatban merült fel bennem egy kérdés, hogy hogyan lehetne biztonságosabbá tenni az eszközt, értem ez alatt hogy csak jelszó ismeretében lehessen látni az oldalt. Mint pl. ahogyan az a routereknél működik.

Olvasgattam a fórumokat de ilyen témában nem találtam hozzászólást.

Előre is köszi a válaszokat.
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

A paraméterátadást a cmd=? sor adja.
Esetleg itt a kapott átadott változók feldolgiozása 8esetleg a Javascript átirányít a jó oldalra, vagy a eszköz is tárolhatja...
Csak a post methódus értelmezhető a FORM esetén, a getet ne akard leprogranozni:)
Avatar
pete
DrótVégénSzéndarab
Hozzászólások: 32
Csatlakozott: 2010. április 26. hétfő, 6:00

Hozzászólás Szerző: pete »

Udv néktek,

rövid elmerülésem az Ethshiled lelkivilágában kissé kiábrándított... a TG-s 3.x IP stack az gyakorlatilag szinte webszerverre van optimalizálva, egy telnet szervert megírni vele majdnem lehetetlen. Az UDP küldés elég dzsörzé, a vevő pufferben kapott udp csomagnak irkálja át a fejlécét és ír bele a tartalmába, a válaszban a forrásportot nem írja át, sajnálták azt a két sort amit bele kellett volna rakni hogy az initnél beállított portszámról válaszoljon. TEchnikailag úgy néz ki hogy a géped küld pl. udp 45000-rol a shield pl. 200-asara es a valasz a shiledbol a 45000-rol jon a geped 45000-resere. Mivel udp-ben nincs connection, ez nem sert szabvanyt, de ...

A nagyobbik banat, hogy az udp kuldo fv-bol csak egy van, ami csak valaszt kepes kuldeni, es nincs is kiexportalva az ARduino library-ba, tehat *nem tudsz udp csomagot kuldeni* !

A C forrasa az eredeti tuxgraphics.org-os ethernet + tcpip libnek nincs verziószámmal ellátva, így csak tippelni lehet h a 3.x-bol melyik verzio van becsomagolva....

A jo hir, hogy van az eredeti libnek 2010.02-es kiadasa 4.x-es verzioszammal ami bar nem kompatibilis a 3.x-szel de van benne altalanos celu udp es tcp kliens, dns resolver .... A rossz hir hogy nincs hozza Arduino lib.
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

Erre jó, hogy van Bascom forrás, így abban az UDP, TCP/IP, Ping és ARP készen van....
:)



Eth kiegészítő:
http://blog.thiseldo.co.uk/?p=329
http://code.rancidbacon.com/LearningAbo ... noEthernet


Illetve a WizNetShieldet használom még, abban sokminden készen van....
Avatar
pete
DrótVégénSzéndarab
Hozzászólások: 32
Csatlakozott: 2010. április 26. hétfő, 6:00

Hozzászólás Szerző: pete »

Az arduino lib-ben van arp es icmp, szep is - jo is. Egy kicsit hakkeltem az arduino illeszto kodot es mar van udp kuldes :)

Ahogy a masodik linken irjak, a tcp nagy banat mert ha meg az mss-t le is tudod szoritani, a max datagram meretet mar nehez es ha tul sok adatot kapsz, akkor vege, valamit felulir a kodban... Remote code execution exploit, vagy uj bootloader? :)
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

Trükk:
NE ATMega168, hanem 328ban használd és így az 1600 (1500)-as csomagméret kihasználható (kód felülírás nélkül!)

A SRAMban az M168ban kicsi a TCPIP csomagméret helye, és a SRAM egy részét felülírja (ahol a többi adat van). M328 esetén megúszható.

A programkódbana ENC28J60 következő csomagot 1:1-ben bemásolja a SRAMban. Így ha az beleírható, hogy csak a lefoglalt méretig tegye, akkor kivédted a felülírást. A csomag végét kiolvashatod az ENCből, csak az AVRbe ne másold be. Az exploitot így (is) ki tudod védeni (ekkor max csonkolt TCP csomagod lesz...
Válasz küldése