Hardwareentwicklung Ethernet WLAN Linux Embedded Systeme

 

Dienstleistungen
Hardwareentwicklung
Softwareentwicklung
Consulting
Fertigung

Produkte
Embedded Computer
CAN Ethernet Gateways
I/O Module
Software
Preise

Info & Service
Download
Technologie
Events & News

synertronixx
Unternehmen
Kontakt
Impressum
AGBs

 


freescale design alliance member

Atmel AVR consultant

 
DeviLAN App / CONFIGURABLE REMOTE CONTROL
Search & Configure Remote Control Download
 Remote control (getting started)

Use your iPhone, iPad or iPod as a TCP/IP based Remote Control and visualization tool !!

No time to write an own App to control your network device via socket ?
Not familiar with iOS programming ?
No problem!

Just use our DeviLAN App to create your own remote control or send accelerometer, geo, teslameter and compass data to control your device. A 'Device' can be an embedded system, a PC, a laptop or any other network based modul. You only have to be able to write own network based applications for your device.

As example we offer a free sample project for Linux.

Remote control function is available with Version 1.3 of DeviLAN App.
(Get here newest Version 1.8 (available soon) from Apple Appstore.)

... and now getting started ....

Table of contents:

New in version 1.8: Portrait and Landscape mode supported for iPhone & iPad

DeviLAN App remote control DeviLAN App remote control
DeviLAN App remote control
DeviLAN App remote control
DeviLAN App remote control
DeviLAN App remote control
 Prepare commnunication between devices
To prepare communication between your device and some iOS device:

  • Open a TCP/IP listen socket on a free port at your device.
  • Start DeviLAN App an open tab "Socket".
  • Enter your device IP and port number and press 'Connect' button to get a connection.
  • When connection is open send command "modul_typ remote" to DeviLAN App.
  • The App will now add two subviews called
    "Accelerometer", "Geo Data & Magnetics/Compass" and
    "Remote Control"
  • Tab on entry "Remote Control"...
  • .... and you see an empty view?? (that's fine but useless ;-))
  • Additionally DeviLAN App sends a "get_config" command to ask for the configuration of your remote control. It also sends "modul_version DeviLAN App 1.7 Build 8" to give the server the information about app's software version.
  • Now your device has to send the configuration for remote control.
  • .... and that's it! Your device can be remote controlled by your iOS device!
DeviLAN App remote control
 Remote control & visualization elements
At the moment there a the following simple control & visualization elements
(but we will add more in the future versions)
DeviLAN App remote control
 Socket protocol
The communication with DeviLAN App is ASCII command line based where every command start with a keyword (command) followed by a parameter or a parameter list:

'command' 'SP' ['Para1'][;'Para2'].....[;'Para n'] 'CR'

  • Every command line ends with a 'CR' = "Carriage Return".
  • 'SP' = "Space" means exactly ONE space character.
  • Parameters in a list are separated by ;. (semicolon)
  • All commands for remote control starts with rmt_ (abbr. for remote)
  • Some commands have no parameter

... and here are the elements ....

 Slider element
Add a slider element with:

'rmt_slider1_XX_cfg' 'SP' ';'description' ; 'min' ; 'max' ; 'value' , ['format' ; 'scale'] 'CR'

  • 'rmt_slider1_XX_cfg' where XX has to be unique combination of 2 characters
  • 'description' is the text above the slider
  • 'min' is the minimum value of slider
  • 'max' is the maximun value of slider
  • 'value' is the actual value of slider
  • 'format' is a (C / sprintf) format string to format slider value shown(optional)
  • 'scale' is the factor the value is multiplied (optional)
When the slider is moved it sends:

'rmt_slider1_XX_data' 'SP' 'value' 'CR'

where 'value' is a decimal value in range of 'min' to 'max'.
Examples:

rmt_slider1_aa_cfg ;Slider type 1 description:; 0; 100; 25

rmt_slider1_aa_cfg ;Slider type 1 description:; 0; 100; 25; %5.2fHz; 0.1


DeviLAN App remote control

DeviLAN App remote control
 Progress element
Add a progress element with:

'rmt_slider1_XX_cfg' 'SP' ';'description' ; 'min' ; 'max' ; 'value' , ['format' ; 'scale'] 'CR'

  • 'rmt_progress1_XX_cfg' where XX has to be unique combination of 2 characters
  • 'description' is the text above the progress bar
  • 'min' is the minimum value of progress bar
  • 'max' is the maximun value of progress bar
  • 'value' is the actual value of progress bar
  • 'format' is a (C / sprintf) format string to format progress bar value shown (optional)
  • 'scale' is the factor the value is multiplied (optional)

Example:

rmt_progress1_aa_cfg ;Progress type 1 description:; 0; 100; 25; %5.2fHz; 0.1


DeviLAN App remote control
 Switch elements
Add a switch element with 1 switch with:

'rmt_switch1_XX_cfg 'SP' ';'description' ';' 'value' 'CR'

  • 'rmt_switch1_XX_cfg' where XX has to be unique combination of 2 characters
  • 'description' is the text left the switch
  • 'value' is the actual value (0,1) of the switch
When the switch is changed it sends:

'rmt_switch1_XX_data' 'SP' 'value' 'CR'

where 'value' is a decimal value 0 or 1.
Example:

rmt_switch1_aa_cfg ;Switch type 1 description:; 1


DeviLAN App remote control
Add a switch element with 3 switches with:

'rmt_switch3_XX_cfg 'SP' ';'description1' ';' 'value1' ';'description2' ';' 'value2' ';'description3' ';' 'value3' 'CR'

  • 'rmt_switch3_XX_cfg' where XX has to be unique combination of 2 characters
  • 'description x' is the text above the switch
  • 'value x' is the actual value (0,1) of the switch
When the switch is changed it sends:

'rmt_switch3_XX_data_Y' 'SP' 'value' 'CR'

where 'value' is a decimal value 0 or 1 and
where Y is the no. of switch (1, 2, 3).
Example:

rmt_switch3_aa_cfg ;Switch; 1;type 3;0;description;1


DeviLAN App remote control
 Text edit element
Add a text edit element with:

'rmt_edit1_XX_cfg' 'SP' ';'description' ';' 'value' 'CR'

  • 'rmt_edit1_XX_cfg' where XX has to be unique combination of 2 characters
  • 'description' is the text above the text edit field
  • 'value' is the actual value in text edit field
When the set button is pressed it sends:

'rmt_edit1_XX_data'' 'SP' 'value' 'CR'

where 'value' is the value in edit field (limited is 100 characters)
Example:

rmt_edit1_aa_cfg ;Edit field type 1 description:;Enter text here


DeviLAN App remote control
 Header element
Add a header element with:

'rmt_header1_XX_cfg' 'SP' ';'description' ';' 'value' 'CR'


  • 'rmt_header1_XX_cfg' where XX has to be unique combination of 2 characters
  • 'description' is the text in the header
This element can be used to group several units of your remote control.
Example:

rmt_header1_aa_cfg ;All GUI Elements: Header type 1


DeviLAN App remote control
 Button elements
Add a button element with 3 buttons with:

'rmt_button3_XX_cfg' 'SP' ';'label1' ; 'label2' ; 'label3' 'CR'

  • 'rmt_button3_XX_cfg' where XX has to be unique combination of 2 characters
  • 'label1' is the label text of the left button
  • 'label2' is the label text of the middle button
  • 'label3' is the label text of the right button
  • When a label is a empty string the button will be hidden.
When the button is touched it sends:

'rmt_button3_XX_data_Y' 'SP' '1' 'CR'

When the button is released it sends:

'rmt_button3_XX_data_Y' 'SP' '0' 'CR'

where Y is the no. of button (1, 2, 3).
Example:

rmt_button3_aa_cfg ;Left Button;Type 3;Right Button


DeviLAN App remote control
Add a button element with 2 buttons with:

'rmt_button2_XX_cfg' 'SP' ';'label1' ; 'label2' 'CR'

  • 'rmt_button2_XX_cfg' where XX has to be unique combination of 2 characters
  • 'label1' is the label text of the left button
  • 'label2' is the label text of the right button
  • When a label is a empty string the button will be hidden.
When the button is touched it sends:

'rmt_button1_XX_data_Y' 'SP' '1' 'CR'

When the button is released it sends:

'rmt_button1_XX_data_Y' 'SP' '0' 'CR'

where 'Y' is the no. of button (1, 2).
Example:

rmt_button2_aa_cfg ;Left Button type 2;Right Button type 2


DeviLAN App remote control
Add a button element with 1 button with:

'rmt_button1_XX_cfg' 'SP' ';'label' 'CR'

  • 'rmt_button1_XX_cfg' where XX has to be unique combination of 2 characters
  • 'label1' is the label text of the button
  • When a label is a empty string the button will be hidden.
When the button is touched it sends:

'rmt_button1_XX_data' 'SP' '1' 'CR'

When the button is released it sends:

'rmt_button1_XX_data_Y' 'SP' '0' 'CR'


Example:

rmt_button1_aa_cfg ;Middle button type 1


DeviLAN App remote control
 Webbrowser element
Add a webbrowser element with:

'rmt_web1_XX_cfg' 'SP' ';'url' ';' 'height' 'CR'

  • 'rmt_web1_XX_cfg' where XX has to be unique combination of 2 characters
  • 'url' is the URL for the webpage to load
  • 'height' is height (in pixel) of webbrowser element
    This value is limeted to 500.

Example:

rmt_web1_aa_cfg ;http://www.synertronixx.de; 100


DeviLAN App remote control
 (Scroll) text element
Add a (Scroll) text element with:

'rmt_text1_XX_cfg' 'SP' ';'text' ; 'speed' 'CR'

  • 'rmt_text1_XX_cfg' where XX has to be unique combination of 2 characters
  • 'text' is the text that is shown
  • 'speed' is the scroll speed (0 = 'no scrolling' .... 5 = 'max. speed')
When the text was shown one time the text element sends:

'rmt_text1_XX_data' 'SP' '1' 'CR'

This message can be used to send an update for the text:

Examples:

rmt_text1_aa_cfg ;Static text (speed 0); 0;

rmt_text1_aa_cfg ;Company A USD 100.00 (+1), Company B USD 1821.00 (+3), Company B USD 300.00 (+1);2


DeviLAN App remote control

DeviLAN App remote control
 Audio element
Add an audio element with:

'rmt_audio1_XX_cfg' 'SP' ';'title' ; 'url' ; 'mode' 'CR'

  • 'rmt_audio1_XX_cfg' where XX has to be unique combination of 2 characters
  • 'title' is the text above the slider
  • 'URL' is the URL for the audio file
  • 'mode' is the play mode
    0 = file will not be loaded automatically, press button "Load" get it
    1 = load the file automatically
    2 = load the file automatically and play it after loading
While loading the text on the right side will show the loaded file size in kB.
After loading the text shows the play time and the total time.
When the file played to the end or the "Stop" button will be pressed it sends:

'rmt_audio1_XX_data' 'SP' '1' 'CR'

This can be used to update the file.

Examples:

rmt_audio1_aa_cfg ;Title: Audio_01.mp3;http://192.168.1.3/audio_01.mp3; 1

rmt_audio1_bb_cfg ;Title: Audio_02.mp3;http://www.synertronixx.de/MP3/audio_02.mp3; 2


DeviLAN App remote control

DeviLAN App remote control
 Graph element
Add a graph element with:

'rmt_graph1_XX_cfg' 'SP' ';'title' ;'graphCnt' ;'graphHeight' ; 'legendWidth' ; 'legendFormat' ;'minY' ;'maxY'; 'gridlinesY' 'CR'

  • 'rmt_graph1_XX_cfg' where XX has to be unique combination of 2 characters
  • 'title' is the text above the graph
  • 'graphCnt' is the no. of graphs to draw (max. is 8)
    The graph uses the predefined colors red, green, blue, yellow, pink, turquoise, black and white for graph no. 1 to 8.
  • 'graphHeight' is the height (in pixel) of the graph. (The height can not be changed with the update command.)
  • 'legendWidth' is the width of the legend (values at y-axis) (in pixel)
  • 'legendFormat' is a (C / sprintf) format string to format the values in y-axis
  • 'minY' is the max. value (y-axis) shown in graph
  • 'maxY' is the max. value (y-axis) shown in graph
  • 'gridlinesY' is the no. of horizontal gridlines shown in the graph
To stream data to the graph send:

'rmt_graph1_XX_data' 'SP' ;'value 1' ;'value 2' ..... ;'value graphCnt' 'CR'

where 'value x' are floats. Every time the element receives values the graph will scroll one pixel.
Examples:

rmt_graph1_a1_cfg ;Red=sin(x), Green=cos(x), Blue=tan(x), Yellow=4*sin(x)*cos(x/10):;5;112; 40; %.1f; -3.5; 3.5; 7

rmt_graph1_a2_cfg ;Description text for graph cell 1:;4;170; 50; %.1f; -55.0; 95.0; 5

rmt_graph1_a2_data ;0.2 ;1.2 ;2.67 ;-3.456

DeviLAN App remote control

DeviLAN App remote control
 Draw element (new in version 1.6)
Add an empty draw element with:

'rmt_draw1_XX_cfg' 'SP' ';'title' ;'drawHeight' 'CR'

  • 'rmt_draw1_XX_cfg' where XX has to be unique combination of 2 characters
  • 'title' is the text above the draw element
  • 'drawHeight' is the height (in pixel) of the draw element. (The height can not be changed with the update command.)
  • the upper left edge is x=0 and y=0
  • the under right edge is x='screenwidth' and y=drawHeight
To draw content in this element send commands in form of:

'rmt_draw1_XX_data' 'SP' ;'command' ;['Para 1'] ..... ;['Para n'] 'CR'

  • where 'command' is a key character to draw a specific object and
  • 'Para1' to 'Para n' are the specific parameters for the object to draw
The following commands are implemented to draw objects:
  • a 'r' for a rect object
  • a 'a' for a arc/circle object
  • a 'e' for a ellipse object
  • a 'l' for a line object
  • a 't' for a text object
The following commands are implemented to change the drawing parameter:
  • a 'c' to change the drawing color
  • a 'n' for not updating draw element directly
  • a 'u' to updating draw element directly
  • a 'd' to delete the draw element (remove all objects)

Even when this objects are very simple you will be able to create complex graphics like bar graph, pie charts and many more.
DeviLAN App remote control

DeviLAN App remote control
 Draw element: draw rect object
Add a rect object with:

'rmt_draw1_XX_data' 'SP' ';'r' ;'x' ;'y' ; 'w' ; 'h' ;'mode' 'CR'

  • 'x' and 'y' is the upper left edge of the rect
  • 'w' is width of the rect
  • 'h' is height of the rect
  • 'mode' is draw mode (0 = outline, 1 = filled)

Examples:

rmt_draw1_a1_data ;r;30;30;30;30;0

rmt_draw1_a1_data ;r;70;20;40;40;1

rmt_draw1_a1_data ;r;30;80;60;10;1


DeviLAN App remote control
 Draw element: draw arc/cirle object
Add a arc/cirle object with:

'rmt_draw1_XX_data' 'SP' ';'a' ;'x' ;'y' ; 'r' ; 'startAngle' ;'endAngle' ;'clockwise' ;'mode' 'CR'

  • 'x' and 'y' is the center of arc/cirle
  • 'r' is the radius
  • 'startAngle' is start angle for drawing
  • 'stopAngle' is end angle for drawing
  • 'clockwise' is the drawing orientation (1 = closewise, 0 = counterclockwise)
  • 'mode' is draw mode
    0 = outline only
    1 = full filled (piece of pie)
    2 = outline with a line between start point and center and end point and center (unfilled piece of pie)
    3 = outline with a line between start point and end point

Examples (yellow circles):

rmt_draw1_a1_data ;a;240;20;15;0.0;6.3;0;0
rmt_draw1_a1_data ;a;290;30;25;0.0;6.3;0;1


Examples (pink arcs):

rmt_draw1_a1_data ;a;200;60;20;0.0;2;1;0
rmt_draw1_a1_data ;a;200;105;20;0.0;2;1;1
rmt_draw1_a1_data ;a;200;160;20;0.0;2;1;2
rmt_draw1_a1_data ;a;200;205;20;0.0;2;1;3


DeviLAN App remote control
 Draw element: draw ellipse object
Add a ellipse object with:

'rmt_draw1_XX_data' 'SP' ';'e' ;'x' ;'y' ; 'w' ; 'h' ;'mode' 'CR'

  • 'x' and 'y' is the upper left edge of the ellipse
  • 'w' is width of the rect to draw the ellipse in
  • 'h' is height of the rect to draw the ellipse in
  • 'mode' is draw mode (0 = outline, 1 = filled)

Examples (red ellipses):

rmt_draw1_a1_data ;e;20;120;50;20;0

rmt_draw1_a1_data ;e;20;150;80;50;1


DeviLAN App remote control
 Draw element: draw line object
Add a line object with:

'rmt_draw1_XX_data' 'SP' ';'r' ;'x1' ;'y1' ; 'x2' ; 'y2' 'CR'

  • 'x1' and 'y1' is start point of the line
  • 'x2' and 'y2' is end point of the line

Examples (black lines):

rmt_draw1_a1_data ;l;100;110;150;150

rmt_draw1_a1_data ;l;150;110;100;150


DeviLAN App remote control
 Draw element: draw text object
Add a text object with:

'rmt_draw1_XX_data' 'SP' ';'t' ;'x' ;'y' ;'size' ;'align' ;'text' 'CR'

  • 'x' and 'y' is position of the text
  • 'size' is size of the text
  • 'align' is the alignment of text
    l means align left
    r means align right and
    c means align center
  • 'text' is the text itself
Examples (blue texts):

rmt_draw1_a1_data ;t;120;230;15;l;Hello world left!
rmt_draw1_a1_data ;t;120;250;15;c;Hello world center!
rmt_draw1_a1_data ;t;120;270;15;r;Hello world right!


DeviLAN App remote control
 Draw element: change draw color
To change the draw color send command:

'rmt_draw1_XX_data' 'SP' ';'c' ;'red' ;'green' ;'blue' ;'translucence' 'CR'

  • 'red' is red color value (0.0 to 1.0)
  • 'green' is green color value (0.0 to 1.0)
  • 'blue' is blue color value (0.0 to 1.0)
  • 'translucence' is the translucence of the color (0.0 to 1.0)

All objects in a draw element are drawn with the actual color set. To draw an object with a specific color the draw color has to be set first!

Examples (colors: red, green, blue):

rmt_draw1_a1_data ;c;1;0;0;1
rmt_draw1_a1_data ;c;0;1;0;0.8
rmt_draw1_a1_data ;c;0;0;1;0.6


DeviLAN App remote control
 Draw element: drawing behavior
All objects in a draw element are stored in a list because of redrawing reasons. When draw element receives a command to add an object it puts it into the list first. Drawing itself is controlled by the update mode.
So there are the follwing commands to change the drawing behavior:

To change drawing mode to 'n'o update directly send command:

'rmt_draw1_XX_data' 'SP' ';'n' 'CR'

In this case all object received will only added to the list without drawing.

To change drawing mode to 'u'pdate directly send command:

'rmt_draw1_XX_data' 'SP' ';'u' 'CR'

In this case all object received will added to the list and all objects are drawn again.


The when you don't want that the objects are drawn piece by piece when the draw element receives it
  • first send 'n' command to avoid drawing directly
  • then send all elements for the graphic
  • and after that send 'u' command to draw all objects

To 'd'elete the list send command:

'rmt_draw1_XX_data' 'SP' ';'d' 'CR'

Alle elements will be removed from list and the draw area is filled with the draw color.

Examples (delete, no update, update):

rmt_draw1_XX_data ;d
rmt_draw1_XX_data ;n
rmt_draw1_XX_data ;u


DeviLAN App remote control
 Map element (new in version 1.7)
Add a map element with:

'rmt_map1_XX_cfg' 'SP' ';'title' ;'mapHeight' ; 'latitude' ; 'longitude' ;'size' ;'type'; 'sendRegion' 'CR'

  • 'rmt_map1_XX_cfg' where XX has to be unique combination of 2 characters
  • 'title' is the text above the map
  • 'mapHeight' is the height (in pixel) of the graph. (The height can not be changed with the update command.)
  • 'latitude' is the geo position latitude angle (float)
  • 'longitude' is the geo position longitude angle (float)
  • 'size' is the map height in m shown in the map. (The size can not be changed with the update command.
  • 'type' is the type of map. (0=normal, 1=satellite, 2=hybrid)
  • 'sendRegion' marker to set for sending cyclic the region shown in the map.
    (0=no feedback, 1=send feedback)
To stream data (in form of pins to show) to map send:

'rmt_map1_XX_data' 'SP' ;'lat' ;'long' ;'title' ;'subtitle' ;'URL' 'CR'

  • 'lat' is the geo position latitude angle (float)
  • 'long' is the geo position longitude angle (float)
  • 'title' is title shown when a pin is touched
  • 'subtitle' is the subtitle shown when a pin is touched and
  • 'URL' is the the URL. When a pin is touched a small view with title and subtitle will be shown. Touch the blue button to go to a new view including with title, subtitle and URL in a webbrowser.
When sendRegion is set to '1' the element sends region data when position or zoom changes in the following format:

'rmt_map1_XX_data 'SP' 'lat' 'SP' 'long' 'SP' 'dh' 'SP' 'dw' 'CR'


where
  • 'lat' is the geo position latitude angle (center of map, float)
  • 'long' is the geo position longitude angle (center of map, float)
  • 'dh' is the height (in m) of the region shown in map (float)
  • 'dw' is the width (in m) of the region shown in map (float)

Example: map with 3 pins (upper map):

rmt_map1_aa_cfg ;Map description:; 200; 52.3768; 9.7283;1000;1000; 0;1

rmt_map1_aa_data ;52.3768; 9.7283;Homepage synertronixx;This is our homepage!;http://www.synertronixx.de

rmt_map1_aa_data ;52.3768; 9.7285;Logo synertronixx;This in a our logo!;http://www.synertronixx.de/images/synertronixx_sphere.jpg

rmt_map1_aa_data ;52.3768; 9.7287;SCB9324;This is a our socket computer SCB9324;http://www.synertronixx.de/images/scb9324_small_1.jpg"



DeviLAN App remote control

DeviLAN App remote control
 Radio/Segment button element
Add a radio/segment button element with:

'rmt_radio1_XX_cfg' 'SP' ';'description' ; 'selIndex' ; 'value1' ; 'value2' [...] [; 'value n'] 'CR'

  • 'rmt_radio1_XX_cfg' where XX has to be unique combination of 2 characters
  • 'description' is the text above the radio/segment button
  • 'selIndex' is the selected index
  • 'value1' is the first title of radio/segment button
  • 'value2' is the second title of radio/segment button
  • (optional more titles) ...........
  • 'value n' (optional) is the last title of radio/segment button. The no. of segments is not limited. The minimum is 2.
When a segment is selected it sends:

'rmt_radio1_XX_data' 'SP' 'index' 'CR'

where 'index' is the index of the selected segment (left segment = 0, ..., right segment = n-1).

Examples:

rmt_radio1_a1_cfg ;Description for segment/radio button element:; 0;Value 1;Value 2;Value 3

rmt_radio1_a2_cfg ;Description for segment/radio button element with a lot of values:; 0;Value 1;Value 2;Value 3;Value 4;Value 5;Value 6;Value 7;Value 8;Value 9


DeviLAN App remote control
 Picker element
Add a picker element with:

'rmt_pick1_XX_cfg' 'SP' ';'description' ; 'selIndex' ; 'value1' ; 'value2' [...] [; 'value n'] 'CR'

  • 'rmt_pick11_XX_cfg' where XX has to be unique combination of 2 characters
  • 'description' is the text above the radio/segment button
  • 'selIndex' is the selected index
  • 'value1' is the first value in picker list
  • 'value2' is the second value in picker list
  • ...........
  • 'value n' is the last value in picker list. The no. of values is not limited. The minimum is 2.
To show the picker itself press button "+/-". When a value gets selected it sends:

'rmt_pick1_XX_data' 'SP' 'index' 'CR'

where 'index' is the index of the selected value (first value = 0, ..., last value = n-1).
Press button "Done" to hide the picker again.

Examples (1. picker hidden, 2. picker shown):

rmt_pick1_a1_cfg ;Description:;1;Value 1;Value 2;Value 3;Value 4;Value 5;Value 6

rmt_pick1_a2_cfg ;Animals:;2;Cat;Dog;Mouse;Snake;Bird;Spider


DeviLAN App remote control

DeviLAN App remote control
 Special command & more infos
There are some special commands:

To remove all elements send:

'rmt_clear 'SP' 'CR'

Removing elements can be helpfull to send a new remote view. You don't have to add all elements you need in remote controller view.
e.g.: Send remote control with a lot of buttons. When a special button is pressed your device can send the remove command and thereafter a new RC configuration.

When connection was established to device or the orientation changes RC sends:

'rmt_hardware' 'SP' 'platform' 'width' 'height' 'CR'

where
  • 'platform' is the hardware platform and generation of device (iPhone, iPad, etc.)
  • 'width' is the width (in pixel) of the RC screen
  • 'height' is the height (in pixel) of the RC screen
This commands let the RC server know on which device the app is running and how large the screen is. It can be used to create different GUI for iPhone and iPad and orientations (Portrait or Landscape).

Some more things to know:
  • When you send a command to remote controller that is kown (was used before) again the element will be updated not added. So you can change the text, range or state at any time (e.g. to give the user a feedback).

  • You can add new elements at any time.

  • The elements are shown in the order your device sends the configuration commands.

  • The max. no. of elements is 100. When you need more use the clear command and send new remote view(s).

  • When you what to send all values of all elements press button 'Send all'.

  • To remove all elements from remote control view press button 'Clear'

  • To reload all all elements press button "Reload". DeviLAN App will send get_config to your devices that now knows it has to send configuration again.

DeviLAN App remote control
 Demo mode
We added a special demo mode to demonstrate how a remote control could work.
There are two ways to start it.


First:
  • At the Start tab press button 'Start RC demo'.
  • App will to go tab 'socket' and performs the start of the demo.




Second:
  • Go to Socket tab
  • Enter command 'modul_typ remote' in edit field
  • Press send button
  • Now the three subviews called
    "Accelerometer",
    Geo Data & Magnetis/Compass and
    "Remote Control" will be added.
  • Select "Remote Control"
  • You see an emtpy remote control, press button "Start Demo" to start the demo mode.
  • Now several elements will be added and updated automatically.
  • Press button ("Stop demo") again to stop demo.
DeviLAN App remote control

DeviLAN App remote control

 Some examples
Example 1:
To get the this remote control view just send the following commands:
('CR' is not shown here)

rmt_header1_aa_cfg ;All GUI Elements: Header type 1
rmt_slider1_aa_cfg ;Slider type 1 description:; 0; 100; 25
rmt_switch1_aa_cfg ;Switch type 1 description:; 1
rmt_button2_aa_cfg ;Left Button type 2;Right Button type 2
rmt_button3_aa_cfg ;Left Button;Type 3;Right Button
rmt_edit1_aa_cfg ;Edit field type 1 description:;Enter text here
rmt_header1_bb_cfg ;
rmt_header1_cc_cfg ;

DeviLAN App remote control

Example 2:
To get the this remote control view just send the following commands:
('CR' is not shown here)

rmt_header1_05_cfg ;Mixed examples 190
rmt_slider1_AA_cfg ;Temperature bathroom 26°C; 5; 35; 30
rmt_slider1_BB_cfg ;Temperature living room; 5; 35; 27
rmt_switch1_10_cfg ;Light intern Off; 0
rmt_switch1_11_cfg ;Light extern; 0
rmt_button3_10_cfg ;Start;Stop 190;Pause
rmt_button3_11_cfg ;TV on;TV off;
rmt_edit1_11_cfg ;Enter text here:;Text to send 1


To update the elements you could send:

rmt_header1_05_cfg ;Mixed examples 155
rmt_slider1_AA_cfg ;Temperature bathroom 26°C; 5; 35; 25
rmt_slider1_BB_cfg ;Temperature living room; 5; 35; 27
rmt_switch1_10_cfg ;Light intern On; 1
rmt_switch1_11_cfg ;Light extern; 0
rmt_button3_10_cfg ;Start;Stop 155;Pause
rmt_button3_11_cfg ;TV on;TV off;
rmt_edit1_11_cfg ;Enter text here:;Text to send 1

DeviLAN App remote control

DeviLAN App remote control

Example 3:
To get the this remote control view just send the following commands:
('CR' is not shown here)

rmt_header1_03_cfg ;Button examples
rmt_button3_a1_cfg ;Left;Middle;Right
rmt_button3_b1_cfg ;Left;;
rmt_button3_c1_cfg ;;Middle;
rmt_button3_d1_cfg ;;;Right
rmt_button3_e1_cfg ;Left;;Right
rmt_button2_f1_cfg ;Left Button;Right Button

DeviLAN App remote control
 Testing commands

To test a command you can also directly edit it. Go to the "socket" tab and add '@' before the command and press "Send" button. Commands that starts with '@' are not transmitted to your device!! The '@' will be removed and the command will be processed like a command that has been received via socket.

E.g.: to test the clear command just edit:

@rmt_clear

and press "Send" button.

This mechanism works with all commands that command interpreter of DeviLAN App knows.
DeviLAN App remote control
 PC tool DeviLAN Control

He added a remote control server to our PC tool called DeviLAN Control. This can be used as a RC server, so you can see how DeviLAN App remote control function could be used for your application.
Just do the following:

  • Install DeviLAN Control at your PC which you find here:
    DeviLANControl_112_Installer.exe
  • Start the program and select tab "Socket-PC"
    (don't worry about some parts of GUI are in german, you don't need them ;-))
  • The program automatically will open a "listening socket" at port 3333 at default.
  • Press button"Show" right fom text 'DeviLAN App RC Tester' at the bottom of tab.
  • Now a new tab occurs called "RC Test".

  • Start "DeviLAN App" and go to tab "Socket"
  • Enter your PC-IP e.g. "192.168.1.3" and port no. "3333" and press button "Connect" to establish a connection with PC tool
  • Now select entry Remote Control

  • Go back to PC tool and choose the RC control scene you want to see and follow the commands "Received & tranmitted commands".

We also offer free sample code for Linux that allows you to see how a RC server could work. It does the same as RC server part of PC tool DeviLAN Control.
You can download it here DeviLAN_App_RC_Server.zip .
DeviLAN App remote control

DeviLAN App remote control
 Accelerometer

To stream data from 3 axis accelerometer from your iOS device to your device just select the frequency for sending. You can get raw data directly from accelerometer or filter them before sending. Use the filter settings that are usefull for your application.

The data format for raw data sending is:

'rmt_accr_data 'SP' 'X' 'SP' 'Y' 'SP' 'Z' 'CR'

and

'rmt_accf_data 'SP' 'X' 'SP' 'Y' 'SP' 'Z' 'CR'


for filtered where
  • 'X' is raw / filtered value of accelerometer x
    (format: float, two digits after dot, '%5.2f')
  • 'Y' is raw / filtered value of accelerometer y
    (format: float, two digits after dot, '%5.2f') and
  • 'Z' is raw / filtered value of accelerometer z
    (format: float, two digits after dot, '%5.2f')
DeviLAN App remote control
 Geo Data, Teslameter & Compass

To stream data from positioning system, Teslameter and Compass from your iOS device to your device just select the frequency for sending.
The data is transmitted in the following format:

'rmt_geodata
'SP' 'latitude' 'SP' 'longitude' 'SP' 'altitude'
'SP' 'horAcc' 'SP' 'verAcc' 'SP' 'speed'
'SP' tx' 'SP' 'ty' 'SP' 'tz' 'SP' 'compass' 'CR'

where:
  • 'latitude' is the geo position latitude angle in deg.
    (format: float, five digits after dot, '%.5f')
  • 'longitude' is the geo position longitude angle in deg.
    (format: float, five digits after dot, '%.5f') and
  • 'altitude' is the geo position altitude in m
    (format: float, two digits after dot, '%.2f')
  • 'horAcc' is the horizontal accuracy in m
    (format: float, zero digits after dot, '%.0f')
  • 'verAcc' is the vertical accuracy in m
    (format: float, zero digits after dot, '%.0f')
  • 'speed' is the speed in m/s
    (-1=speed not available, format: float, one digits after dot, '%.1f')
  • 'tx' is the x components of magnetic strength in µT
    (format: float, one digits after dot, '%.1f')
  • 'ty' is the y components of magnetic strength in µT
    (format: float, one digits after dot, '%.1f')
  • 'tz' is the z components of magnetic strength in µT
    (format: float, one digits after dot, '%.1f')
  • 'compass' is the compass angle in deg.
    (format: float, one digits after dot, '%.1f')
DeviLAN App remote control
So that's It!!

We hope that this tool will be useful for your development. To give us a feedback please send an email to devilanapp(AT)synertronixx.de.

Here you can download DeviLAN App from Apple Appstore.

your synertronixx team



 
© 2012 synertronixx GmbH Hardware Entwicklung | Embedded Linux | Schaltungsentwicklung | www.synertronixx.de