So, how do you share wireless credentials with your friends, without making your friends type in the passwords?

There's basically two ways it can be done for Android devices:  optical recognition or near-field communication.  Here's how to do both.  (Yes, this was one of today's projects.)

First, the easy free one:  optical.  You'll need two things.  (Well, three, counting a printer.)

First, go to this site:  http://blog.qr4.nl/QR-Code-WiFi.aspx
Fill out the page with your SSID, encryption type, and password, and it will convert it for you into a properly formatted WiFi QR code.  You can print it out and pin it up on the wall.

When your friends come over for the first time, they need this app:  https://play.google.com/store/apps/details?id=com.google.zxing.client.android
(Actually, it doesn't have to be this specific one.  All it needs to do is be able to use the device's camera to scan a QR code, recognize it as a wireless connection specification, and do the right thing.  But this is the one I use.)  All they need do is scan the QR code, and the scanner should offer a tap action on screen to connect to the wireless.

To do it faster and more conveniently, you'll want near-field communication (NFC).  To set it up for NFC-enabled devices (which includes most current phones), you'll need three additional things:
— WifiTap:  (https://play.google.com/store/apps/details?id=com.wifitap.android)
— A general-purpose NFC tag writer application such as https://play.google.com/store/apps/details?id=com.nxp.nfc.tagwriter
— Some NFC tags.  You can order them from ultrapractical.com and various other places.  Here's an Amazon link for ultrapractical's smallest package of tags:  http://www.amazon.com/gp/product/B00DZZB5U6/

WifiTap will let you write a tag corresponding to any network that you know (i.e, have its credentials stored in your device).  So start by doing that.  You won't be able to write the tag until you've filled in the password, if you're using WPA (which you should be) or WEP (which is a bad joke, but still better than nothing).  Once you've filled in the data, tap the Write Tag button, then tap the tag to the back of your phone.  After WifiTap confirms it successfully wrote the tag, you can tape the tag to the back of the QR code you printed earlier.

What if your friends don't have WifiTap?  Well, that's easy.  You just use NFC Tag Writer to write a tag containing the play-store URL given above for WifiTap.  You can tape it to the back of a QR code also containing the URL to WifiTap, which you can generate yourself using a program like qrencode, or online from any number of sites — this one, for example:  https://www.the-qrcode-generator.com/

At that point, you're all set.  Your friends with NFC-enabled phones or tablets can just tap the WifiTap tag to get WifiTap, then the credentials tag to connect to your wireless.  Your less modern friends whose phones or tablets don't support NFC will need to manually go to the play store and install a QR code scanner if they don't already have one, then scan the wireless-network QR code.

Either way, not only do they not have to type in the password ... they don't even need to actually know what it is.


(Oh yeah ... don't worry if you make a few mistakes writing the tags.  They are rewritable a rather large number of times.  Something like 100,000 write cycles, if memory serves.)


Addendum:
The most common NTAG203 NFC tags have a capacity of 160 bytes, of which 144 bytes is available for user data.  If you need to store more data than this (multiple wireless SSIDs, for instance), you may need a larger tag.  The Topaz 512 tag has a raw capacity of 512 bytes, of which just under 450 bytes is user-writeable.  DO NOT be tempted to buy Mifare 1K tags; they are high-capacity, but are also incompatible with the majority of smartphones.

Also, the next major release of Android will reportedly include the ability to read WiFi credentials from an NFC tag without needing a third-party app.
Shared publiclyView activity