Difference between revisions of "Rest api"
(→PUT) |
(→Installation) |
||
(13 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | == | + | ==Introduction== |
− | {| | + | {|class="wikitable" cellpadding="20" vertical-align="top" |
− | + | |- | |
|[[Image:Robotino_rest_icon_64.png]] | |[[Image: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. |
− | |||
− | |||
− | The | ||
|} | |} | ||
Line 13: | Line 10: | ||
===/cam0=== | ===/cam0=== | ||
Get camera image from cam0. The response is image/jpeg. | Get camera image from cam0. The response is image/jpeg. | ||
+ | ====Matlab example==== | ||
+ | <pre> | ||
+ | img=webread('http://192.168.0.1/cam0') | ||
+ | imshow(img) | ||
+ | </pre> | ||
===/data/festoolcharger=== | ===/data/festoolcharger=== | ||
Line 49: | Line 51: | ||
[val0,val1,val2,...,val7] | [val0,val1,val2,...,val7] | ||
} | } | ||
+ | </pre> | ||
+ | values being true or false | ||
+ | |||
+ | ===/data/bumper=== | ||
+ | Status of Robotinos bumper | ||
+ | <pre> | ||
+ | { | ||
+ | "value" : value | ||
+ | } | ||
+ | </pre> | ||
+ | value being true or false. | ||
+ | |||
+ | ===/data/distancesensorarray=== | ||
+ | Readings from Robotinos distance sensors | ||
+ | <pre> | ||
+ | { | ||
+ | [val1,val2,...,val9] | ||
+ | } | ||
+ | </pre> | ||
+ | |||
+ | ===/data/scan0=== | ||
+ | Data of the first Laser ranefinder. | ||
+ | <pre> | ||
+ | { | ||
+ | "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" : [] | ||
+ | } | ||
+ | </pre> | ||
+ | |||
+ | ===/data/odometry=== | ||
+ | Robotino's odometry. | ||
+ | <pre> | ||
+ | { | ||
+ | [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 | ||
</pre> | </pre> | ||
− | ==PUT== | + | ==PUT or POST== |
===/data/omnidrive=== | ===/data/omnidrive=== | ||
Line 57: | Line 111: | ||
<pre> | <pre> | ||
{ | { | ||
− | + | [vx,vy,omega] | |
− | |||
− | |||
} | } | ||
+ | |||
+ | vx : x-vel in m/s" | ||
+ | vy : "y-vel in m/s" | ||
+ | omega : rot-vel in rad/s | ||
</pre> | </pre> | ||
+ | ====Matlab example==== | ||
+ | <pre>webwrite('http://192.168.1.192/data/omnidrive',[vx vy omega])</pre> | ||
===/data/digitaloutputarray=== | ===/data/digitaloutputarray=== | ||
Line 69: | Line 127: | ||
} | } | ||
</pre> | </pre> | ||
+ | value being true or false | ||
===/data/relayarray=== | ===/data/relayarray=== | ||
Line 75: | Line 134: | ||
[val0,val1] | [val0,val1] | ||
} | } | ||
− | |||
</pre> | </pre> | ||
+ | val0,val1 being false or true | ||
===/data/uploadProgram=== | ===/data/uploadProgram=== |
Revision as of 13:17, 18 March 2019
Contents
- 1 Introduction
- 2 GET
- 2.1 /cam0
- 2.2 /data/festoolcharger
- 2.3 /data/powermanagement
- 2.4 /data/charger0
- 2.5 /data/charger1
- 2.6 /data/controllerinfo
- 2.7 /data/services
- 2.8 /data/servicestatus/xxx
- 2.9 /data/analoginputarray
- 2.10 /data/digitalinputarray
- 2.11 /data/bumper
- 2.12 /data/distancesensorarray
- 2.13 /data/scan0
- 2.14 /data/odometry
- 3 PUT or POST
Introduction
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 }