Home
| pfodApps/pfodDevices
| WebStringTemplates
| Java/J2EE
| Unix
| Torches
| Superannuation
|
| About
Us
|
|
by Matthew Ford 5th June 2015 (original
posted 13th February 2015)
© Forward Computing and
Control Pty. Ltd. NSW Australia
All rights reserved.
Important
Note: The
ESP8266 modules do not need the pfodWifiConfigV1 app.
Instead they
set up their own Access Point and complete the configuration via a
web page.
See see Cheap/Simple
Wifi Shield for Arduino and other micros and ESP8266-01
Wifi Shield, Rev 2 for examples of this.
This page describes how users can simply get your Arduino WiFi device connected to their Wifi network and also configure other features of the device. This page is for WiFi modules that cannot create their own Access Point.
Quick Start for using pfodWifiConfigV1 Android App
Libraries
for WildFire, LinkItOne, AdafruitC3000 and RN WiFly
WildFire
libraries and example setup tutorial
LinkIt
ONE libraries and example setup tutorial.
AdafruitC3000
libraries and example setup tutorial.
RN
WiFly + VioV3 libraries and example setup tutorial.
The
pfodWifiConfigV1 protocol definition – Definition of the
protocol, information for developers and security analysis
pfodQRpsk
java application is now available (V1.5.1) for generating the QR
images for use with pfodWifiConfigV1
pfodWifiConfigV1 is a trademark of Forward Computing and Control Pty. Ltd. All rights are reserved. You are authorized to use the term “ pfodWifiConfigV1TM equipped ” to advertise your hardware if and only if that hardware implements the pfodWifiConfigV1 protocol, as described here, and operates with the latest version the pfodWifiConfigV1 application to set some or all of hardware's configuration.
Wi-Fi connected devices or IoT (Internet of Things) are becoming very common. However there is not a simple open source means of getting these devices to connect to the user's local network and configuring the device.
Wi-Fi Protected Setup (WPS) using a PIN was supposed to provide a simple means for user to connect devices to the local network but a major security flaw was revealed in December 2011 and users are now advised to disable this support from their routers (if they can). The replacement, WPS Push-button-connect, seems largely secure, with the only vulnerability being that anyone with physical access to the router could push the button and connect, even if they didn’t know the Wi-Fi passphrase.
There are also several proprietary systems for example:- TI has a proprietary system called Smart Config, which requires a large library (more then Uno can handle) and does not allow configuration of other device parameters. Another proprietary system hard codes a web address and part number into the device and then forces the user to create a login on that web site to complete the network set up. Another proprietary system runs a default access point on the device that you configure your computer to connect to and then enter the network setting via web page.
None of these approaches is open source or easily implemented by a developer. None of them are extendible by the developer to add extra settings, like client login details. The method presented here is secure, open source and easy to code into a Wi-Fi device and does not require supporting website, or even an internet connection, to make the connection.
How to use pfodWifiConfigV1™. These are the steps your user would follow to connect your pfodWifiConfig™ equipped device to their network
Download the free pfodWifiConfig™ app to their Android mobile.
Open pfodWifiConfig™ , turn the Wifi device off and scan the QR code attached to it.
When prompted by the app, turn the Wifi device on in configuration mode. Typically this involves holding down the set-up button and then applying power.
When pfodWifiConfig™ app detects the Wi-Fi device on the network it opens a connection to the Wi-Fi device and requests its configuration options. Client/Server, DHCP/StaticIP etc, and displays the appropriate screen for the user to fill in.
The user then enters the password and SSID for the real network they want the Wi-Fi device to connect to and any other necessary configuration and presses DONE. When the pfodWifiConfig™ app displays the device's completion message, the user can exit the app and power cycle the Wi-Fi device to connect it to their real network.
These are the steps your user
would follow to connect your pfodWifiConfig™
equipped device to their network using telnet.
Detailed
instructions using telnet on an Android mobile, are given here.
Scan the QR code attached to the Wi-Fi device using one of the scanning apps available for their mobile (either IOS or Android or Windows)
Configure a temporary Access Point using the settings just scanned. IPhone, Android, Mac IOS and Windows all provide support for configuring an Access Point, although some are easier to configure than others.
Turn the Wi-Fi device off and then turn it on while holding down the set up button.
Find the IP address of the device on the temporary network. There are apps for IPhone and Android to do this and command lines in Mac IOS and Windows.
Open a telnet program on any mobile or computer attached to the temporary network and connect to the device using the IP address just found and the portNo from the scanned data. This is usually done on the same machine that is providing the Access Point.
In the telnet window, enter
the configuration data for your network. (See the pfodWifiConfigV1
protocol definition, below, for the format of the {set command.)
For example if the device's Features were mode: Server,
available Security WPA2,
IPsource DHCP
{!pfodWifiConfigV1
Features:
Mode: Server
Security: WPA2
IPsource: DHCP
}
Then entering the following line in the telent
window
{set myAccessPoint WPA2 myAPpassword 4989 }
would
configure the device to connect to the network with SSID
myAccessPoint using
WPA2 and a
network password on myAPpassword.
The device would get its IP on the network via DHCP and start its
Server listening on Port 4989. There is also means to enter
passwords and access point names that include spaces or the }
character. (see below)
The device
responds with a message indicating the configuration has been
accepted using the following format
{! <msg>}
If
there is an error in the setting, invalid port or incorrect number
of fields for example, then device responds with an error message
using the format
{!Error:<msg>}
pfodWifiConfig™
and pfodQRpsk™ are
trademarks of Forward Computing and Control Pty. Ltd.
AndroidTM
is a trademark of Google Inc. For use of
the Arduino name see http://arduino.cc/en/Main/FAQ
The General Purpose Android/Arduino Control App.
pfodDevice™ and pfodApp™ are trade marks of Forward Computing and Control Pty. Ltd.
Contact Forward Computing and Control by
©Copyright 1996-2020 Forward Computing and Control Pty. Ltd.
ACN 003 669 994