This post takes a look at five different ways of getting your Arduino project online.
1. Use Ethernet with the official library
An Arduino Ethernet board fitted with the optional Power-over-Ethernet module.
You can either buy an Arduino with onboard Ethernet or add it via an Ethernet Shield. Support for the Wiznet interface is then provided via the official Ethernet library, which allows you to create client and server applications that can handle up to four concurrent connections.
The library comes with a selection of examples, including a Twitter client.
2. Add low cost Ethernet
A kit of components to make an Arduino compatible Nanode
A low cost way to add Ethernet to an Arduino is to use the ENC28J60 chip. There are various shields and modules that use this device and since it's available in a DIP package it's well suited to breadboard and hand soldered projects. In addition to which there are Arduino compatibles such as the Nanode which make use of the chip.
Note that the ENC28J60 is not supported by the official Ethernet library and the EtherCard library must be used with it instead.
4. Go remote with a GPRS shield
The Arduino/Telefonica GPRS/GSM shield
Arduino have collaborated with Telefonica on the development of a GPRS shield that's intended for use in Internet of Things applications. There are some details on the Arduino Labs page and Telefonica's BlueVia website, however, it's not clear when the shield will be available. But fear not because similar GPRS shields have been available for some time from various third parties.
The Arduino Labs host a library for driving their shield, which allows sending and receiving SMS, in addition to setting up a GPRS connection and providing functions for HTTP GET and POST etc. With third parties providing similar libraries for use with their shields.
5. Add low power wireless
HopeRF RFM12B modules
If you need to get numerous Arduinos online — such as in a wireless sensor network — it may not be practical to run cables to them all or cost effective to add GSM/GPRS modems, and if they're within a reasonably short distance of each other low power wireless may be an option. Using an Arduino or, say, a Raspberry Pi with an Internet connection as a base station for the other nodes.
There are many different low power transceiver modules available that make use of licence exempt spectrum, and which is the best for a particular application will depend on things such as the environment, required range and how many nodes there are etc.
One very popular module is the HopeRF RFM12B and with support for this being provided via the jeelib library from Jee Labs.
Some of the most fun and useful Arduino projects involve connecting them to the Internet and there are numerous ways that this can be achieved. Arduino hardware that uses the Wiznet chip is probably the best supported, low cost Ethernet can be added via the ENC28J60 chip, there are solutions that simply use a USB connection, a GSM/GPRS shield enables use at remote locations, and low power wireless is great for applications with many local nodes.
Top image: Nat Morris' Twitter controlled dog feeder.