0% found this document useful (0 votes)
16 views38 pages

pfodApp V2.0.224+ Setup Guide

The document provides a comprehensive guide for using pfodAppTM V2.0.224+ for AndroidTM, detailing setup instructions for Bluetooth, BLE, Wi-Fi/Internet, and SMS connections to pfodDevices. It includes requirements for the app, connection methods, troubleshooting tips, and information on licensing and limitations. The pfodApp allows users to control pfodDevices through a micro-browser interface, with security features available for connections.

Uploaded by

Rojete M. Rodri
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
16 views38 pages

pfodApp V2.0.224+ Setup Guide

The document provides a comprehensive guide for using pfodAppTM V2.0.224+ for AndroidTM, detailing setup instructions for Bluetooth, BLE, Wi-Fi/Internet, and SMS connections to pfodDevices. It includes requirements for the app, connection methods, troubleshooting tips, and information on licensing and limitations. The pfodApp allows users to control pfodDevices through a micro-browser interface, with security features available for connections.

Uploaded by

Rojete M. Rodri
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

pfodAppTM V2.0.224+ for AndroidTM V2.

1+
Matthew Ford
th
10 December 2016
©2012-2016 Forward Computing and Control Pty. Ltd.

Table of Contents
Revision History...................................................................................................................................2
Introduction..........................................................................................................................................3
pfodApp Requirements.........................................................................................................................3
Setting up a Bluetooth, BLE, Wi-Fi/Internet or SMS Connection.......................................................4
Setting up a Bluetooth Connection.......................................................................................................4
Pairing pfodDevices with your Android Mobile..............................................................................4
Adding a Bluetooth connection to pfodApp ..................................................................................7
Adding a BLE (Bluetooth Low Energy) connection to pfodApp ................................................10
Scanning for Bluetooth Low Energy devices............................................................................10
Setting up a Wi-Fi/Internet connection...............................................................................................14
Adding a wifi connection to pfodApp ..........................................................................................14
Local and non-local IP addresses...................................................................................................18
Setting up an SMS connection...........................................................................................................19
Adding an SMS connection to pfodApp .......................................................................................19
Connecting to a pfodDevice...............................................................................................................23
Single Click connection.................................................................................................................23
Selecting from Multiple Connections............................................................................................24
SMS Connections..........................................................................................................................25
Exiting pfodApp or Closing a Connection.........................................................................................25
Licence Check on First Connection Attempt......................................................................................25
Adding, Editing or Deleting a Connection.........................................................................................26
Changing the Sound Played by a Connection................................................................................27
Deleting the Menu Cache..............................................................................................................27
Deleting the Connection................................................................................................................28
pfodApp Menu Items..........................................................................................................................28
Connections...................................................................................................................................28
Exit.................................................................................................................................................28
Clear Image Cache.........................................................................................................................28
About.............................................................................................................................................29
Debug View...................................................................................................................................29
Raw Data........................................................................................................................................29
Plots....................................................................................................................................................30
Working with Plots........................................................................................................................31
Transferring Raw Data from your Mobile to your Computer.............................................................31
USB storage on Nexus One mobile...............................................................................................32
External Storage.............................................................................................................................34
Display of Native Languages.............................................................................................................35
Inputting non-ASCII characters into Text Input Screens...................................................................35
Toggle Buttons – Sliders with only two choices................................................................................35
Unexpected Loss of Connections.......................................................................................................36
Android V4 Bluetooth Problems...................................................................................................36

© 2012-2016 Forward Computing and Control Pty. Ltd, [Link]


pfodAppTM and pfodDeviceTM are trade marks of Forward Computing and Control Pty. Ltd.
AndroidTM is a trade mark of Google Inc. 1
Trouble Shooting Bluetooth Low Energy (BLE) on Android............................................................36
Why is BLE so hard to use?...........................................................................................................37
Product Warning and Limitation of Liability and Copyrights............................................................38
Limitations on Liability and Remedies..........................................................................................38
Applicable Law, Jurisdiction, and Venue.......................................................................................38
Copyrights......................................................................................................................................38

Revision History
V1.0 – First Release - 12th August 2012
V2.0 – Revised Connection Instructions - 13th April 2013
V3.0 – Added wifi and security - 10th August 2013
V4.0 – Added note about native language display.
V5.0 – Added plotting. - 18th November 2013
V6.0 – Added Single Click connection – 19th March 2014
V6.1 – Added note about plots – 15th May 2014
V6.2 – Added note about raw data file – 13th June 2014
V6.3 – Added Unicode escape sequence for String Input screens – 24th June 2014
V6.4 – Added note about wifi file transfer – 7th July 2014
V6.5 – Added Toggle Button – 20th August 2014
V6.6 – Added SMS Connections – 30th December 2014
V6.7 – Revise screen shots for new toolbar – 17th March 2015
V6.8 – Removed password option for Bluetooth connections – 29th April 2015
V6.9 – Added QR scanning for passwords – 9th June 2015
V6.10 – Minor text corrections. – 4th August 2015
V6.11 – Added Sound Selection,
removed confirm selections from Bluetooth and Wifi Connections – 8th August 2015
V6.12 – Added BLE (Bluetooth Low Energy) support – 26th January 2016
V6.13 – Added notes about local and non-local IP addresses
V6.14 – Added clearing menu and image caches
V6.15 – Revised new connection screen shots
V6.16 – Added note about plot freeze

© 2012-2016 Forward Computing and Control Pty. Ltd, [Link]


