Difference between revisions of "Rest api"

From RobotinoWiki
(/data/digitalinputarray)
m (Removed brackets to correctly identify json array)
Line 48: Line 48:
 
Data of all analog inputs.
 
Data of all analog inputs.
 
<pre>
 
<pre>
{
 
 
   [val0,val1,val2,...,val7]
 
   [val0,val1,val2,...,val7]
}
 
 
</pre>
 
</pre>
  
Line 56: Line 54:
 
Data of all digital inputs.
 
Data of all digital inputs.
 
<pre>
 
<pre>
{
 
 
   [val0,val1,val2,...,val7]
 
   [val0,val1,val2,...,val7]
}
 
 
</pre>
 
</pre>
 
values being true or false
 
values being true or false
Line 65: Line 61:
 
Status of all digital outputs.
 
Status of all digital outputs.
 
<pre>
 
<pre>
{
 
 
   [val0,val1,val2,...,val7]
 
   [val0,val1,val2,...,val7]
}
 
 
</pre>
 
</pre>
 
values being true or false
 
values being true or false
Line 74: Line 68:
 
Status of all relays.
 
Status of all relays.
 
<pre>
 
<pre>
{
 
 
   [val0,val1]
 
   [val0,val1]
}
 
 
</pre>
 
</pre>
 
values being true or false
 
values being true or false
Line 83: Line 75:
 
Status of Robotinos bumper
 
Status of Robotinos bumper
 
<pre>
 
<pre>
{
 
 
   "value" : value
 
   "value" : value
}
 
 
</pre>
 
</pre>
 
value being true or false.
 
value being true or false.
Line 92: Line 82:
 
Readings from Robotinos distance sensors
 
Readings from Robotinos distance sensors
 
<pre>
 
<pre>
{
 
 
   [val1,val2,...,val9]
 
   [val1,val2,...,val9]
}
 
 
</pre>
 
</pre>
  
 
===/data/scan0===
 
===/data/scan0===
Data of the first Laser ranefinder.
+
Data of the first Laser rangefinder.
 
<pre>
 
<pre>
 
{
 
{
Line 118: Line 106:
 
Robotino's odometry.
 
Robotino's odometry.
 
<pre>
 
<pre>
{
 
 
   [x,y,rot,vx,vy,omega,seq]
 
   [x,y,rot,vx,vy,omega,seq]
}
 
  
 
x : x position in m
 
x : x position in m
Line 136: Line 122:
 
Set forwward and rotational velocity. You have to send data periodically at least every 200ms. If no data is received for more than 200ms Robotino will stop.
 
Set forwward and rotational velocity. You have to send data periodically at least every 200ms. If no data is received for more than 200ms Robotino will stop.
 
<pre>
 
<pre>
{
 
 
   [vx,vy,omega]
 
   [vx,vy,omega]
}
 
  
 
vx : x-vel in m/s"
 
vx : x-vel in m/s"
Line 149: Line 133:
 
===/data/digitaloutputarray===
 
===/data/digitaloutputarray===
 
<pre>
 
<pre>
{
 
 
   [val0,val1,....val7]
 
   [val0,val1,....val7]
}
 
 
</pre>
 
</pre>
 
value being true or false
 
value being true or false
Line 157: Line 139:
 
===/data/relayarray===
 
===/data/relayarray===
 
<pre>
 
<pre>
{
 
 
   [val0,val1]
 
   [val0,val1]
}
 
 
</pre>
 
</pre>
 
val0,val1 being false or true
 
val0,val1 being false or true
Line 166: Line 146:
 
Upload Robotino View program to /home/robotino/programs.
 
Upload Robotino View program to /home/robotino/programs.
 
<pre>
 
<pre>
{
 
 
   "name" : "filename with extension",
 
   "name" : "filename with extension",
 
   "size" : size of raw (unencoded) binary data,
 
   "size" : size of raw (unencoded) binary data,
 
   "data" : file data base64 encoded
 
   "data" : file data base64 encoded
}
 
 
</pre>
 
</pre>
  
 
'''Response'''
 
'''Response'''
 
<pre>
 
<pre>
{
 
 
   "message" : "message what happend on the server",
 
   "message" : "message what happend on the server",
 
   "success" : boolean showing if operation was successfull
 
   "success" : boolean showing if operation was successfull
}
 
 
</pre>
 
</pre>

Revision as of 21:49, 26 October 2019

Introduction

Robotino rest icon 64.png With the latest robotino-daemons package Robotino's web-interface is based on a Restful server listening at port 80 on Robotino. The server not only makes data available to Robotino's web interface but can also be used to access Robotino's sensors and actors.

GET

/cam0

Get camera image from cam0. The response is image/jpeg.

Matlab example

img=webread('http://192.168.0.1/cam0')
imshow(img)

/sensorimage

Get image showing distance sensors and bumper. The response is image/png.

Matlab example

img=webread('http://192.168.0.1/sensorimage')
imshow(img)

/data/festoolcharger

Get data from Festool Li-Ion batteries.

/data/powermanagement

Get information about voltage and system current.

/data/charger0

Data for build in charger 0

/data/charger1

Data for build in charger 1

/data/controllerinfo

HW and SW version.

/data/services

Data of Robotino specific services.

/data/servicestatus/xxx

Status of service xxx.

/data/analoginputarray

Data of all analog inputs.

  [val0,val1,val2,...,val7]

/data/digitalinputarray

Data of all digital inputs.

  [val0,val1,val2,...,val7]

values being true or false

/data/digitaloutputstatus

Status of all digital outputs.

  [val0,val1,val2,...,val7]

values being true or false

/data/relaystatus

Status of all relays.

  [val0,val1]

values being true or false

/data/bumper

Status of Robotinos bumper

  "value" : value

value being true or false.

/data/distancesensorarray

Readings from Robotinos distance sensors

  [val1,val2,...,val9]

/data/scan0

Data of the first Laser rangefinder.

{
  "seq" : sequence number,
  "stamp" : time stamp,
  "angle_min" : minimum angle,
  "angle_max" : maximum angle,
  "angle_increment" : angle increment,
  "time_increment" : time increment,
  "scan_time" :  scan time,
  "range_min" : minimum range,
  "range_max" : maximum range,
  "ranges" : [],
  "intensities" : []
}

/data/odometry

Robotino's odometry.

  [x,y,rot,vx,vy,omega,seq]

x : x position in m
y : y position in m
rot : rotation in rad
vx : x vel in m/s
vy : y vel in m/s
omega : rot vel in rad/s
seq : sequence number

PUT or POST

/data/omnidrive

Set forwward and rotational velocity. You have to send data periodically at least every 200ms. If no data is received for more than 200ms Robotino will stop.

  [vx,vy,omega]

vx : x-vel in m/s"
vy : "y-vel in m/s"
omega : rot-vel in rad/s

Matlab example

webwrite('http://192.168.1.192/data/omnidrive',[vx vy omega])

/data/digitaloutputarray

  [val0,val1,....val7]

value being true or false

/data/relayarray

  [val0,val1]

val0,val1 being false or true

/data/uploadProgram

Upload Robotino View program to /home/robotino/programs.

  "name" : "filename with extension",
  "size" : size of raw (unencoded) binary data,
  "data" : file data base64 encoded

Response

  "message" : "message what happend on the server",
  "success" : boolean showing if operation was successfull