4
\$\begingroup\$

I'm trying out an automation system, and i was wondering if it is possible to communicate over, say WIFI between a mobile application and an embedded systems based arduino ethernet shield or microchip TCP/IP library for example.

I'm thinking if the embedded system can create a wireless network, to which the phone can connect to and use to communicate.

I'm not sure if this is possible.

\$\endgroup\$

4 Answers 4

2
\$\begingroup\$

(1) Yes.

(2) It's largely a matter of having the "correct" hardware either in the phone or available via some intermediate interface.

In the case of typical "smart phones" with 802.11* "WiFi" capability it's entirely a matter of "just doing it" at the phone end.

Examples only - If using Android O/S phones

Here is a WiFi manager App with 6 or so related links in the left hand menu

WiFi analuzer

Someone's 4 of the best WiFi apps list

  • Here are 4 of the best Android apps for Wifi.
    These apps allow you to

    • find public wi-fi networks,

    • turn your phone into a wifi hotspot

    • and a bit more.

Then there's "approaching it from the other end" - rather than interfacing Android to an embedded system, add Android capability to an embedde OS and then use whatever is available "within" Android natively (ie just about anything).

Android porting guide for embedded systems. Essentially Android on ARM. They say -

  • Android is a Dalvik Virtual Machine based software platform that runs on a Linux based kernel. Therefore, to port an Android platform, one needs to port the underlying Linux OS and then the Android platform SDK as well. This document explains how to port the Android platform to custom ARM based boards. ARM is one of the most popular platforms for embedded devices

and

Android for embedded systems

  • At the end of this workshop, participants would be able to design custom Android Applications that can be used to access and control remote embedded systems.
\$\endgroup\$
5
  • \$\begingroup\$ k so that means i can create a wireless network with an embedded hardware. if so i'm guessing the network will be identified by its IP address or a network name? \$\endgroup\$
    – TiOLUWA
    Commented Feb 11, 2012 at 16:33
  • \$\begingroup\$ wow thanks alot, i'll explore the options, but i think the andrioid on ARM will be a little too much for simple automation applications, it offers way too much functionality right? \$\endgroup\$
    – TiOLUWA
    Commented Feb 11, 2012 at 17:13
  • 1
    \$\begingroup\$ +1 also bluetooth is another option to WiFi that comes with most or probably more phones as well. \$\endgroup\$
    – kenny
    Commented Feb 11, 2012 at 18:41
  • \$\begingroup\$ @TiOLUWA I don't know how you can have too much functionality. The only issue you could run into is power draw, size, and/or cost. You haven't mentioned any of these as a constraint though. As far as your first comment of identifying the network by IP address or a network name... What you described in your question is a system where your device creates a wireless network that the phone would connect to. This would give you full control of what IP scheme and network name you want to do. \$\endgroup\$
    – Kellenjb
    Commented Feb 12, 2012 at 2:27
  • \$\begingroup\$ However, if I made it myself I would just have the device connect to an existing wifi network since I would guess anyone who has an automation system could also have their own wifi network. \$\endgroup\$
    – Kellenjb
    Commented Feb 12, 2012 at 2:28
2
\$\begingroup\$

Yes. Last week at work I had

  • an embedded system connected by a CAT5 cable to an off-the-shelf combo WiFi access point + Ethernet switch
  • a mobile phone communicating via WiFi to the same access point
  • a web page served up by the embedded system displaying on the mobile phone, like any other web page
  • In response to buttons pressed on the mobile phone, the embedded system turns on and off the pan, tilt, and zoom motors (PTZ).

It works great. (If this isn't exactly what you're trying to do, please tell us the difference).

The embedded system knows nothing about WiFi -- it's responding to normal HTTP communication carried by normal TC/IP packets going through that CAT5 cable. It works exactly the same as it does when I use the desktop computer to talk to it over a second CAT5 cable connected to the switch. It works exactly the same as it does when someone in a distant state communicated through the internet (with, I assume, coax, fiber-optic, microwave towers, and who knows what other kind of linking technology) along paths that eventually funneled through a third CAT5 cable connected to the switch and from there to the embedded system.

I didn't have to make any changes to the embedded system to switch from using a local desktop PC web browser to the cell phone web browser to the remote desktop PC. (Switching to the remote PC required opening a "hole" in the company firewall, which our IT guy wasn't really happy about). I didn't have to install any software on the cell phone to switch from browsing other internet sites (via WiFi) to communicating with the embedded system -- I just typed in the address: the IP number of my embedded system.

Communication standards are a wonderful thing when things Just Work.

\$\endgroup\$
1
\$\begingroup\$

Here is an example project for iOS called "WiTap" that might help you get started.

The WiTap sample application demonstrates how to achieve network communication between applications. Using Bonjour, the application both advertises itself on the local network and displays a list of other instances of this application on the network.

https://developer.apple.com/library/ios/#samplecode/WiTap/Introduction/Intro.html#//apple_ref/doc/uid/DTS40007321

\$\endgroup\$
3
  • 1
    \$\begingroup\$ A -1 without comment is lame. Please enlighten me on why this would get a -1. \$\endgroup\$
    – August
    Commented Feb 11, 2012 at 19:41
  • 2
    \$\begingroup\$ The original poster wants to communicate between a phone and some embedded system that does something like turn motors on and off. The WiTap communicates between two iPhones. It looks useful for the phone side of WiFi and Bluetooth communication, so +1 from me, but I can see how others might think it doesn't really answer the OP's question, since it says nothing about embedded systems or any kind of phone other than iPhone. \$\endgroup\$
    – davidcary
    Commented Feb 12, 2012 at 14:50
  • \$\begingroup\$ Thank you davidcary, I understand now that "getting started" comments can make people -1. \$\endgroup\$
    – August
    Commented Feb 14, 2012 at 17:50
1
\$\begingroup\$

The Android Open Accessory kit uses the USB port on many phones -- intended to connect to a host PC -- and instead connects it to a special Arduino-compatible board. (Special because it has two USB ports -- a "peripheral" port designed to be connected to a host PC for programming, like most Arduino-compatible boards, and a "host" port designed to be connected to USB peripherals such as many mobile phones).

Some people think this kit is kind of a big deal.

While this doesn't directly answer your questions (it requires a USB cable between the mobile phone and the embedded system, rather than radio communication), perhaps it's close enough.

Alternately, instead of connecting "your" cell phone with a wire and this kit to "your" embedded system, perhaps you could gaffer tape some other cell phone with a wire and this kit to your embedded system, and then communicate wirelessly using a variety of technologies between your phone and the other phone (Bluetooth, Wifi, text messages over the cell network, etc.), which relays messages back and forth.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.