pfodAppTM and pfodDeviceTM are trade marks of Forward Computing and Control Pty. Ltd.
AndroidTM is a trade mark of Google Inc. 2
Introduction
This document describes how to use the pfodAppTM for AndroidTM V2.1 and above. pfodApp can
connect to pfodDevices via either bluetooth or wifi/internet or SMS. For each connection you can
specify 128bit security to protect against hackers taking control of your pfodDevice, if the
pfodDevice supports it.
pfodApp is a universal micro-browser that connects to pfodDevices and requests micro-pages. All
the programming/customisation takes place in the pfodDevice. The pfodApp just displays the
micro-pages returned by the pfodDevice and sends back the commands the pfodDevice has linked
to the menu buttons and input pages.
pfodApp allows you to control any pfodDeviceTM . pfodApps and pfodDevices communicate using
pfod (Protocol For Operations Discovery). See [Link] for the complete pfod
Specification.
To get started programming pfodDevices using Arduino, download the free pfodDesigner app
which will let you design custom menus and then generate the Arduino code for you.
Many more detailed example hardware projects are also available at [Link]
Arduino libraries to support 128bit security and SMS connections are available from
[Link]

pfodApp Requirements
This pfodApp requires an Android device with wifi running Android V2.1 (Api level 7) or higher.
Not all Android devices support Bluetooth, BLE (Bluetooth Low Energy) and SMS connections.
To make bluetooth connections your Android device needs to support Bluetooth V2.1 or above.
To make SMS connections your Android device needs to have a SIM card installed.
To make BLE connections your Android device needs to support Bluetooth V4 or above.
The button will only be displayed if your device supports BLE
This version of pfodApp, V1.2 has been tested on a NexusOne running Android V2.3.6 and on a
Nexus 7 running Android 4.4.4. BLE support was tested on a Asus Zenfone 5 (ASUS_TOOJ)
running Android V4.4.2
The pfodApp is available from multiple Android app market places:-

([Link]
and

([Link]

To download from the Google Play Android market place, your mobile needs to have Google Play

© 2012-2016 Forward Computing and Control Pty. Ltd, [Link]


pfodAppTM and pfodDeviceTM are trade marks of Forward Computing and Control Pty. Ltd.
AndroidTM is a trade mark of Google Inc. 3
pre-installed. If your phone does not have Google Play installed, the market place will show a
notice like
“This app is incompatible with your China Mobile Samsung Nexus S”
in which case you can download pfodApp from SlideMe.
To download pfodApp from SlideMe you first need to install the SlideMe app by entering
[Link] from your mobile's browser and then you can download pfodApp (start
the SlideMe app on your mobile and search for pfodApp).

An Internet connection is needed to download pfodApp. After downloading, an intermittent


Internet connection is needed for periodic licence checks. Due to licence caching, you do not
normally need an internet connection to connect to the bluetooth or SMS pfodDevice you are
controlling with pfodApp. However you will need an Internet connection the first time you try to
connection to a new pfodDevice. See Licence Check on First Connection Attempt below for details.

Setting up a Bluetooth, BLE, Wi-Fi/Internet or SMS Connection


This version of pfodApp supports Bluetooth, BLE WiFi/internet and SMS connections. The
WiFi/internet and SMS connections can have a 128bit passkey specified to provide protection
against hackers.
The following sections cover setting up these connections.

Setting up a Bluetooth Connection.

Pairing pfodDevices with your Android Mobile


Before you can connect to a pfodDevice via Bluetooth, you need to pair it with your Android
Mobile as follows:-
i. Position yourself within arm's reach of the pfodDevice (some mobiles have very limited
Bluetooth range)
ii. Turn off the pfodDevice.
iii. Open the mobile's menu

and choose Settings → Wireless & networks

© 2012-2016 Forward Computing and Control Pty. Ltd, [Link]


pfodAppTM and pfodDeviceTM are trade marks of Forward Computing and Control Pty. Ltd.
AndroidTM is a trade mark of Google Inc. 4
iv. Make sure Bluetooth is ticked (enabled)

v. Open the Bluetooth settings. Turn on the pfodDevice. Then select “Scan for devices”. Your
pfodDevice may be set to only be Discoverable for a short time after it powers up, so turn it
on just before you “Scan for devices”.
vi. Check the Bluetooth Address of your pfodDevice and match it to one of the devices your
mobile has found. For example if the address ended in E8B2 it would match with the
bluetooth device shown here

vii. Click the device to pair with it and enter the device's pairing code (refer to the
documentation that came with the pfodDevice for the correct code).

© 2012-2016 Forward Computing and Control Pty. Ltd, [Link]


pfodAppTM and pfodDeviceTM are trade marks of Forward Computing and Control Pty. Ltd.
AndroidTM is a trade mark of Google Inc. 5
viii. Press OK to complete the pairing. The bluetooth is now “Paired, but not connected.
ix. Continue to the next section to start the pfodApp, assign a meaningful name to this
pfodDevice and connect to it.

© 2012-2016 Forward Computing and Control Pty. Ltd, [Link]


pfodAppTM and pfodDeviceTM are trade marks of Forward Computing and Control Pty. Ltd.
AndroidTM is a trade mark of Google Inc. 6
Adding a Bluetooth connection to pfodApp
Bluetooth connections are only possible if your mobile device supports it. After downloading the
pfodApp to your phone, it will appear in the list of applications. From there you can drag it to the
Home icon at the bottom of the screen to place it on one of your front pages.

On starting the application you will be presented with an initially empty connection screen.

Press the button to add a Bluetooth pfodDevice.

Choose the pfodDevice from the list of bluetooth devices that have been paired to this mobile. You

© 2012-2016 Forward Computing and Control Pty. Ltd, [Link]


pfodAppTM and pfodDeviceTM are trade marks of Forward Computing and Control Pty. Ltd.
AndroidTM is a trade mark of Google Inc. 7
can check the bluetooth address against the address of your pfodDevice.
Note: If you have disabled your mobile's Bluetooth or if your mobile does not support
Bluetooth, pfodApp will not show any paired devices.
Note: Any Bluetooth devices that you have already set up a connection for, will not be shown.
Choosing a paired device opens the pfodDevice Edit screen on which you can assign a meaningful
name to this pfodDevice and a time-out. The default time-out of 10sec is usually sufficient. Setting
a time-out of 0 means that once the pfodApp has connected it will never disconnect waiting for the
pfodDevice to respond.

Press the Save button to save your changes.

© 2012-2016 Forward Computing and Control Pty. Ltd, [Link]


pfodAppTM and pfodDeviceTM are trade marks of Forward Computing and Control Pty. Ltd.
AndroidTM is a trade mark of Google Inc. 8
If you want to edit the name or time out settings, click the pfodDevice name.

If you want to delete a connection, open it for editing and then click the app's menu button to
display the “Delete Connection” option menu.

When you have finished editing your pfodDevice connection use your mobile's back button to go
back to the “Connect to” screen

This displays a list of pfodDevice connections you have set up. You can now select this device to
connect to.
You can get back to the Edit Connections screen using the Add/Edit button on app's menu.

See also, Single Click connection

See also, Licence Check on First Connection Attempt

© 2012-2016 Forward Computing and Control Pty. Ltd, [Link]


pfodAppTM and pfodDeviceTM are trade marks of Forward Computing and Control Pty. Ltd.
AndroidTM is a trade mark of Google Inc. 9
Adding a BLE (Bluetooth Low Energy) connection to pfodApp
BLE connections are only possible if your mobile device supports it.

If you device does not support BLE then the will not be displayed.
PfodApp V1.2.101+ recognises the following BLE devices:- RedBear, RFduino, HM_10,
Adafruit's Bluefruit LE and boards using the Nordic UART service. The Arduino/Genuino 101
board can be configured to use one of the services that pfodApp recognises.
On starting the application you will be presented with an initially empty connection screen.

Scanning for Bluetooth Low Energy devices

Press the button to add a BLE pfodDevice. That will start a scan of BLE devices near your
mobile. The scan runs for about 30 secs to give you time to power up your device. If no BLE
devices are found, pfodApp shows

Some devices like, RedBearLab shield, are more difficult to find, if your BLE device is powered up
and is not found in 10 sec, try restarting the scan by either using the mobile's back button to stop the

scan and then clicking on the button again, or you can use the mobile's home key to return
to the home page and then select the pfodApp icon again. The scanning works better if there are
only a few BLE devices active, so move away from other other BLE devices when setting up a new

© 2012-2016 Forward Computing and Control Pty. Ltd, [Link]


pfodAppTM and pfodDeviceTM are trade marks of Forward Computing and Control Pty. Ltd.
AndroidTM is a trade mark of Google Inc. 10
connection.
If you still cannot find your BLE device after a few attempts, try running Nordic's nRF Master
Control (BLE) app and see if it can find your device.

Choose the pfodDevice from the list of discovered BLE devices that have been found. You can
check the address against the address of your pfodDevice.
Note: Any BLE devices that you have already setup a connection for, will not be shown.
Choosing one of the BLE devices, will start a connection to it and checks that it has a UART service
that pfodApp recognizes. Each BLE board manufacture defines its own service UUID and boards
from new manufactures' may not be recognized until pfodApp is updated with their details.
If the BLE device has a UART service that pfodApp recognizes then pfodApp opens the
pfodDevice Edit screen on which you can assign a meaningful name to this pfodDevice and a time-
out. The default time-out of 10sec is usually sufficient. Setting a time-out of 0 means that once the
pfodApp has connected it will never disconnect waiting for the pfodDevice to respond.

© 2012-2016 Forward Computing and Control Pty. Ltd, [Link]


pfodAppTM and pfodDeviceTM are trade marks of Forward Computing and Control Pty. Ltd.
AndroidTM is a trade mark of Google Inc. 11
Press the Save button to save your changes.

If you want to edit the name or time out settings, click the pfodDevice name.

If you want to delete a connection, open it for editing and then click the app's menu button to
display the “Delete Connection” option menu.

When you have finished editing your pfodDevice connection use your mobile's back button to go

© 2012-2016 Forward Computing and Control Pty. Ltd, [Link]


pfodAppTM and pfodDeviceTM are trade marks of Forward Computing and Control Pty. Ltd.
AndroidTM is a trade mark of Google Inc. 12
back to the “Connect to” screen.

This displays a list of pfodDevice connections you have set up. You can now select this device to
connect to.
You can get back to the Edit Connections screen using the Add/Edit button on app's menu.

See also, Single Click connection

See also, Licence Check on First Connection Attempt

© 2012-2016 Forward Computing and Control Pty. Ltd, [Link]


pfodAppTM and pfodDeviceTM are trade marks of Forward Computing and Control Pty. Ltd.
AndroidTM is a trade mark of Google Inc. 13
Setting up a Wi-Fi/Internet connection
Before starting to set-up a wifi/internet connection you need to know the hostname or IP address of
the pfodDevice and its port number. If your pfodDevice has a 128bit password you will need that as
well. Usually the password will be attached to the device as a QR code for ease of entry.
This example will assume the pfodDevice's ip address is [Link] and the port is 4989. In this
case the pfodDevice is on the local network. For connection via the internet use the pfodDevice's
internet address, either hostname or ip address.
It will also be assumed that the pfodDevice has the following 128bit password.

173057F7A706AF9BBE65D51122A14CEE

Adding a wifi connection to pfodApp


After downloading the pfodApp to your phone, it will appear in the list of applications. From there
you can drag it to the Home icon at the bottom of the screen to place it on one of your front pages.

On starting the application you will be presented with an initially empty connection screen. To setup

the wifi connection, start pfodApp and select the + wifi button,

This will open the wifi connection screen where you can enter the host and port number

© 2012-2016 Forward Computing and Control Pty. Ltd, [Link]


