Go Down

Topic: Better than bluetooth (Read 5639 times) previous topic - next topic


Right now I have my android talking to my Arduino through Bluetooth. It is a great start, but I have limited range. If I have my Arduino out in my backyard and I am in my basement, I can't send or receive anything. The Bluetooth connection is lost. This is a stumbling block. The range is actually not that bad but I need more for the project I am working on.

I am not familiar with many shields. I am sure there is a wifi shield but I do not understand how that works. Would the arduino connect to my router and then my phone would connect to my router and they would talk through my LAN? Or, could the arduino be the wireless router, the mobile device would connect directly to the arduino and then could talk back and forth directly from one device to another, not really through a network.

I am only aware of these two methods of communication between a mobile phone and another device. Bluetooth and wifi. I hope wifi is an option. The reason why I do not want the arduino connected to a router is because I will be taking this project away from my home, out where there is no wifi connection for both devices to connect to. It would have to be a direct connection between the arduino and my device.

Thank you for all your insight (:


WiFi is an option and not the worst :-)

Do you have WiFi connectivity with your smartphone in the basement?

If so, take a WiFi shield or some Wifi module in Bee format with a Bee shield. Most of them supply both modes, Ad-Hoc (device-to-device) and Managed (using a wireless router). If you already have a wireless router the managed mode is the probably best for you.


XBee is very popular, and the XBee-Pro modules have greater range than typical
BT. Also, as pylon indicated there are several "Bee" modules around that all plug
into XBee shields and run different frequencies and protocols. There are XBee
modules, BT-Bee, XVee [wifi], and other RF frequencies, like 900-Mhz. I would
think that XBee-Pro and 900-Mhz would have the best range.


Jun 22, 2012, 10:12 pm Last Edit: Jun 22, 2012, 10:15 pm by njdurkin Reason: 1
I am unfamiliar with wifi. Will my cell phone be able to output that 900Mhz signal? In other words, will I be able to connect directly from my phone to the xbee?
Also, will the xbee shield work with my mega?



Jun 22, 2012, 11:33 pm Last Edit: Jun 22, 2012, 11:39 pm by njdurkin Reason: 1
Is this what you would recommend?


and is this only line of sight? If there are a couple walls in the way will that make this signal drop or be blocked occasionally?



I am unfamiliar with wifi.

I think you meant "XBee".
Will my cell phone be able to output that 900Mhz signal? In other words, will I be able to connect directly from my phone to the xbee?

No. Your smart phone won't be able to connect to the XBee, even if it was using the 900MHz.
Without an access point, the only way to connect the smart phone to WiFi shield would be the "WiFi direct":
http://en.wikipedia.org/wiki/Wi-Fi_Direct, which I doubt you can do with the WiFi shield.


The only other thing I could think of then is to somehow how a router with the arduino. So for example I will need to take this project out in a field or in a neightborhood or anywhere away from home. The project with arduino and router would be one unit. The arduino would connect to the router. Either directly through Ethernet cable or less ideally by wifi. My mobile device would then connect to that router through wifi thus creating a LAN. Does this sound like a better idea? I probably have an old router laying around somewhere anyways.


The key here is for your WiFi devices (smart phone, WiFi shield) to acquire (or to be assigned) IP addresses, usually by a router, through DHCP. No IP addresses, no socket communication.


If you had the option of a second Arduino or could use a 3 button keyfob, this kickstarter shield might be want you want.  You have to back it (to the tune of $60 for two Arduino shields or $80 for 1 shield + 1 keychain fob, or $110 for 2 Arduino shields + keychain fob) before the kickstarter campaign ended.  With this shield you don't have to learn more about networking and the communication protocol is all done by the sheild and library, and you just get a stream of bytes.

Alternatively if the Arduino is in a fixed location with networking (either wired or wireless), you could do something like have it monitor twitter and send out a twitter message from the phone if all you need to do is tell the Arduino to do something.  You will need to learn how to form network packets, and decode the twitter stream....


I understand basic network concepts. Like if you have two devices, connected to a router, you can configure the router and configure the ip and gateway on each device connected (in this case the mobile phone and the arduino) and then those devices can now talk to each other. Am I wrong? If this is true, I could probably just use a router. If dhcp is enabled I might not even need to configure anything. I should just be able to buy the correct shield that has an ethernet cable jack, plug it into the router, wirelessly connect to the router with my phone, and bingo! The devices should now be able to talk right? All I need to do is send simple data back and forth at a long range.


If you don't have a line of sight or at least nearly one you shouldn't opt for the XBee (ZigBee) communication. If you are able to put a cable from the Arduino to a router I'd always go that way.

You told us that you wanna communicate to your Arduino using your smartphone so we have to use communication devices your smartphone also supports. The network is one, that's sure because the smartphone is an IP device (I'd say by definition). Most smartphones support bluetooth but you cannot use it with an iPhone for example because Apple doesn't support the serial profile of bluetooth.

To keep it short, if it's possible in your environment, use a WiFi router, connect the Arduino by a network cable and use the WLAN for your smartphone. The Ethernet shield is relatively easy to program, broadly available and well supported. Every smartphone includes a browser, so with a small web server on your Arduino you have a reliable connection between your smartphone and your Arduino device.


You could use an Arduino with network shield AND a X-Bee, XRF or other long range RF link hardware next to your home hub. This could then communicate with other Arduinos with RF link. Your phone would then just browse a web page served my the master Arduino.

I write books about Arduino and Electronics: http://simonmonk.org


Actually, your Arduino WiFi shield can create an ad-hoc network. Then use your smart phone to connect to this network.
There is a gadget (Parrot quadrocopter) which does a similar thing:


Jun 23, 2012, 08:56 pm Last Edit: Jun 23, 2012, 09:05 pm by njdurkin Reason: 1
Thank you everyone for your advice but I seem to be getting answers that contradict each other. It is true that I will not always have line of sight. For example, in my house, the wireless router is in the basement and I can sit upstairs in my bedroom which is on the opposite side of the house and connect to the router and browse the internet etc. I can also have a fair connection from the back of my backyard which is a good 50 feet. Although there are walls and such in the way I am still able to have a great connection. I want this same thing except instead of the router routing to the internet, it routes to the arduino. So I connect to the wireless router like always but then I connect to IP which the arduino is assigned and boom! I can now send and receive data. The arduino would plug straight into the router through ethernet cable. Again please excuse some of my misunderstanding of networks and such as I do not know much about it.

I like your idea pylon. With network communication, I could use any mobile device, android, iphone, windows phone, even a laptop or tablet! This is important to my project and I would love to have this!

Here is another thought. I want range but there is also a power issue here. I want efficiency. If I use a wireless router, I want one with a large range (maybe a non line of sight range of 200ft, just throwing out a number) that also uses a low amount of power. The efficiency I am talking about is range over power. More range and less power is more efficient. I don't need a crazy amount of range but I do need low power consumption, relatively speaking.

Would a regular wireless router be good or would some sort of shield for the arduino be better since it probably uses much less power? What kind of through wall range could I get from a wifi shield?

Could an arduino wifi shield create the WLAN or whatever to allow a mobile device to easily connect to it?


regular wireless router be good or would some sort of shield for the arduino

You would need them both in the same time, wouldn't you?
Could an arduino wifi shield create the WLAN or whatever to allow a mobile device to easily connect to it?

Read my previous post (2 above).

Go Up