What shield? Collect, store and communicate data wirelessly to a web server

Hi all,

My project involves collecting sensor data from somewhere down the garden and wirelessly communicating that data to a webserver in the house.

I'll have no wired power in the garden and would like to last as long as possible before having to replace/recharge the batteries (at least a month, ideally 6 months +)

To save power, I had in mind that I could first write the data to an SD card and then connect to the home wifi on a daily basis and upload the data to a web form hosted on my local network.

At the moment I'm using an uno, but I sort of assumed that I'd end up actually implementing on a different controller that was better at conserving power and just prototyped the project with the uno.

I'd like to know if this a reasonable approach and what shield(s) I should be getting to store data and communicate to the network.

Any advice would be welcome.

Cheers

Writing to the SD card requires probably more power than transmitting the data.

For battery operated Arduino, you could make your own standalone Arduino with an ATmega chip. You could also use a 3.3V 8MHz Arduino Pro Mini board, and remove the voltage regulator, and connect 3 AA batteries to the Vcc.

Running for more than a year is no problem with the Arduino in deep sleep mode. http://gammon.com.au/power To make the Arduino sleep for some time, you can use the narcoleptic library. http://code.google.com/p/narcoleptic/

To transmit data, the simple 315MHz/433MHz on/off (ASK) modules will be fine. Use a receiver with a crystal instead of a coil, to guarantee that the frequency stayes tuned. VirtualWire is an excellent protocol for those modules. http://www.airspayce.com/mikem/arduino/

The receiver needs to be also an Arduino with VirtualWire.

Once you have that running, you can add all kind of Arduino boards with transmitters around the house. Like temperatures and humidity in different rooms, power usage, motion sensors, rain and wind sensors, and so on.

When you want the battery operated Arduino to connect to the wifi, that is something else. You would need perhaps a Li-ion battery of 12V, and a DC-DC converter, and extra hardware to turn things off, perhaps an extra Arduino to turn the first one on and off, and in the end it will only run for a few weeks.

I did something like this, although I had mains power and found that my wifi shield in the garden didn't have the range to talk to the router in the house. There was about 50 yards of separation and several brick walls in the way. In the end, I went with an X-Bee pro solution.

As to power, could you use solar to keep your battery charged?

Hi Caltoa,

That's useful, thank you. The low conservation links particularly. If possible though I want to communicate from the arduino in the garden via my home network to either : * a web form I host on my own webserver (that'll write to a database) * access a google docs form that I can process downstream

I'm unfamiliar with communication tech you mention so I'm not sure if I can achieve this goal with it.

Hi Wildbill,

Thanks for the response. Wifi from the house just about reaches to where the arduino's going to be in the garden - I'm hoping it'll be ok at that distance, but if not other wireless solutions will be the order of the day. Will the x-bee modules connect to the arduino and allow me to achieve my communication goal (above)?

Re. power, yes I could use solar though I don't know how big a panel I'd need to be able to keep the arduino battery charged enough over the winter months.

Will the x-bee modules connect to the arduino and allow me to achieve my communication goal (above)?

Yes, although it's an expensive solution. I have an arduino ethernet with an X-Bee shield on it in the house with (obviously) wired ethernet. The Uno doing the sensing has an X-Bee shield as well. The X-Bees talk to their respective arduinos with serial commands and the arduino ethernet acts as a client using GET requests to push the data to a web server.

OK, that's interesting. If it looks like my wifi isn't going to be reliable enough I'll probably follow your approach then.

As an aside, are you sending your data as you sense it, or are you storing it to SD first and then sending it? I'm assuming this is possible with the arduino of course.

And do you know if the 'Arduino Wireless SD Shield' will both connect to a wi-fi network and allow me to write to an sd card or am I misinterpreting its capabilities?

Cheers

I don't use the SD card at all - the data isn't all that important and in any case, the place to buffer it on SD would be in the garden and I don't have SD capability there, just indoors.

It appears that the confusingly named 'Arduino Wireless SD Shield' is a carrier board for an X-Bee radio, not wifi enabled. For that you need the Arduino WiFi Shield, which would indeed give you wifi and SD capability.

I'm easily confused at the moment :)

Thanks for the information. You've been a great help.

It appears that the confusingly named 'Arduino Wireless SD Shield' is a carrier board for an X-Bee radio, not wifi enabled. For that you need the Arduino WiFi Shield, which would indeed give you wifi and SD capability.

The wireless SD shield can be ited with an XBEE or with a WiFLY module. The WiFly gives you WiFI. The wireless/Sd shield + WiFly works out a bit cheaper than the WiFI shield and is much simpler to use, no lib required as it connects on the Tx/Rx pins.

The yun may be worth a look as it has built in WiFi but I'm not sure about power saving fo the Linux chip.

Mark

Hi Mark,

Is this the wyfly module you're referring to?

http://www.amazon.co.uk/Roving-Networks-RN-XV-WiFly-Module/dp/B007XEXLMU/ref=sr_1_1?ie=UTF8&qid=1391531383&sr=8-1&keywords=wifly

it connects on the Tx/Rx pins

I was looking at the wifi shield and it looks like it takes up a significant number of pins that I won't then be able to use. Do you know if this option would give me more available pins?