Wireless Arduino

Hi,

I would like to know what to hook up to the arduino in order to transmit sensor data wirelessly from the arduino to the computer - I guess some sort of battery driven radio sender?

Does any of you have some good experiences with particular products?

Thanks for your help.

Ana

There are many different way to send data wirelessly, that depend on many factors. Some of the factors include:

  • What type of Arduino do you have?
  • What OS are you running on the PC and how comfortable are programming the PC side of things?
  • How far is the Arduino going to be from the PC and are there obstacles like walls between the Arduino and PC?
  • Are you open to having a second Arduino connected to the PC via USB to act as a receiver, or would you prefer to have something directly connected to the PC?
  • Is the Arduino near a wall socket for A/C power or does the Arduino need to use a battery, and if so how long does it need to run (including radio) on a single charge?
  • How much data is going to be sent from the Arduino to the PC? Will the Arduino need to receive commands from the PC, or is the transfer only one way?
  • Are there eventually going to be multiple sensors that communicate with the PC? Will you need to communicate to multiple PCs?

Off the top of my head, some radio based technologies include:

  • Wifi shield: If you already have wifi in your house, a wifi shield would allow an Arduino to act as a network host. For example, the Arduino could act as a real simple web server. My sense is the wifi shield tends to use a lot of resources within the Arduino. Wifi probably offers the most bandwidth of any of the choices.
  • Bluetooth: Many PCs support bluetooth, but if not, you can get a bluetooth dongle fairly cheaply. I believe you need to get a bluetooth adapter with a virtual serial port. I got a bluetooth shield for my Arduino, and a bluetooth board for another processor (teensy 3.0). On the Arduino side, they act as simple serial devices. I have a bluetooth dongle on order, so I haven't done the host side of things. I have hooked up the Arduino/Teeny to my Android phone using bluetooth and some free apps on the Android side of things. From what I've read, you can't hook up unlicensed bluetooth devices to Apple phones, but Android doesn't care. Bluetooth tends to be point to point devices.
  • Radioblock: Mesh devices that allow for any device to connect to any device, with the nodes forwarding packets as needed. I bought 2 of these during the kickstarter campaign, but I haven't used them. You would need the USB2UART board to connect to the PC. http://www.coloradomicrodevices.com/the-radio-block/
  • OpensourceRF: This device goes more for range, up to 500 feet. http://www.opensourcerf.com/
  • Zigbee: I don't know much about zigbee, but they seem to be the preferred solution by many, though when I looked at zigbee initially, they were a little pricey for my taste. http://en.wikipedia.org/wiki/ZigBee
  • nRF24L01+: Low cost radios available at various internet vendors. Generally, you would need a second Arduino to hook up to the PC, but there was some discussion about creating boards to do this last year: http://arduino.cc/forum/index.php/topic,107666.0.html. IIRC, these devices tend to be 1 way communication devices, so if you need to get commands from the PC, you might need a second set of boards to get the commands.

If you just want to send data to PC, bluetooth is the simplest way. No software skill is required, it uses the same commands as serial monitor, so just plug in and go. All you need do is set up a terminal programme on the PC. I use RealTerm, which is a freebie, and output is .csv for Excel. I bet you could use PLX-DAQ, thereby feeding directly into Excel.

It can be a bit haphazard. My desktop can't see the Arduino, my Android can see it but refuses to listen, and my laptops work perfectly.

Range is about 10m through two lightweight walls. This is with the cheapo JY-MCU module.

There are zillions of threads on this, if you look at the Networking, Protocols, and Devices section of this forum.

MM mentions zigbee, but a better catch-all term would be to say XBee. There are a number of XBee shields around, as well as many different types of RF modules that plug into the same sockets, including XBee proper, wifi, BT, and others. Some of these are a little expensive, as MM said. The big advantage of XBee type devices is they only need the Arduino RS232 port Rx,Tx lines for communications, whereas many other types of RF modules require connecting up a "lot" of pins, eg SPI = Sck, Miso, Mosi, SS, CE, nIRQ, etc.

Also, if you scroll down to almost the end of this page, you'll find a section called "Wireless... including radio-less "wire-less" channels, e.g. IR" that has info on a lot of these devices. http://playground.arduino.cc//Main/InterfacingWithHardware

Hi, and thank you all for your thoughts and experiences. It was great to get some insights into the possibilities. I think that Xbee will be the solution for me.

Ana

Hello Ana,

I’ve put together some very detailed step-by-step tutorials for using Arduino’s and xbees at this website: www.oneassetplace.com. Specifically these two tutorials should help: http://www.oneassetplace.com/pages/BuildingMeshControllerFirst then http://www.oneassetplace.com/pages/BuildingMeshRemotesSecond

They include links to Fritzing and the entire source code.

Best of luck!
Dave