General ideas about getting an Arduino online wirelessly

I'm trying to realize a project with an Arduino powered weather measuring device. What I want to do is send a little box containing an Arduino and sensors to people I don't even know. They are supposed to install the box on their window sill, and I want it to somehow send the data - preferably wirelessly - to a webserver of my own. Of course the box should be as inexpensive as possible (as I want to be able to build a lot of these boxes), so buying a standard Arduino Wi-Fi shield seems out of the question. I looked around a lot for other means of getting the data online and after some time got into some pretty experimental territory. I'd like to hear from you guys if you think my ideas are feasable, which is the best one and if you have other ideas that are inexpensive and could work reliably. Different ideas as follows:

  • Using NRF24L01 or another cheap wireless device to relay the data from the box to another box which is equipped with an ethernet port and directly connected to a router. This has the disadvantage of needing another box and two different standards of communication and the advantage of having relatively reliable means of wireless communication. Also it's cheap: NRF24L01-modules cost 2 Euros max per piece and ethernet modules from china are even cheaper.

  • Using a Raspberry Pi and a standard USB Wifi dongle. The problem is, I have never owned or programmed a Raspberry Pi. Then again, I have some rudimentary experience in using OpenFrameworks, and I guess I could get this to work. This would probably take me a bit longer due to my lack of knowledge about the Pi. While this is not the cheapest of solutions, it probably is pretty reliable.

  • And the most crazy idea: Using an Eye-Fi SD card. I'm hoping it's somehow possible to code data into jpegs directly on the Arduino, save the images to the Eye-Fi and let the automatic upload magic of the Eye-Fi card do the rest. Later I could extract the data from the jpegs via Processing. Eye-Fi cards cost around 30 Euros for 4GB cards, so they may be an option - if I got all this stuff about "Relayed Transfer" correctly and the Eye-Fi cards actually are able to connect directly to a router and upload pics to some webservice. I'm not sure though that the Eye-Fis are able to penetrate much more than a window, let alone walls, which would suck. Also, I would want to grab the data automatically which may not be possible when the server it gets uploaded to isn't easily accessible via Processing.

Thanks for any insightful replies, Marius

Another option might be using a tp-link wr-703 wifi mini-router (~18-25 euros) and flash it with openwrt-firmware. http://hackaday.com/2012/06/12/nah-you-dont-need-an-ethernet-module-for-your-arduino/

At first glance the Pi options looks good BUT, the Pi's USB port does not provide power so you need a powered USB hub for the WiFi dongle! Still cheaper than a wireless SD shield and WiFly module but not much.

Mark

A lot of this seems pretty pie-in-the-sky but there are simpler approaches, all of which have been done before, but all assume the recipient has an internet connection which is working when you want it to.

All you need to do is have the gear upload regularly to xively or the like. That takes care of all the external internet problems. It also removes any need to mess about with the recipient's modem etc., not to mention absolving you from needing to know how to do that.

The weather station consists of an Arduino, the sensors, presumably using a shield, and an ethernet+SD card shield. This combination either plugs into the recipient's router or, if that is inconvenient, plugs into a wireless repeater which signals the router. The Arduino gear and software are the same irrespective of the procedure, no extra boxes required.

I also use an on-board clock module. I don't think it is strictly necessary but it's probably the simpler than other methods, and brings its own advantages.

Simpson_Jr: Another option might be using a tp-link wr-703 wifi mini-router (~18-25 euros) and flash it with openwrt-firmware. http://hackaday.com/2012/06/12/nah-you-dont-need-an-ethernet-module-for-your-arduino/

These also provide a USB port so can directly connect to your Arduino - you can also get a USB to TTL breakout board so that you can provide just Serial/TTL signaling and power.

Lastly you could also look at adding a USB GSM module to it to enable Internet access without the client needing to have Always on Internet

Craig

Apparently I hadn't checked Ebay in a while, this usr-wif232-B serial module seems quite interesting as well. http://www.ebay.nl/itm/serial-ttl-rs232-to-802-11-b-g-n-converter-Embedded-WiFi-Module-with-antenna-/171051795599?pt=LH_DefaultDomain_0&hash=item27d37b448f

Personally I'm quite happy with my nrf24l01+ by the way, they quite easily penetrate 2 concrete floors in my case and in the open field I can achieve a distance up to ~40-50 meters using just 2 modules, each with pcb-antenna. It would nicely serve those without wifi, but you will indeed need another box and a free ethernet-connection on your router/switch.

The eye-fi card seems interesting as well, as you I do wonder what distance they can cover. On the other hand, you might be able to increase it when it's not enough. If you could equip the box with some sort of cheap cantenna or wokfi it might be possible, by googling "wardriving antenna" you'll probably find a lot of designs.