pfodAppTM and pfodDeviceTM are trade marks of Forward Computing and Control Pty. Ltd.
AndroidTM is a trade mark of Google Inc. 14
You can also enter a name for this connection if you wish.
To add the password, your can either type it in by hand or click the Scan QR button to open a QR
reader to read the QR code into the Password field.
The QR reader recognises two formats:-
i) Password on the first non-blank line scanned. You can generate this QR codes using the free
SecretKeyGenerator program
([Link]
ii) A pfodWifiConfigV1 QR code, which contains pfodWifiConfigV1 on the first line and the
password on the third line. You can generate this QR code using the free pfodQRpsk
program ([Link]

If you want to copy and paste into the password field, press and hold the password field and a Paste
button will show.

© 2012-2016 Forward Computing and Control Pty. Ltd, [Link]


pfodAppTM and pfodDeviceTM are trade marks of Forward Computing and Control Pty. Ltd.
AndroidTM is a trade mark of Google Inc. 15
Only the first line of text copied will be pasted into the password field.

The time out defaults to 10sec . This is the time allowed between the pfodApp sending a message
and the pfodDevice responding. This default time out is usually sufficient. Setting a time-out of 0
means that once the pfodApp has connected it will never disconnect waiting for the pfodDevice to
respond.

Press the Save button to save your changes.

© 2012-2016 Forward Computing and Control Pty. Ltd, [Link]


pfodAppTM and pfodDeviceTM are trade marks of Forward Computing and Control Pty. Ltd.
AndroidTM is a trade mark of Google Inc. 16
If you want to edit the connection, click the pfodDevice name.
Use your mobile's back button to close the “Edit Connections” screen and return to the “Connect
to” screen.

This displays a list of pfodDevice connections you have set up. You can now select this device to
connect to.
You can get back to the Edit Connections screen using the Add/Edit button on app's menu.

© 2012-2016 Forward Computing and Control Pty. Ltd, [Link]


pfodAppTM and pfodDeviceTM are trade marks of Forward Computing and Control Pty. Ltd.
AndroidTM is a trade mark of Google Inc. 17
If you want to delete a connection, open it for editing and then click the app's menu button to
display the “Delete Connection” option menu.

See also, Single Click connection

See also, Licence Check on First Connection Attempt

Local and non-local IP addresses


Your local WiFi network uses a range of local IP addresses, either starting with “10.” or starting
with “192.168.”
If you create a WiFi connection with one if these addresses then pfodApp will try can connect via
your local WiFi network.
However if your connection has an internet address or any other non-local IP address. i.e. not
starting with “10.” or “192.168.” then pfodApp will assume it needs to connect over the internet and
will use moble data on your phone, if available. If mobile data is not available or switched off,
pfodApp will fall back to using its WiFi connection.
pfodApp operates in this way to provide seamless connections to your home devices have
configured to be available from the internet. For example to access your garage door control from
the internet, you need to configure your internet router to map an incoming portNo to a the local IP
and port of your garage door control. Then you create a pfodApp connection for the global IP of
your router and the incoming port No.
This works well if you are away from home. pfodApp connects to the global IP and finds your
router and then connects to the portNo and is mapped through to your garage door on its local
IP:port.
However if you try to connect via your local WiFi network when you are at home, your router will
block you as part of it's built it security. Your router will not let you connect from your phone on
the home WiFi network out through your router and back in to your local network.
To avoid this issue, pfodApp automatically turns off its local WiFi connection when trying to
connect to a non-local IP address, or any internet address, and uses the phone's Mobile Data
connection instead. So it connects not to your router but to your phone's service provider and then
via their network back to your router and to your garage door. As mentioned above if you turn off
your phone's Moble Data, pfodApp will fall back to trying to connect via it local WiFi connection.

© 2012-2016 Forward Computing and Control Pty. Ltd, [Link]


pfodAppTM and pfodDeviceTM are trade marks of Forward Computing and Control Pty. Ltd.
AndroidTM is a trade mark of Google Inc. 18
Setting up an SMS connection
For an SMS connection you need the phone number of the pfodDevice If your pfodDevice has a
128bit password you will need that as well. Usually the password will be attached to the device as a
QR code for ease of entry.
This example will assume the pfodDevice's phone number is 041922.
It will also be assumed that the pfodDevice has the following 128bit password.

173057F7A706AF9BBE65D51122A14CEE

Adding an SMS connection to pfodApp


After downloading the pfodApp to your phone, it will appear in the list of applications. From there
you can drag it to the Home icon at the bottom of the screen to place it on one of your front pages.

On starting the application you will be presented with an initially empty connection screen. To setup

the wifi connection, start pfodApp and select the + SMS button,

This will open the SMS connection screen where you can enter the phone number.
You can also enter a name for this connection if you wish.

© 2012-2016 Forward Computing and Control Pty. Ltd, [Link]


pfodAppTM and pfodDeviceTM are trade marks of Forward Computing and Control Pty. Ltd.
AndroidTM is a trade mark of Google Inc. 19
To add the password, click the Scan QR button and scan the QR code. It will be pasted into the
password field.
The QR reader recognises two formats:-
1. Password on the first non-blank line scanned. You can generate this QR codes using the free
SecretKeyGenerator program
([Link]
2. A pfodWifiConfigV1 QR code, which contains pfodWifiConfigV1 on the first line and the
password on the third line. You can generate this QR code using the free pfodQRpsk
program ([Link]

© 2012-2016 Forward Computing and Control Pty. Ltd, [Link]


pfodAppTM and pfodDeviceTM are trade marks of Forward Computing and Control Pty. Ltd.
AndroidTM is a trade mark of Google Inc. 20
If you want to copy and past the password into the password field, press and hold the password field
and a Paste button will appear. Only the first line of text copied will be pasted into the password
field.
The time-out defaults to 3mins . This is the time allowed between the pfodApp sending a message
and the pfodDevice responding. If no response is received in this time then the pfodApp resends
the SMS message. After 5 retries, the pfodApp notifies you the connection has been lost.
You can increase this time-out but you should NOT set this time-out to 0 as lost SMS messages are
not uncommon.
For SMS connections the Confirm Menu Selections is ticked by default. You will be prompted to
confirm each menu selection you make when you are connected to the pfodDevice before the SMS
command is sent.

Press the Save button to save your changes.

If you want to edit the connection, click the pfodDevice name.

© 2012-2016 Forward Computing and Control Pty. Ltd, [Link]


pfodAppTM and pfodDeviceTM are trade marks of Forward Computing and Control Pty. Ltd.
AndroidTM is a trade mark of Google Inc. 21
Use your mobile's back button to close the “Edit Connections” screen and return to the “Connect
to” screen.

This displays a list of pfodDevice connections you have set up. You can now select this device to
connect to.
You can get back to the Edit Connections screen using the Add/Edit button on app's menu.

If you want to delete a connection, open it for editing and then click the app's menu button to
display the “Delete Connection” option menu.

See also, Single Click connection

See also, Licence Check on First Connection Attempt

© 2012-2016 Forward Computing and Control Pty. Ltd, [Link]


pfodAppTM and pfodDeviceTM are trade marks of Forward Computing and Control Pty. Ltd.
AndroidTM is a trade mark of Google Inc. 22
Connecting to a pfodDevice

Single Click connection


If you have setup just one pfodDevice connection, then when you start pfodApp it will
automagically start connecting to that pfodDevice.
If you want to add another connection or edit the existing connection, start pfodApp and then just
use the app's menu button to display the application's menu and then select “Connections”

If you only have one connection setup and want to edit it or setup another on but the pfodApp is
closed immediately by the pfodDevice sending a CloseCommand or due to an incorrect password,
then to prevent pfodApp connecting, turn on Aeroplane mode on your mobile. Then restart
pfodApp and when the connection attempt fails, close the Connection Failed dialog. Then you will
be able to click the app's menu button and choose “Connections” from the options menu.
NOTE: You must be connected to the Internet, for a licence check, when you first try to connect to
pfodDevice you have just added or edited., see Licence Check on First Connection Attempt.

© 2012-2016 Forward Computing and Control Pty. Ltd, [Link]


pfodAppTM and pfodDeviceTM are trade marks of Forward Computing and Control Pty. Ltd.
AndroidTM is a trade mark of Google Inc. 23
Selecting from Multiple Connections

If you have more then one pfodDevice connection setup, then when you start pfodApp you will be
presented with as list of pfodDevices to connect to.

To connect to the pfodDevice, just click it.

In this case the Garage Door pfodDevice only offers a simple open/close button. Other
pfodDevices will present different options to you. In all cases the same pfodApp can be used to
control different pfodDevices. It is the pfodDevice that determines what options are displayed.

© 2012-2016 Forward Computing and Control Pty. Ltd, [Link]


pfodAppTM and pfodDeviceTM are trade marks of Forward Computing and Control Pty. Ltd.
AndroidTM is a trade mark of Google Inc. 24
SMS Connections
SMS message take some time to be sent and responded to. Once you have initiated the SMS
connection you can leave pfodApp running in the background and continue to use other applications
while you wait for the response.
The mobile will notify you when an SMS is received and you will see an odd collection of
characters sent from the pfodDevice. Open pfodApp again to see the screen the pfodDevice has
sent. Some screens require multiple SMS messages to be be delivered so the new screen may not
be visible after the first message.
If an SMS message from the pfodApp is not responded to, pfodApp will resend it after the time out
(default 3 mins). After 5 retries the pfodApp will stop with a 'connection lost' message.
This can happen in a number of situations. The pfodDevice SIM may have run out of credit. It may
be powered down or another user may be connected to it.
Once you connect to the pfodDevice via SMS, you stay connected, BUT after a pfodDevice time
out (typically 10mins), the pfodDevice can accept a new connection from another user. When the
new user connects, the pfodDevice stop responding to you. After 10mins of inactivity by the new
user you will be able to connect again.
Set a password on the SMS connection and program it into the pfodDevice to prevent unauthorised
control of the pfodDevice.

Exiting pfodApp or Closing a Connection.


When you exit pfodApp or choose “Connections” from the app's menu, pfodApp first closes any
current connection by sending the CloseConnection command, {!}, to the pfodDevice. It can take a
few seconds for this CloseConnection command to be sent, particularly for SMS connections and
pfodApp will appear to pause while this is happening.

Licence Check on First Connection Attempt


NOTE: You must be connected to the Internet, for a licence check, when you first try to connect to
pfodDevice you have just added or edited. However you do not need to be within bluetooth range
of your pfodDevice when attempting this first connection. On the first attempt to connect to a newly
added pfodDevice, the pfodApp licence will be checked and cached even if the bluetooth
connection fails.

So if your bluetooth pfodDevice is in a location where your mobile does not have access to the
Internet, follow these steps:-

a) Pair your mobile with the bluetooth pfodDevice. You need to be within bluetooth range to do
this. An Internet connection is not required to pair your mobile to the bluetooth pfodDevice.

b) Go to a location where your mobile has an Internet connection, start pfodApp and add the paired
bluetooth device as described above. Then click on the new connection to attempt to connect to it.
A licence check will be performed via the Internet and the result cached by pfodApp. It does not
matter if the bluetooth fails to connect to the pfodDevice.

c) Go back to where your bluetooth pfodDevice is and you will now be able to connect to it and

© 2012-2016 Forward Computing and Control Pty. Ltd, [Link]


pfodAppTM and pfodDeviceTM are trade marks of Forward Computing and Control Pty. Ltd.
AndroidTM is a trade mark of Google Inc. 25
control it using pfodApp.

The pfodApp periodically checks the licence via the Internet, but due to licence caching, you do not
normally need an internet connection when using the pfodApp to control a pfodDevice.

Adding, Editing or Deleting a Connection.


To add/edit a connection, first start pfodApp. It does not matter if you connect to a pfodDevice or
not. Then from the app's menu select Connections.

This closes any current connections and opens the list of currently defined connections. You can
then either choose another connection or open the add/edit screen from the app's menu

From this screen you can choose Add/Edit to add a new connection or edit an existing connection.
While editing a connection the popup menu will display options for Sound Setting, Clear Menu
Cache and Delete Connection.

© 2012-2016 Forward Computing and Control Pty. Ltd, [Link]


pfodAppTM and pfodDeviceTM are trade marks of Forward Computing and Control Pty. Ltd.
AndroidTM is a trade mark of Google Inc. 26
NOTE: You must be connected to the Internet, for a licence check, when you first try to connect to
pfodDevice you have just added or edited., see Licence Check on First Connection Attempt.

Changing the Sound Played by a Connection


A pfodDevice can request that a sound be played when a menu item is displayed by sending <ex s>
as part of the text for that menu item. By default, the sound played is the default Notification sound
for your mobile. You can choose another sound to be played when the pfodApp receives <ex s>.
The set the sound for a connection, open the connection for editing and then open the mobile's
menu and select “Sound Settting” which opens a window of available Notification sounds.
If you think pfodApp should be playing a sound (check the Debug View for @) and it is not playing
a sound, then a) turn up the volume on your mobile, b) change the “Sound Setting” to another
sound.

Deleting the Menu Cache


The pfodApp keep a cache of previous menus and when they need to be redisplayed, pfodApp
sends a request for the latest updates. Deleting the menu caches force the pfodApp to re-request the
complete menu next time it needs to be displayed. You usually don't need to manually clear the
cache because pfodApp keeps track of the menu version and will display the latest version if it has
changed.
The main use for this command is to force a complete menu reload if the pfodDevice code has been
changed but the pfodDevice menu version has not been changed.

© 2012-2016 Forward Computing and Control Pty. Ltd, [Link]


pfodAppTM and pfodDeviceTM are trade marks of Forward Computing and Control Pty. Ltd.
AndroidTM is a trade mark of Google Inc. 27
Deleting the Connection
The last menu item while editing a connection lets you delete it.

pfodApp Menu Items

There are a number of menu items available on your app's menu button.

Connections
This closes any current connection and opens the list of available connections. You can choose one
to connect to or use the app's menu to add/edit a connection.

Exit
The Exit menu item will close the current connection and exit pfodApp

Clear Image Cache


The Clear Image Cache menu option clears the Image cache for this connection. This will ensure
the next time a menu containing images is displayed, the images will re-loaded from the pfodDevice
rather then just displaying the local pfodApp cached image. You normally don't need to use this
menu item because pfodApp keeps track of image version numbers and will display the new image
when the version changes.

© 2012-2016 Forward Computing and Control Pty. Ltd, [Link]


pfodAppTM and pfodDeviceTM are trade marks of Forward Computing and Control Pty. Ltd.
AndroidTM is a trade mark of Google Inc. 28
About
The About menu item will display a screen about pfodApp. Use the mobile's Back button to return
from this screen.

Debug View
The Debug View shows the last 5K of messages and data that have been sent to and from the
pfodApp. Use the mobile's Back button to return from this screen.

In this screen the text enclosed by { } are the pfod messages


< indicates a message sent from the pfodApp while
> indicates a message received by the pfodApp from the pfodDevice.
In the above screen the text outside the { } pfod messages is raw data sent by pfodDevice.

Raw Data
Raw Data is any characters that arrive at the pfodApp that are not part of a pfod message, i.e. not in
{ }. The pfodDevice can send raw data at any time
When a connection to a pfodDevice is made, pfodApp will start saving the any raw data to a local
file on your mobile. A little pop-up lets you know the location and name of the file where the raw
data is being saved. The file name is typically the name of the connection. All raw data files are
save in the /pfodAppRawData directory on your mobile.
If the file already exists it is just added to.
The Raw Data menu item opens a screen that only show the raw data (if any) that has been sent by
the pfodDevice. Use the mobile's Back button to return from this screen. (Also see Plotting below)

© 2012-2016 Forward Computing and Control Pty. Ltd, [Link]


pfodAppTM and pfodDeviceTM are trade marks of Forward Computing and Control Pty. Ltd.
AndroidTM is a trade mark of Google Inc. 29
Unlike the Debug View which shows both the pfod messages, {…} and any raw data, the Raw Data
screen does not show the pfod messages, { }, just the raw data.
The Raw Data screen is only displays the last 4K of raw data, but all the raw data is saved to the
file for later downloading to your computer.
To avoid filling your mobiles memory with data, be sure to Exit pfodApp when you are finished.

Plots
As well as displaying raw data from your pfodDevice, the pfodApp can plot it. As with other
screens on the pfodApp, the plotting is controlled by the pfodDevice.
The plot command must be programmed into the pfodDevice.
When the pfodDevice sends the plot version of the Streaming Raw Data command, {= . .. }, the
pfodApp on your mobile will open a plot screen and dynamically plot the fields selected by
pfodDevice.

© 2012-2016 Forward Computing and Control Pty. Ltd, [Link]


pfodAppTM and pfodDeviceTM are trade marks of Forward Computing and Control Pty. Ltd.
AndroidTM is a trade mark of Google Inc. 30
When the plot screen opens, the pfodApp automatically starts saving the data to a file on your
mobile. Once the pfodApp starts saving the data it continues to save it until you exit the application
or loose the connection to the pfodDevice. See the section above on how to transfer this data to
your computer.
Note: If the pfodDevice sends data faster then you mobile can process it, some of the data will be
dropped from the plot, resulting in straight lines on the plot covering the missing data. However in
all cases, all the data is saved to your mobiles storage and can be transferred later to your computer,
as described above, to plot all the points in a spreadsheet or other plotting package.

Working with Plots


The pfodApp chart is updated about once per sec. You can freeze the plot by holding it down with
your finger.
The plots can be panned and scaled on your mobile's screen.
To pan left or right, up or down, drag the plot with one finger.
To scale the plot, use two fingers to pinch or expand the scales.
To restore the plot to is default scaling, double tap it.
As mentioned above, plots will not be available unless one of the pfodDevice's menu item is
programmed to send necessary command to your mobile telling it which data fields to plot and field
names, scales, etc.

Transferring Raw Data from your Mobile to your Computer.


Having save some raw data to the file on your mobile you can transfer it to your computer. Prior to
Android V4 you could use your mobile's USB connection. However in later versions of Android the
file system was tightened up and now you may not even see the files written by pfodApp when you
connect your mobile to your computer via USB.
A simple way to transfer your raw data file is to use one of the Wi-Fi File Transfer apps. For
example Wi-Fi File Transfer by SmarterDriod. The free version will transfer up to 5Meg files. The

© 2012-2016 Forward Computing and Control Pty. Ltd, [Link]


pfodAppTM and pfodDeviceTM are trade marks of Forward Computing and Control Pty. Ltd.
AndroidTM is a trade mark of Google Inc. 31
Pro version is in-expensive.
First you should Exit the pfodApp, this saves the last of the raw data.
Then launch the wifi file transfer app. It will give you a web address for your computer to connect
to. Both your computer and Android mobile need to be on the same local network.
Then you can navigate to the /pfodAppRawData and download the raw data files from there.

USB storage on Nexus One mobile


For a Nexus One mobile (Android V2.3), after plugging the USB cable into your mobile and into
your computer, pull down the top menu bar of your mobile.

Select “USB connected” item to bring up the following screen.

© 2012-2016 Forward Computing and Control Pty. Ltd, [Link]


pfodAppTM and pfodDeviceTM are trade marks of Forward Computing and Control Pty. Ltd.
AndroidTM is a trade mark of Google Inc. 32
Click the “Turn on UBS storage” button.

Click OK.
After clicking OK the following screen is displayed.

© 2012-2016 Forward Computing and Control Pty. Ltd, [Link]


pfodAppTM and pfodDeviceTM are trade marks of Forward Computing and Control Pty. Ltd.
AndroidTM is a trade mark of Google Inc. 33
External Storage
You should now be able to find a new external device in your computer's file system. On a
Windows PC it looks like this.

All the raw data files are in the pfodAppRawData folder on your mobile.

The files containing the data can then be copied to you computer for further use.
Note: pfodApp will not be able to save any more raw data to your mobile while the USB storage
is connected to the computer. So be sure to Turn Off the USB storage and disconnect the USB

© 2012-2016 Forward Computing and Control Pty. Ltd, [Link]


pfodAppTM and pfodDeviceTM are trade marks of Forward Computing and Control Pty. Ltd.
AndroidTM is a trade mark of Google Inc. 34
cable from the computer before using pfodApp again.

Display of Native Languages


pfodApp can display screens in your native language. See the pfodDemo for examples.
This native language display depends on two things:-
1) the pfodDevice you are connecting to must send the text in your native language using UTF-8
encoding. The pfodApp just displays what is sent. The pfodDevice completely controls what is
displayed.
2) your mobile needs to have the appropriate font installed. If the font is not available the text will
be displayed as small rectangles. You may be able to find your language's font on the web and
download it to your mobile. This document does NOT cover updating your mobile with extra fonts.
Although pfodApp will display native languages, the connection screen and error messages are still
in English (at the moment). Contact [Link] if you have a project that needs the
connection screen translated to another language.

Inputting non-ASCII characters into Text Input Screens.


The pfod spec defines text input screens that consist of an input area and a prompt. This type of
screen will only be displayed if the pfodDevice you are connecting to requests text input.
These screens will accept any Unicode char and display it if the mobile has the appropriate font.
You can enter any Unicode character by using its escape sequence, \u.... i.e. \u followed by exactly
4 digits. E.g. entering \u2109 into the text box will be immediately replace with ℉

Toggle Buttons – Sliders with only two choices


If a menu item with a slider has only two possible choices then you can either slider the slider OR
just click anywhere in the menu item to toggle the setting.

© 2012-2016 Forward Computing and Control Pty. Ltd, [Link]


pfodAppTM and pfodDeviceTM are trade marks of Forward Computing and Control Pty. Ltd.
AndroidTM is a trade mark of Google Inc. 35
Unexpected Loss of Connections.
Connections between pfodApp on your mobile and the pfodDevice can be lost for a number of
reasons. NOTE: Aeroplane mode prevents Bluetooth, Wi-Fi and SMS connections.
The pfodDevice may send a “Close Connection” command to the pfodApp which asks the pfodApp
to close the connection and exit. In this case the pfodApp usually displays a final pop-up message
sent from the pfodDevice.
Other reasons for loss of connection are:-
For bluetooth connections -- you have moved out of bluetooth range.
For wifi connections -- the connection can be closed by the pfodDevice if an idle time-out has been
set and you have not sent any commands for some time.
Connections can also be lost if the pfodApp is not visible on the mobile's screen and some other
application requires more memory. In this case your mobile may shut down part or all of pfodApp.
Then when you make pfodApp visible again it may not be connected or in some cases just stop
running un-expectedly.
In all these cases, just close pfodApp and restart it and re-connect to the pfodDevice.

Android V4 Bluetooth Problems


With the release of Android V4.2, a new bluetooth stack was introduced in the Android Operating
System. This new bluetooth stack has experienced a lot of problems which are continuing as of
Android V4.4. Typical problems include being unable to pair bluetooth devices, unable to connect
and loss of connection.
“A surprising number of people have cleared up a lot of their issues by disabling the 5 GHz Wi-Fi
band, or shutting down Wi-Fi altogether. While unusual, this radio may be causing interference for
the Bluetooth radio. I could make guesses as to how this would happen, but I’m not an expert in this
area, so I’ll leave that for somebody with more experience.”
([Link]
assorted-bluetooth-issues/)
See the above link for more details and possible fixes for the problem.
One (drastic) solution is to purchase a Nexus One phone, which runs Android V2.3. This phone
appears to be very stable.
Update: One of our test Bluetooth shields keeps disconnecting while another from the same
supplier stays connected. So Bluetooth problems can also be due to individual Bluetooth module
problems.

Trouble Shooting Bluetooth Low Energy (BLE) on Android

If your mobile does not support BLE, then pfodApp will not display the button in the

© 2012-2016 Forward Computing and Control Pty. Ltd, [Link]


pfodAppTM and pfodDeviceTM are trade marks of Forward Computing and Control Pty. Ltd.
AndroidTM is a trade mark of Google Inc. 36
add/edit connections screen.
Not all Android mobiles support BLE. You can check if your mobile supports BLE with the free
Nordic nRF Master Control Panel (BLE) android app.
The BLE hardware is still being ironed out. On the Android side, BLE support was introduced in
V4.2 but that version and V4.3 was very buggy. V4.4 improved the BLE support and these modules
were tested on an ASUS Zen Phone 5 running V4.4.2. Other phones may vary. Android V5 is
reported to be better, but has not been tested yet.
ASUS Zen Phone 5 running V4.4.2 worked fine apart from dropping the connection after 5mins and
occasionally at other times. However pfodApp automatically reconnects within a few seconds and
the data logging is appended to the existing log file so it is still very usable. If the menu display
looks odd or has odd characters in it, just use the mobile's back button to re-request it. If it persists
you may need to open the Connections menu and edit the connection to clear the Menu Cache.
On the module side, there are various chip sets that board manufactures use to provide BLE support.
Some are better then others, some scan better, some have less drop outs etc.
If the Bluetooth connection seems to get stuck or will not connect, try exiting pfodApp and turning
the mobile's Bluetooth off and on and turning the Arduino BLE module off and on. If that does now
work try turning the mobile's Bluetooth off and restarting the phone and then turning the Bluetooth
back on to completely clear the Android BLE stack.

Why is BLE so hard to use?


Bluetooth used to be easy to use, every Android and iPhone and most computers supported
Bluetooth V2. The Bluetooth Serial Port Profile (SPP) was the standard way to get a general data
connection via Bluetooth and all Arduino Bluetooth V2.0 shields supported it.
When Bluetooth SIG introduced Bluetooth Low Energy everything changed. For some unknown
reason Bluetooth SIG did not define a standard general purpose serial service for Bluetooth V4.
This means that each board manufacture defines their own connection service and your app has to
recognize each one. pfodApp overcomes this by pre-configuring the connection details for a variety
of common boards. If you have a board that is not supported, contact [Link] at support to get
its connection details added to pfodApp.
Bluetooth V4 does define a number of 'standard' connections, like heat rate and battery monitoring,
etc. pfodApp does not connect to any of these. If you want to log and plot that data with pfodApp,
send the data via the UART style service your board provides.
On the Arduino side there is no standard BLE library, each BLE board manufacture has their own
library, each with its own particularities, to access their particular BLE chipset. pfodDesigner helps
out here by generating a complete sketch for each of the supported boards to get you up and running
quickly.
Given the issues outlined above why should you use BLE?
BLE was designed for low energy use so if you are building a device that needs to run on a couple
of coin cells for 6 months then BLE is ideal. On the other hand if you just want a shield to
communicate with your Arduino then a Bluetooth V2 shield or a cheap WiFi shield.
Of course the other reason for using BLE is because you bought one (perhaps by mistake). In any
case pfodApp and pfodDesigner will get you up and running with a custom control quickly and
easily.

© 2012-2016 Forward Computing and Control Pty. Ltd, [Link]


pfodAppTM and pfodDeviceTM are trade marks of Forward Computing and Control Pty. Ltd.
AndroidTM is a trade mark of Google Inc. 37
Product Warning and Limitation of Liability and Copyrights
This pfodApp has intentional limitations in functionality and the software will have unintentional
coding errors. It must NOT be used in any situation where there is any risk of personal injury or
damage to property.

Limitations on Liability and Remedies


All implementations of pfod provided by Forward Computing and Control Pty. Ltd. (Forward),
either as, but not limited to, applications, devices or example code, are provided “as is” and are not
warranted to be fit for any purpose.
To the extent allowed by the law, Forward and its Directors, Employees and Agents' only obligation,
liability and/or remedy, with respect to any claim shall be to refund the license fee paid to Forward.

Applicable Law, Jurisdiction, and Venue


This Product Warning and Limitation of Liability shall be interpreted under the laws of the State of
New South Wales, Australia, notwithstanding the application of any jurisdiction's choice-of-law
rules to the contrary. Any action relating to this must be brought in the state or federal courts located
in New South Wales, Australia.
In the event legal action is brought, the prevailing party shall recover its reasonable attorney's fees,
costs, and expenses, including, but not limited to, fees, costs and expenses of collecting any
judgement.

Copyrights
The copyright in this document and in any implementations of pfod provided by Forward
Computing and Control Pty. Ltd. (Forward), either as, but not limited to, applications, devices or
example code is owned by Forward under the copyright laws of the Australia, the Universal
Copyright Convention, and the Berne Convention.

© 2012-2016 Forward Computing and Control Pty. Ltd, [Link]


pfodAppTM and pfodDeviceTM are trade marks of Forward Computing and Control Pty. Ltd.
AndroidTM is a trade mark of Google Inc. 38

You might also like