Standard, simple arduino board w/ LAN communication?

Greetings,

I just need a board with an integrated LAN port, that will use the Ethernet library and will guarantee me a workflow without any board-hardware-related problems. As I am a not savvy and I am not intending to be one now, I just want to code the thing, plug it to LAN and have the thing working without worrying about if this board needs something else besides correct code to make it work.

I just want to be sure I bought the right arduino.

Well, plainly put, I just want:

  • control devices connected to arduino over HTTP from a webserver on my computer,
  • receive data from those devices over HTTP and store it to my database.

I am using node.js, express, mongodb(with mongoose) stack.

Things I already looked into:

Arduino Ethernet Rev3 Without PoE Module;
Arduino Yun;

So which one should I get?

Thank You very much.

Apart from communicate over the Lan what else do you want your Arduino to do?

The other activity must also be considered when choosing a board.

...R

Thank you very much for replying, Robin.

I updated the post.

Sorry, I would've went into details from the start, but I did not want to cluster the post with details that I thought are not exactly "necessary"...

For the future please do not make substantive changes to an earlier post as it makes nonsense of subesequent replies. Maintain the chronological order of the discussion.

It sounds like you have a web server somewhere and you want an Arduino to make requests to it to reterieve data that will be used to change the status of LEDs.

I can't conceive what exactly you mean when you say "POST to a database on it's own".

Do mean that the database should be hosted on the Arduino? If so, I think the Yun is the only option?

On the other hand maybe you just want the Arduino to POST to the server I referred to in paragraph 2 and the server will write to the database?

if you don't need to host the database and if the web page that the Arduino is accessing is very short and simple then either solution should do. I have no experience of the Ethernet board that you mention - do you mean an Uno with an Ethernet shield attached?. For a simple task it may be simpler to use. If the task is more complex the ability to program the Linux side of the Yun with Python would be a big plus in my book.

...R

Regarding the edit of the main post. Well, in my humble opinion, while I agree on not editing the meaning of replies, having the main post updated always seemed like an efficient way to have new to the thread people having a clear idea of what's going on right from the start instead of swimming through replies and wasting time trying to figure out. Though, I will bear your advice in mind next time. Thank you.

As I am not sure about arduino capabilities, I was sort of separating the functions of arduino receiving an HTTP request and arduino making an HTTP request. I was separating those two because I am not sure if arduino being able to receive an HTTP request means it is also capable of making one too. Probably it was silly of me to do so, but I just want to be sure. Btw, POST is a request type in HTTP, like DELETE, GET, PUT, etc.

My current project's main need is arduino being able to receive HTTP requests so I can:

  • change the pin value: for example, turn on a LED,
  • get the value/state of the pin to know whether the LED is on or not.

As I was not sure if arduino will be able to send HTTP requests, I considered it an optional thing, because if not in HTTP, it can send the value/state data of the pins in some other ways, which I thought is acceptable if having arduino capable of making HTTP requests would bring me more specific hardware/etc.

Sorry for for creating a pointless confusion. I mean, if it is able to read/receive HTTP requests, it should also be able to create/send HTTP requests.

yogintas:
My current project's main need is arduino being able to receive HTTP requests so I can:

  • change the pin value: for example, turn on a LED,
  • get the value/state of the pin to know whether the LED is on or not.

Your Arduino will have to running a server if it is to be able to receive HTTP requests. An Uno can do that to a limited extent, but it would be very much easier IMHO on a Yun which could run something like the Python Bottle web framework.

But an Arduino that sends HTTP requests to another server can both send and receive data as part of that process.

I confess I am still confused about what you actually want to do. Perhaps it would help if you describe the project without making any attempt to describe the implementation details.

...R

Well, plainly put, I just want:

  • control devices connected to arduino over HTTP from a webserver on my computer,
  • receive data from those devices over HTTP and store it to my database.

Hmm... is creating a server on arduino itself is really necessary, though? I am asking because on this page:

http://www.arduino.cc/en/Reference/Ethernet

under the 'Client class' it is said:

'The client class creates clients that can connect to servers and send and receive data.'

And under 'Server class' it is said:

'The Server class creates servers which can send data to and receive data from connected clients (programs running on other computers or devices).'

I also looked at an example (http://www.arduino.cc/en/Tutorial/WebClient) where they only used the 'Client Class' lib to send HTTP request. And according to the explanation of the 'Client Class', it can also receive HTTP requests, which I think would suit my needs.

The only thing needed for both is the 'Ethernet Shield' which can be connected to an arduino board, also there are arduino boards that have the shield integrated already, like Arduino Ethernet Rev3, but apparently it's retired.

The reason I am here in this forum is that I don't want to run into some problems that are not apparent to a noob like me when buying a board. Just want to make sure I wont be having problems.

Thank you very much for bearing with me.

yogintas:
under the ‘Client class’ it is said:

‘The client class creates clients that can connect to servers and send and receive data.’

That is what I was referring to in Reply #5 when I said

But an Arduino that sends HTTP requests to another server can both send and receive data as part of that process.

It seems to me to be the simplest option. Just keep in mind that the Arduino has very little memory so keep any web page / data that it needs to access as short and simple as possible.

…R

Alright.

So I guess I am getting something with the Ethernet Shield.

Thank you very much again for bearing with me.