RasPiConnect App / ArduinoConnect App

From RasPiConnect/ArduinoConnect
Jump to: navigation, search


RasPiConnect / ArduinoConnect Home

Contents

What are the differences between RasPiConnect and ArduinoConnect?

RasPiConnect and ArduinoConnect are both communication apps for displaying information and from your small computing devices and for sending commands to those same devices.

With an in-app purchase, the same app can communicate with both Arduinos and with Raspberry Pi's.

Both apps are virtually identical in terms of interface and function but there are several differences that should be highlighted.

- Several commands are not supported in the ArduinoConnect Server. These are related to the much smaller resources available on an Arduino versus a Raspberry Pi.

These are:

- Both apps do not support sending Configuration files to the server if the server is an Arduino. You can send configuration files to any Raspberry Pi server. You can still share configuration files through the cut and paste method on the settings screen.

- When a set of control commands are sent to a Raspberry Pi server, all the commands to be sent to the server in a single bundle to minimize http connect/disconnect time. The responses are also read back as a single bundle from the Raspberry Pi. Control commands are sent one at a time to the Arduino and responses are read back individually to minimize buffering space and stack space on the Arduino. This results in slower response from Arduino servers versus Raspberry Pi servers.

- All push button commands and send text commands are sent individually immediately to both kinds of servers.

- Both apps communicate in XML with Raspberry Pi servers and in JSON with Arduino servers.

Latest App Changes

RasPiConnect

RasPiConnect 3.18714172 contains the following changes:

  • Bug Fixes: Display, Slider Control Storage, Load Screen File List
  • New LIVE Control - Dynamic Label
  • IOS 8 Support


RasPiConnect 2.67921160 contains the following changes:

  • Bug fixed for Alarm Control
  • Documentation fixed for Strip Plots LIVE
  • Bubble Control does not clear old data between page switches
  • Turn off File Integrity Check Option - allows external editing of XML configuration files
  • Rare disappearing background bug fixed

RasPiConnect 2.67809154 contains the following changes:

  • New LIVE controls and graphs (6 new controls) (in-app purchase)
  • Webview Caching issue resolved
  • Clear All Controls from Project Button added
  • Various display bugs fixed

RasPiConnect 2.47216148 contains the following changes:

  • iOS7 support
  • New Alarm Control
  • Immediate Multi-Control refresh from Button Push
  • Minor Bug fixes

RasPiConnect 2.47108145 contains the following changes:

  • Fixes all reported bugs
  • Adds HTTPS support
  • Improved Debug Window
  • HTTP/HTTPS timeout now programmable

RasPiConnect 2.26925140 contains the following changes:

  • Added Bar Meter Control Support
  • Added optional Arduino support in-app purchase
  • Debug Window in-app purchase


RasPiConnect 2.16730122 contains the following changes:

  • Fixed device selection bug in "Edit Control" in iPhone
  • Minor edits


RasPiConnect 2.16602120 contains the following changes:

  • Added iPhone support
  • Fixed App crash when "+" indicator is used in add/edit System URL
  • Minor bug fixes


RasPiConnect 2.06602102 contains the following changes:

  • Added FEEDBACK_ACTION_BUTTON_UITYPE
  • Fixed reporting of number of pages in a save file
  • Added "AR" indicator that the Auto Refresh is active
  • Fixed Selection moving bug in Layout Screen

ArduinoConnect

ArduinoConnect 3.18714172 contains the following changes:

  • Bug Fixes: Display, Slider Control Storage, Load Screen File List
  • New LIVE Control - Dynamic Label
  • IOS 8 Support

ArduinoConnect 2.67921160 contains the following changes:

  • Bug fixed for Alarm Control
  • Documentation fixed for Strip Plots LIVE
  • Bubble Control does not clear old data between page switches
  • Turn off File Integrity Check Option - allows external programs to write XML configuration files
  • Rare disappearing background bug fixed

ArduinoConnect 2.67809154 contains the following changes:

  • New LIVE controls and graphs (6 new controls) (in-app purchase)
  • Webview Caching issue resolved
  • Clear All Controls from Project Button added
  • Various display bugs fixed

ArduinoConnect 2.47216148 contains the following changes:

  • iOS7 support
  • New Alarm Control
  • Immediate Multi-Control refresh from Button Push
  • Minor Bug fixes

ArduinoConnect 2.47108145 contains the following changes:

  • Fixes all reported bugs
  • Adds HTTPS support
  • Improved Debug Window
  • HTTP/HTTPS timeout now programmable

ArduinoConnect 2.26925141 contains the following changes:

  • Initial Customer Release
  • Added optional Raspberry Pi support in-app purchase
  • Added optional Debug-Window support in-app purchase

The Main Tabs

Apptabs.png
There are three tabs in the RasPiConnect / ArduinoConnect App.

  • Control Panel - 5 pages of control panel display
  • Panel Setup - 5 pages of design templates for the 5 pages in the control panel
  • Settings - general settings and information for RasPiConnect / ArduinoConnect

Control Panel Tab



The Control Panel Tab consists of five independent pages of controls. Each control can be connected to a different Rasperry Pi or compatible computer. The buttons and functions (beyond the control panel type controls described below) are:

PageTitle.png

Page Title

Page Title - set in Panel Setup Tab using "Edit Page Button"

RefreshButton.png

Refresh Button

Refresh Button - Immediately sends a refresh command message to all connected System URLs on the active page (these are send as a group by page and then by System URL)

PageControl.png

Page Control

Page Control - Used to select the display page for the Control Panel (this is also sent to the Panel Setup Tab). Touch on either left or right of the page control to move from one page to another.

Panel Setup Tab


The Panel Setup Tab is used to put controls on each of the Control Panel Tab pages and configure the controls.

Page and File Display

Page Information Display


The label contains the current page name and the small black label below contains the name of the last configuration file loaded or saved.

Panel Setup Buttons

iPad Page Information Display


There are six buttons across the top of the iPad Panel Setup Tab. These buttons are reached by the "More" button in the upper right corner of the iPhone Panel Setup Tab.

Edit Page Button

The Edit Page Control is used to set control page specific parameters. Note that there are five control pages in RasPiConnect / ArduinoConnect (use the page control to move from one page to another). To edit the page control for another page, switch to that page, then press the Edit Page Button.


EditPage.png



The Save Button saves the current changes to the Page and returns to the Panel Setup Tab.

The Cancel Button cancels the current changes (with the exception of the Clear All Contents on Page which takes affect immediately upon pressing the button) and returns to the Panel Setup Tab.

The Page Title Text Box changes the upper left corner title on the page.

The Select Rotate Lock Button brings up a wheel that allows the user to "Lock" the device (for just this page!) to allow rotation, or lock it in portrait or landscape mode. This allows the user to design the control panel for a specific orientation if desired. Note that the iPhone is locked in landscape mode.

The Clear All Contents on Page Button removes all the controls from the current page. It cannot be undone once pressed.

Edit Selected Control Button

The Edit Selected Control Button is for setting up the control to talk to your Raspberry Pi and to test that connection. It is also used to customize the control.

EditControl.png



The Save Button saves the current changes to the Page and returns to the Panel Setup Tab.

The Cancel Button cancels the current changes (with the exception of the Clear All Contents on Page which takes affect immediately upon pressing the button) and returns to the Panel Setup Tab.

The Customize Button is used to provide further customization of the selected control. It is enabled if more customization is possible and disabled if not.

The Display Name of Control Text Box changes the name of the control on the Panel Setup Tab and, depending on the control, various labels inside the control (see the list of controls below).

The Control Code Text Box sets the alphanumeric code that is sent to the RasPiConnect / ArduinoConnect Server. The Server uses this ID to determine which section of server code to run for this control.

The Validate Button sends a control Validation command to the RasPiConnect / ArduinoConnect Server. It will change the LED to Green if the server has support for this Control Code for this type of control and Red if the server responds it doesn't support the command (or if the server is not present).

The Select System Button brings up a wheel listing all the current System URLs that have been defined, including a Demo mode.

Save Button

Save.png



The New Filename Text Box is for a new file name for the Save file.

The Save to New File Button will save the current configuration file to the device using the New Filename.

The Cancel Button cancels and returns to the Panel Setup Tab.

If there are any existing configuration files on the device, they will be listed here. Click on the file to overwrite files with the current configuration.

Load Button

LoadPages.png


The Load Demo Button loads the RasPiConnect / ArduinoConnect built-in demo page.

The Cancel Button cancels and returns to the Panel Setup Tab.

If there are any configuration files on the device, they will be listed here. Click on the file to load.

Add Button

The Panel Setup Tab Add Button is used to add new controls to the current page as shown on the Panel Setup Tab.

AddControl.png


The Cancel Button cancels the add control and returns you to the Panel Setup Tab.

The Add New Control Button adds the new Control to the current page shown on the Panel Setup Tab. After hitting the button, click on the Panel Setup to place your new control.

The Select Control Type Button brings up a wheel where you can select which type of control do you want to add.

The Display Name of Control Text Box changes the name of the control on the Panel Setup Tab and, depending on the control, various labels inside the control (see the list of controls below).

The Control Code Text Box sets the alphanumeric code that is sent to the RasPiConnect / ArduinoConnect Server. The Server uses this ID to determine which section of server code to run for this control.

The Validate Button sends a control Validation command to the RasPiConnect / ArduinoConnect Server. It will change the LED to Green if the server has support for this Control Code for this type of control and Red if the server responds it doesn't support the command (or if the server is not present).

The Select System Button brings up a wheel listing all the current System URLs that have been defined, including a Demo mode. [edit]

Delete Button

DeleteButton.png


Pushing the Delete Button will delete the selected control on the Panel Setup Tab.

Panel Setup Control Object Behavior

The Panel Setup Tab shows the "design" view of a RasPiConnect / ArduinoConnect control panel. It displays all the controls that have been added to a specific

Selecting

You select a control by touching the inside of the control box. The control changes to Green when selected.

Deselecting

Touching a selected object deselects the object.

Resizing

If a control can be resized, when you select small white squares will appear at each corner and side. Select a white box and it will turn blue. Drag the control by the blue square to resize. The Bump Buttons also work with the resizing function.

Clearing all Controls From page

If you wish to clear all controls from a page, push the Edit Page Button and push The Clear All Contents on Page Button to remove all controls from the current page. It cannot be undone once pressed.

The "Bump" Buttons

Bump Buttons



On the bottom right of the Panel Setup screen are four "Bump" arrow buttons. They will move the selected control by one pixel in the direction of the arrow pushed.

Page Control

Bump Buttons



Page Control - Used to select the display page for the Panel Setup Tab (this is also sent to the Control Panel Tab). Touch on either left or right of the page control to move from one page to another. You can change pages by touching to the left or right of the Page Control.

Settings Tab

Settings Screen


Settings contains application wide settings for RasPiConnect / ArduinoConnect.

The items are:

General

  • In-App Purchase Store - Shows the additional features of the app available for purchase
  • About - shows the current version of the RasPiConnect / ArduinoConnect app.
  • Set Password - sets the password and username to be used to communicate with the RasPiConnect / ArduinoConnect server. These values are sent encrypted to the server. They must match the values on the RasPiConnect / ArduinoConnect server.
  • Help - shows basic information about RasPiConnect / ArduinoConnect
  • Set Backgrounds - Opens a file selection window for both the main background and the background used for meters. Note that the names of the backgrounds are saved in the configuration files, but the files themselves are not saved to a remote server. If you move to a different machine, the app will default back to the backgrounds and you will need to choose another picture to re-establish your backgrounds.
  • Reset Background to Default - resets both the meter and control panel background back to the default files which are contained in the app.

In-App Purchase Store

This entry shows what additional features are available for purchase for the app.

Currently the additional features available are:

LIVE Control Pack 1 (for both)

On In-App Purchase Store
  • LIVE Control Pack 1 - This enables a additional controls that add significant new functionality to RasPiConnect/ArduinoConnect. These controls are LIVE controls which means they can stream data on an ongoing basis from the server in a constantly updates fashion. They make the screen come "alive".



Arduino Interface (for RasPiConnect)

On In-App Purchase Store
  • Arduino Interface - This allows the RasPiConnect app to connect with Arduino computers It uses a JSON based interface rather than XML and sends requests one at a time to not overwhelm the buffers and capacity of the much smaller Arduino. You can mix Arduinos and Raspberry Pi's on the same page. The ArdunioConnectServer Sketch in c++ for the ArduinoMega and above is available on www.milocreek.com.



Raspberry Pi Interface (for ArduinoConnect)

On In-App Purchase Store
  • Raspberry Pi Interface - This allows the ArduinoConnect app to connect with Raspberry Pi (and other Python enabled) computers It uses a XML based interface rather than JSON and sends requests grouped server by server. You can mix Arduinos and Raspberry Pi's on the same page. The RasPiConnectServer in Python is available on www.milocreek.com.



Raw Mode Output (for both)

  • Raw Mode Output - This allows the app to connect with any device using a single line of information. No error detection or correction is provided nor is an example server. This is for very small lightweight computers with little RAM or programming space. The format for input and output is described in the Raw Mode section.


Debug Window Tab (for both)

  • Debug Window Tab - This enables a debug window in the App that will display outgoing and incoming XML, JSON and/or Raw Mode information for all URLs. Great for helping to debug complex servers.
What is the Debug Window?

The Debug Window tab displays the last 200 interactions of the App with the server in a scrollable, cut and paste able scrolling text box. It has a Pause button that will stop the text. It is great for reading what the App is sending to the server and what the server is sending back.

More information about failures will be added in the future.

System URLs

System URLs are what RasPiConnect / ArduinoConnect uses to communicate to the servers. If you are on an internal wireless network, these URLs are typically of the form: http://ipnumber:portnumber/raspi (Ex. http://192.168.1.130:5700/raspi or http://192.168.1.130:5700/arduino). If you put your Raspberry Pi or Arduino on an external network connected to the internet, they would be of the form http://qualfieddomain:portnumber/raspi (Ex. http://raspi.example.com:5700/raspi). You can route your Raspberry Pi or Arduino through your router (port forwarding) to only expose one port to the Internet. If you do this, make sure you change your passwords to something very complicated!

An example URL for the Arduino would be http://qualfieddomain:portnumber/arduino (Ex. http://arduino.example.com:5700/arduino) .


  • Add / Edit System URLs - used to add new system URLs to RasPiConnect / ArduinoConnect (and their corresponding short names). Note that the DEMO URL cannot be deleted. All of the RasPiConnect / ArduinoConnect controls provide data to the control when set their URL is set to DEMO.
  • Set Default System URL - sets a default System URL for use by the Load from Server configuration file action in settings

Refresh Control

RasPiConnect / ArduinoConnect can be set up to do an automatic refresh of the screen. NOTE: If you aren't connected to a wireless internet (versus a cell data connection) then Auto refresh has no effect. This is done to avoid running up large data charges by mistake.

  • Auto Refresh - turns on auto refresh (only if connected to a wireless connection) for the control panel pages. If you are in the Control Panel Tab, it will refresh every X number of seconds.
  • Default Refresh Interval - Set the number of seconds between auto refreshes
  • Refresh on Program Start - Sets the option to refresh the displayed Control Panel upon opening the program
  • Refresh on Page Entry - Sets the option to automatically refresh the displayed Control panel upon entering the page from another Tab (not from another page in the Control Panel)
  • Refresh Statistics - DIsplays statistics for number of refreshes, number of validates, failures and estimates of total data transfers.

Support and Diagnostics

Settings Screen


  • Control Object Reports - Shows all of the control objects on all the pages and validates whether they are present or not on the respective servers (you can have more than one Raspberry Pi or Arduino connected to RasPiConnect / ArduinoConnect). Green indicates that the server is there and recognizes the control, Red means that the server isn't there or doesn't recognize the control and Orange indicates that the respective control is connected to the Demo System URL. This is a great way of debugging your control panel. It summarizes connectivity as well as summarizes the configuration for the control.
  • Server Report - Shows the current connectivity to all System URLs using RasPiConnect / ArduinoConnect Server.
  • Clear Refresh Statistics - Resets all of the refresh statistics shown in "Refresh Statistics" in the Refresh Control group.
  • Load File From Server - will load a configuration file from the Default System URL server. Note that the configuration file must have been put there previously by the "Send File To Server" command previously. This does allow you to share configuration files between different users of the RasPiConnect / ArduinoConnect app. All load files are cryptographically signed to ensure that the files are transmitted correctly between apps. This command does NOT LOAD THE TRANSFERRED FILE INTO RasPiConnect / ArduinoConnect. That needs to be done by the "Load File" command in the Panel Setup tab. NOTE: Loading files from Arduino servers is not supported.
  • Send File to Server - sends a full configuration file to the RasPiConnect Server. This can be retrieved later by the Load File From Server setting or shared with other RasPiConnect / ArduinoConnect server. Note that for a configuration file to work on another RasPiConnect Server, you MUST have the same username/password set in RasPiConnect / ArduinoConnect app and in the RasPiConnect Server. The password and username can be changed and then the configuration file can be downloaded to the Server with the new username/password but ONLY in the RasPiConnect / ArduinoConnect app. These files have a cryptographic signature to insure proper transmission. NOTE: Sending files to Arduino servers is not supported.
  • Export File - shows the selected configuration file in a text view suitable for cutting and pasting into an email.
  • Import File - gives a text view that a configuration file can be placed (for example from an email)


Editing XML Configuration Files

As of 2.67921160, we have added the ability to edit XML Configuration Files. To enable this, turn off XML Configuration File Integrity Check under settings at the bottom of the page in the section Support and Diagnostics.

Note: If you edit your XML Configuration Files by hand, there is no guarantee that they can be read by the app. There is little error checking done and your results may vary. MiloCreek does not provide support for hand editing of XML configuration files at this time, nor do they support issues with your editing.

In the future, MiloCreek may build more error detection into the file reading code. This currently is an experimental feature.

The Controls

The RasPiConnect / ArduinoConnect App has a variety of different controls that can be placed on any of the 5 pages in the Panel Setup tab and then displayed on the 5 pages in the Control Panel tab. Each of these controls (with the exception of the static label obviously) can communicate with the RasPiConnecServer.

The following section talks about each of the controls from the perspective of the RasPiConnect / ArduinoConnect App. Each of these controls are also discussed in the documentation for the RasPiConnect / ArduinoConnect Server from the perspective of the server. Each control has the following (again with the exception of the static label control, which ignores everything but the the Display Name of the Control).

  • Control Type - one of the below control types
  • Display Name of Control - depending on the control, it is used to indicate the control on the Panel Setup tab and used to label the control on the Control Panel Tab.
  • Control Code - this tells the server what information should be sent back or what action to perform on the RasPiConnect / ArduinoConnect Server

Note that all but the Voltmeter and Speedometer controls can be resized on the Panel Setup Tab.

LIVE Control Pack 1

LIVE Control Pack 1


The LIVE control pack have the LIVE response in common. You can refresh them independently of each other and of the page. They can individually be set to query the server for new data periodically. They can make your displays come alive with realtime graphs and data feeds. The Slider Live control allows you to send values to the server dynamically as well as displaying values from the server.

SparkLine LIVE

SparkLine LIVE Control


Description: Displays a stripline "SparkLine" graph using LIVE data or normal refresh

Function: Displays LIVE data coming in from the server on an stripline format

Display Name: None

Customization: Background and line color can be customized. Minimum and Maximum ranges are set by data or by customized values. LIVE can be disabled/enabled and LIVE interval set.

Demo Function: Displays a random stripline graph for each LIVE interval or general refresh.

Dynamic SparkLine LIVE

Dynamic SparkLine LIVE Control


Description: Displays a stripline "SparkLine" graph using LIVE data or normal refresh either on a timer driven basis or event driven.

Function: Displays LIVE data coming in from the server on an stripline format. The chart plotting can be event drive or timer driven.

Display Name: Displays above the Graph (along with the current graph value)

Customization: Event driven or Timer driven can be selected. Background Color and Line Color can be customized. Minimum and Maximum ranges are set by data or by customized data. LIVE can be disabled/enabled and LIVE interval set.

Demo Function: Displays a random stripline graph for each LIVE interval or general refresh.

Simple Gauge LIVE

Simple Gauge LIVE Control


Description: Displays an integer value in the form of an analog gauge

Function: Displays LIVE data coming in from the server on an analog gauge

Display Name: None

Customization: Background Color and Text Color can be customized. Minimum and Maximum ranges can be customized. LIVE can be disabled/enabled and LIVE interval set.

Demo Function: Displays a random value for each LIVE interval or general refresh.

Simple Graph LIVE

Simple Graph LIVE Control


Description: Displays a graph using LIVE data or normal refresh

Function: Displays LIVE data coming in from the server on an simple graph format

Display Name: None

Customization: Graph Top Color, Bottom Graph Color, X Axis Color and Line Color can be customized. Minimum and Maximum ranges are set by data. LIVE can be disabled/enabled and LIVE interval set.

Demo Function: Displays a random graph for each LIVE interval or general refresh.

Bubble Talk LIVE

Bubble Talk LIVE Control


Description: Displays a talk bubble line using LIVE data or normal refresh

Function: Displays LIVE data and text coming in from the server on an bubble talk format

Display Name: None

Customization: LIVE can be disabled/enabled and LIVE interval set.

Demo Function: Displays a line of random data for each LIVE interval or general refresh.

Activity Indicator LIVE

Activity Indicator LIVE Control


Description: Displays a bubble animation reacting to a response front he server

Function: Displays LIVE information regarding the server status. Also makes a heartbeat sound each time the status is refreshed.

Display Name: None

Customization: LIVE can be disabled/enabled and LIVE interval set.

Demo Function: Displays an animation of bubbles and plays a heartbeat sound on each LIVE data or normal refresh.

Slider LIVE

Slider LIVE Control


Description: Sends an Action to the Server

Function: When the value of the slider is changed, the control IMMEDIATELY sends the command to the RasPiConnect / ArduinoConnect Server (Other refresh commands are bundled on a page and server basis and sent as a group to a specific RasPiConnect Server but individually to an ArduinoConnect Server)

Display Name: NONE

Customization: Background Color and Text Color can be customized. Other controls can also be selected to be scheduled to be refreshed when the control is changed. For example, schedule an LED Control to be changed based on changing the slider, or updating a web view or graph depending on the slider The controls can be on the current pages or other pages.

Demo Function: Does nothing in Demo Mode, except changing value on the slider.



Standard Controls

Action Button

Action Button Control


Description: Sends an Action to the Server

Function: Executes a Button push and IMMEDIATELY sends the command to the RasPiConnect / ArduinoConnect Server (Other refresh commands are bundled on a page and server basis and sent as a group to a specific RasPiConnect Server but individually to an ArduinoConnect Server)

Display Name: Used as a label on the button and in the Panel Setup Tab

Customization: Background Color and Text Color can be customized. Other controls can also be selected to be scheduled to be refreshed when the button is pushed. For example, schedule an LED Control to be changed based on pushing the button, or updating a web view or graph depending on a button pushed. The controls can be on the current pages or other pages.

Demo Function: Does nothing in Demo Mode, except animates the Press of the Button

Feedback Action Button

Feedback Action Button Control


Description: Sends an Action to the Server and returns feedback to the App for the Button Label

Function: Executes a Button push and IMMEDIATELY sends the command to the RasPiConnect / ArduinoConnect Server (Other refresh commands are bundled on a page and server basis and sent as a group to a specific RasPiConnect Server). A new label for the button is returned from the server and placed on the button.

Display Name: Used as a label on the button and in the Panel Setup Tab

Customization: Background Color and Text Color can be customized. Other controls can also be selected to be scheduled to be refreshed when the button is pushed. For example, schedule an LED Control to be changed based on pushing the button, or updating a web view or graph depending on a button pushed. The controls can be on the current pages or other pages.

Demo Function: Toggles On to Off to On... and animates the Press of the Button

Alarm Control

Alarm Control


Description: Displays the status of an alarm on the server

Function: Displays the alarm reason, turns red and plays specified sound.

Touch: Touch the alarm control mutes the control. Touching again turns the alarm sound back on.

Display Name: Used as title on alarm

Customization: None

Demo Function: Plays an alarm according to this line: "alarm 1, Reason1-1,YES, 1005, 1, 10" See Controls: Input And Response for description

For selection of sounds that can be played, see http://iphonedevwiki.net/index.php/AudioServices

Single LED

Single LED Control


Description: Displays a colored LED the color of which is sent by the RasPiConnect / ArduinoConnect Server

Function: Displays the latest

Display Name: Used in the Panel Setup Tab

Customization: None

Demo Function: Displays a random color

The supported colors are:

LED_BLACK 0
LED_BLUE 1
LED_GREEN 2
LED_ORANGE 3
LED_PURPLE 4
LED_RED 5
LED_YELLOW 6

Voltmeter Type

Voltmeter Type Control


Description: Displays a value in the form of an analog voltmeter

Function: Displays a real number on the dial in addition to showing the real number in a label under the dial.

Display Name: Used as a label on the dial and in the Panel Setup Tab

Customization: Minimum and Maximum values for the dial

Demo Function: Displays random numbers on each refresh making the needle move


Speedometer Type

Speedometer Type Control


Description: Displays a value on a speedometer type dial

Function: displays a real number on the dial

Display Name: Used as a label on the dial and in the Panel Setup Tab

Customization: Minimum and Maximum values for the dial

Demo Function: Displays random numbers on each refresh making the needle move


Server Status

Server Status Type Control


Description: Displays the status of the selected server

Function: On Refresh, sends a validate message to the Server and waits for a response.

Display Name: Used as a label on the button and the Short Name of the selected System URL is displayed in the black label and in the Panel Setup Tab

Customization: None

Demo Function: Does nothing in Demo Mode, shows an Orange LED to indicate Demo

Bar Meter

Bar Meter LED Control


Description: On Refresh, sends a request to the RasPiServer for information.

Function: Upon Refresh, the RasPiConnect / ArduinoConnect Server returns one item. It is a floating point number that is used to determine the height of the bar.

Display Name: Used as a label in the Panel Setup Tab

Customization: Vertical or Horizontal, Max and Min values

Demo Function: Randomly shows a level on the bar

Frequency Modulated LED

Frequency Modulated Type Control


Description: On Refresh, sends a request to the RasPiServer for information.

Function: Upon Refresh, the RasPiConnect / ArduinoConnect Server returns three items. These are the Number of Seconds between blinks (the Frequency Modulation), the value to be displayed in the black label and thirdly, the name to be used as the top label.

Display Name: Used as a label in the Panel Setup Tab

Customization: None

Demo Function: Randomly varies the blinking of the LED and the displayed value


Label and Text Display

Label and Text Display Type Control


Description: On Refresh, sends a request to the RasPiServer for information.

Function: Upon Refresh, the RasPiConnect / ArduinoConnect Server returns two items. These are the value to be displayed in the black label and secondly, the name to be used as the top label.


Display Name: Used as a label in the Panel Setup Tab

Customization: None

Demo Function: Displays the Display, and randomly displays "Active", "Passive", "Off" or "Deactivated"];


Remote Webview

Remote Webview Type Control


Description: On Refresh, displays the filled in HTML template assigned in the RasPiConnect / ArduinoConnect Server

Function: Sends a request to the server for an updated HTML template.

Display Name: Used as a label in the Panel Setup Tab

Customization: None, but completely customizable on the RasPiConnect / ArduinoConnect Server

Demo Function: Displays a static HTML page

Remote Picture Webview

Remote Webview Picture Type Control


Description: On Refresh, displays a picture from the RasPiConnect / ArduinoConnect server (such as a webcam picture)

Function:Sends a request to the server for an updated picture.

Display Name: Used as a label on the top black text label and used as a label in the Panel Setup Tab

Customization: None

Demo Function: Displays a picture of Raspberries in Demo mode


Send Server Text

Send Text to Server Type Control


Description: Sends text to RasPiConnect / ArduinoConnect Server

Function: Executes a Button push and IMMEDIATELY sends the text to to the RasPiConnect / ArduinoConnect Server

Display Name: Used as a label on the control and used as a label in the Panel Setup Tab

Customization: None

Demo Function: Does nothing in Demo Mode, except animates the Press of the Button

Static Label

Static Label Control


Description: Displays a label with no outline or body on the Control Panel page

Function: Displays a label

Display Name: Used as a label on the button and used as a label in the Panel Setup Tab

Customization: None

Demo Function: Does nothing in Demo Mode

How Does Validate Work?

Control Object Report in Settings
Validate Control in Add and Edit Selection Panel Setup pages

Validation of controls is a key element in knowing whether you have wired up things correctly. Validate can happen in two places in the RasPiConnect / ArduinoConnect App. The first two are in in the "Add" panel setup page and the "Edit Selection" panel setup page. Set up your control with the attributes. Click on the Validate button. The Validate Button sends a control Validation command to the RasPiConnect / ArduinoConnect Server. It will change the LED to Green if the server has support for this Control Code for this type of control and Red if the server responds it doesn't support the command (or if the server is not present).

The second place validation is performed is under the settings tab under "Control Object Reports" This shows all of the control objects on all the pages and validates whether they are present or not on the respective servers (you can have more than one Raspberry Pi connected to RasPiConnect / ArduinoConnect). Green indicates that the server is there and recognizes the control, Red means that the server isn't there or doesn't recognize the control and Orange indicates that the respective control is connected to the Demo System URL. This is a great way of debugging your control panel. It summarizes connectivity as well as summarizes the configuration for the control.

The third place that validation occurs is the Server Report - Shows the current connectivity to all System URLs using RasPiConnect / ArduinoConnect Server. This command performs a "Server Status Check" exactly the same as a Server Status control.


The step by step method that a validation is performed is as follows:


  1. Validation XML message sent to control at server
  2. Username and Password Authentication is performed
  3. Message received in Server in class RasPi in RasPiConnectServer.py (or in ExecuteCommandAndReturnJSONString in the ArduinoConnect Server)
  4. Message sent to appropriate "Execute" class by Interface ID code (for example: ExecuteActionButton.Execute_Action_Button(element) for ACTION_BUTTON_UITYPE)
  5. Execute Class checks for the Control Code (objectServer ID - i.e. FB-1) and checks to see if the validate has been set to YES.
  6. An XML response message is generated and sent back to the App
  7. The App sets the appropriate color of the LED depending on the result.

An example XML response:

<XMLRESPONSES>
  <XMLCOMMAND>
    <OBJECTID>3000</OBJECTID>
    <OBJECTSERVERID>SS-1</OBJECTSERVERID>
    <OBJECTTYPE>256</OBJECTTYPE>
    <OBJECTFLAGS>0</OBJECTFLAGS>
    <RASPICONNECTSERVERVERSIONNUMBER>2.8</RASPICONNECTSERVERVERSIONNUMBER>
    <RESPONSE><![CDATA[VALIDATED]]></RESPONSE>
  </XMLCOMMAND>
</XMLRESPONSES>

or from the ArduinoConnectServer

{"OBJECTTYPE" : "17", "OBJECTID" : "3000", "OBJECTSERVERID" : "FB-1", "PASSWORD" : "yyy", "OBJECTFLAGS" : "0", 
"ARDUINOCONNECTVSERVERVERSIONNUMBER" : "1.6", "RESPONSE" : "VALIDATED" }
Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox