Pages: 1 [2] 3 4   Go Down
Author Topic: Arduino Ethernet Shield  (Read 10853 times)
0 Members and 1 Guest are viewing this topic.
0
Offline Offline
Newbie
*
Karma: 0
Posts: 14
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Quote
En...  It is a good idea - can be implemented with Full TCP/IP protocol rather than the Single data packet at the moment.   But are we going to reinvent the WIZNET module?  
What? Your shield only does single packets? (UDP only?)
Hmm that limits its usefulness.

Maybe switch over to Wiznet with a onboard AVR controller?
The Wiznet chews about 8kb as well to interface with it.
But it can handle TCP/IP in hardware which makes it substantially simpler.

No... We have webserver implementation, and HTTP is based on TCP.  It is the a simplified TCP/IP implementation that uses the "single data packet",  which  sends the FIN immediately together with the data,  rather than uses standard multiple packets TCP/IP protocol.  

This makes the state handling for the closing of the connection a lot simple, and leave more space (flash & RAM) for user application.   "Single data packet" means that your webpage(s) needs to be in one packet (limited by 1K RAM space), which should be OK for many applications that Arduino can handle.
Logged

New Zealand
Offline Offline
God Member
*****
Karma: 0
Posts: 999
Arduino pebbles
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Quote
Also have you considered putting a AVR on the shield so the code required to interface with it is reduced?
But are we going to reinvent the WIZNET module?  
It does sounds a little that way. :-)

I've actually previously contemplated making a Netduino shield with an AVR on it that would provide a Lantronix-compatible interface, but it's still on the "to do" pile.

--Phil.
Logged

Brisbane, Australia
Offline Offline
God Member
*****
Karma: 1
Posts: 593
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
This makes the state handling for the closing of the connection a lot simple, and leave more space (flash & RAM) for user application.   "Single data packet" means that your webpage(s) needs to be in one packet (limited by 1K RAM space), which should be OK for many applications that Arduino can handle.
Well that technique makes it completely useless for most purposes. smiley-sad
HTTP is basically the only protocol which does that.

Sticking a AVR on the shield gives you significantly more power.
Logged

USA
Offline Offline
Sr. Member
****
Karma: 0
Posts: 452
Freeduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Quote
Also have you considered putting a AVR on the shield so the code required to interface with it is reduced?
Put all the low level code on the on board processor and expose a simple API over I2C or something.
En...  It is a good idea - can be implemented with Full TCP/IP protocol rather than the Single data packet at the moment.   But are we going to reinvent the WIZNET module?  
Not a chance... wiznet can handle 25Mbps, put in a module for $20.  This is far less powerful and more expensive.  I should say what is being reinvented is the stone wheel
Logged

0
Offline Offline
Full Member
***
Karma: 0
Posts: 173
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Where can you get a wiznet module for $20?  Everywhere I look they are closer to $40, and thats just the wiznet module... then you need a shield, are you telling me you can get this put together and retail the whole thing for less then $24, cause if so I want one.  This was only $24.  For the price I think its pretty nice.

Ladyada has a really nice shield out, but I it's another $40 for the wiznet module... thats pretty much everywhere.

I think this is pretty useful.  1K is a pretty big message to send from a device with a limited amount of memory.  Mine will serve up tiny xml messages that are consumed and displayed elsewhere via xsl transform.
Logged

SF Bay Area (USA)
Offline Offline
Tesla Member
***
Karma: 137
Posts: 6788
Strongly opinionated, but not official!
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Lady Ada's board uses the Lantronix X-port, which is different from the wiznet chip.  In theory, the wiznet chips and modules are more general purpose, cheaper, and harder to talk to.  Looks like modules are down around $22 each here: http://www.saelig.com/miva/merchant.mvc?Screen=PROD&Product_Code=ETH027&Category_Code=
Logged

USA
Offline Offline
Sr. Member
****
Karma: 0
Posts: 452
Freeduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

@aballen, I think it is not fare to compare the Ethernet shield (nuelectronics, with the ENC28J60 + PIC) with a Shield with a wiznet module.  The wiznet module is per se comparable to the Ethernet shield.  If you compare component by component, you can build a W5100 based Arduino shield and retail it for aprox the same price (The wiznet based shield is just the same wiznet module placed in a different PCB with a shield form factor)... and by the way, you don't need to program any MCU....
Logged

0
Offline Offline
Full Member
***
Karma: 0
Posts: 173
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

I see,  I guess my mixup cost me a few bucks.  

So how do i interface with the wiznet module, it looks like its uses spi, but I would prefer a simple socket api to read write over streams.....

or better yet is there an 802.11g chip that could be used for similar purposes?
Logged

New Zealand
Offline Offline
God Member
*****
Karma: 0
Posts: 999
Arduino pebbles
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
So how do i interface with the wiznet module, it looks like its uses spi, but I would prefer a simple socket api to read write over streams.....
You'll want the source code for libw5100 which (at the lowest level) provides a sockets API to the WIZ810MJ but also provides a higher level HardwareSerial API compatible interface. (Which basically means once you've configured a connection you can treat it like the Serial object with calls to read, print etc.)

The page above also has a design for the Netduino expansion shield prototype which accepts a WIZ810MJ module.

--Phil.
Logged

UK
Offline Offline
Sr. Member
****
Karma: 1
Posts: 491
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
The library was only tested on Windows machine, since I don't have a Linux PC.   I've changed the line #include "EtherShield.h to #include "etherShield.h" in file etherShield.cpp.  The new file has been uploaded to my website.

Hope it will work on Linux.  I'd really appreciate if someone could test it.  Thanks  smiley-wink

Firstly can I just say one word: Awesome! For £13 my Arduino is now on the interwebs!

Having said that, there's another case sensitivity problem on Linux - the filenames of the sample sketches etherShield_ping.pde and etherShield_webserver.pde don't match the directories they're in so calling up the samples from the IDE fails.

What I'd actually like to do with it is make the Arduino a client rather than a server - have the user push a few buttons and the Arduino sends a message to a webserver elsewhere on the network. Is that doable, the Arduino initiating a conversation?

Andrew
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 1
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
the example code was perhaps a *little* daunting for newbies.

I uploaded the nuelectronics ping and webserver examples without problem, but both the temperature and the example above fail in Arduino v11. They both work fine in 10, not sure what has changed...
Logged

Forum Administrator
Cambridge, MA
Offline Offline
Faraday Member
*****
Karma: 12
Posts: 3538
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Arduino 0011 has trouble with sketches that #include stdio.h in the main PDE file (it still works fine if you #include it in a .c or .cpp file). Add this line to the top of the code:

#undef int()
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 33
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hi everybody,

I would like to say a big "Thank you" to   UH   for his "reallySimpleServer", which is very usefull for newbies like me!

But as all the newbies, I always want more... and I would like to know how to send a value from a webpage to arduino. For example, if I want to switch on a led by pressing a button in the web page...

This shield is really interesting for me but also really difficult... and it's hard for me to understand the nuelectronics sample.


Thanks you by advance for your help,
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 14
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

I just updated the Ethernet shield project note -
http://www.nuelectronics.com/estore/index.php?main_page=project_eth

and included an example of switching on/off a LED via webserver.

It might be helpful for your project.
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 33
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hi nuelectronics,

It will be very very usefull for my project ! And it will help me to understand also..

Thank you so much for this quick response,

Roman
Logged

Pages: 1 [2] 3 4   Go Up
Jump to: