Rest api

From RobotinoWiki
Revision as of 16:08, 14 March 2019 by Verbeek (talk | contribs) (/data/scan0)

Installation

Robotino rest icon 64.png REST-API is already running at http://RobotinoIP.

Package links

The restapid is part of robotino-daemons package.

GET

/cam0

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

Matlab example

img=webread('http://192.168.0.1/cam0')
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/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 ranefinder.

{
  "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
}