The following listing is of text commands used by clients (javascript, Android, iOS and telnet clients) to communicate with the Oculus Java server application. They can be grouped into the following categories:

Periscope Mirror Tilt


move left | right | forward | backward | stop
  Wheel motors, continuous movement

nudge left | right | forward | backward
  Move for amount of milliseconds (specified by ‘nudgedelay’ setting)

slide left | right
  Rearward triangular movement macro, that positions robot slightly to the left or right of starting spot

speedset slow | med | fast
  Set drive motor speed

clicksteer {INT} {INT}
  Camera tilt and drive motor movement macro to re-position center of screen by x,y pixels

motionenabletoggle (no arguments)
  Enable/disable robot drive motors

getdrivingsettings (no arguments)
  Returns drive motor calibration settings

drivingsettingsupdate {INT} {INT} {INT} {INT} {DOUBLE} {INT}
  Set drive motor calibration settings: slow speed, medium speed, nudge delay, maxclicknudgedelay (time in ms for robot to turn 1/2 of screen width), momentum factor, steering compensation


cameracommand stop | up | down | horiz | downabit | upabit
  Camera periscope tilt servo movement

tilttest {INT}
  Move persicope tilt servo to specified position

holdservo true | false
  Set/unset use of power break for persicope servo

gettiltsettings (no arguments)
  Returns camera calibration settings

tiltsettingsupdate {INT} {INT} {INT} {INT} {INT}
  Set camera calibration settins: horiz tilt, max tilt, min tilt, maxclickcam (time in ms for tilt to move 1/2 screen height), video scale %


publish camera | camadnmic | mic | stop
  Robot video/audio control

speech {STRING}
  Voice synthesizer

streamsettingsset low | med | high | full | custom
  Set robot camera resolution and quality

streamsettingscustom {STRING}
  Set values for ‘custom’ stream: resolutionX_resolutionY_fps_quality

videosoundmode low | high
  Set robot video compression codec_

playerbroadcast camera | camadnmic | mic | stop
  Client video/audio control (to be broadcast thru robot screen/speakers)

pushtotalktoggle true | false
  When broadcasting client mic through robot speakers, always on or mute until keypress

setstreamactivitythreshold {INT} {INT}
  Set flash video motion, audio volume detection threshold, 0-100 (0=off)

motiondetectgo {INT}
  Starts Java vision motion detection routine, and sets ‘motiondetectwatching’ STATE variable to TRUE. Specify sensititivy value, higher than 5 to overcome noise, even higher in dark environments. Camera must be already running. Exits if motion detected, and sets STATE variable ‘motiondetected’ to motion value

motiondetectcancel (no arguments)
  Cancels motion detection routine while running, and deletes ‘motiondetectwatching’ STATE variable

getlightlevel (no arguments)
  Returns average pixel greyscale value (0-255) of frame from current stream

setsystemvolume {INT}
  Set robot operating system audio volume 0-100

muterovmiconmovetoggle (no arguments)
  Set/unset mute-rov-mic-on-move’ setting

framegrabtofile (optional) {INT}
  Saves a frame from video stream to JPG in folder Oculus/webapps/oculus/framegrabs (creating folder if not already present). Folder is publicly view-able via web url: http://ip-address-or-domain-name:port/oculus/framegrabs. Eg.:

If optional trailing integer is included with command, {INT} successive frames are saved sequentially.

NOTE: You can also access single frames without saving to disk, by going to ‘MENU > advanced menu > frame grab’ from within the web-client. Or, just point your browser to the frame grab url:



password_update {STRING}
  Set new password for currently connected user

new_user_add {STRING} {STRING}
  Add new user with ‘username’ ‘password’

user_list (no arguments)
  Returns list of user accounts

delete_user {STRING}
  Delete user ‘username’

extrauser_password_update {STRING} {STRING}
  Set new password for user with ‘username’ ‘password’

username_update {STRING} {STRING}
  Change non-connected username with ‘oldname’ ‘newname’

beapassenger {STRING}
  Be passenger of current driver, specify passenger ‘username’

playerexit (no arguments)
  End rtmp connection with robot

disconnectotherconnections (no arguments)
  Close rtmp connection with all user connections other than current connection

assumecontrol {STRING}
  Assume control from current driver, specify new driver ‘username’

who (no arguments)
  Returns information on current driver connected via RTMP (eg., flash/web/mobile clients), and number of users connected via telnet

loginrecords (no arguments)
  Returns list of RTMP driver (eg., flash/web/mobile clients) login history for current server session


dock dock | undock
  Start manual dock routine

autodock cancel | go | dockgrabbed | dockgrabbed {STRING} | calibrate | getdocktarget
  Autodocking system control. Camera must be running

dockgrab (no arguments)
  Find dock target within robots camera view, writes target data to corresponding STATE variables (if found, will be non-zero values). Robot camera must be running

docklineposupdate {INT}
  Set manual dock line position within camera FOV in +/- pixels offset from center

autodockcalibrate {INT} {INT}
  Start autodock calibration, by sending xy pixel position of a white area within the dock target

battstats (no arguments)
  Gets battery charging state and charge remaining, writes to corresponding STATE variables and client status


systemcall {STRING}
  Execute OS system command, with ‘Oculus/’ as the current working directory

showlog (no arguments)
  Returns partial Oculus/logs/jvm.stdout

monitor on | off
  Robot display sleep/wake control

softwareupdate check | download | versiononly
  Robot server software update control

restart (no arguments)
  Restart server application on robot

shutdown (no arguments)
  Quit server application on robot

memory (no arguments)
  Returns percent used, total memory, and free memory in use by the Java Virtual Machine. NOTE: JVM memory is not to be confused with system memory totals.

uptime (no arguments)
  Returns time in milliseconds since the server application started


relaunchgrabber (no arguments)
  Launch new server.html browser page on robot

reloadserverhtml (no arguments)
  Tell server.html server.js javascript to reload page (useful to force refresh flash plugin as it’s unstable otherwise). Server.js already does this every 10 min, when video/audio stream stopped)

chat {STRING}
  Send text chat to all other connected users

statuscheck _(optional) battstats _
  Request current statuses for various settings/modes. Call with ‘battstats’ to also get battery status. NOTE: mainly used by rtmp clients only for initial status populating, and frequent ‘PING’ status updates. Output to telnet clients is suppressed

arduinoecho true | false
  Set ArduinOculus microcontroller to echo all commands

arduinoreset (no arguments)
  Reset ArduinOculus microcontroller

spotlight 0 | 10 | 20 | 30 | 40 | 50 | 60 | 70 | 80 | 90 | 100
  Set main spotlight brightness. (0=off)

floodlight on | off
  Controls wide angle light

writesetting {STRING} {STRING}
  Uses format: key value
  Write setting to oculus_settings.txt

opennisensor on | off
  Kinect/Xtion Primesense sensor control. NOTE: developer mode has to be enabled by setting ‘developer’ to ‘true’ in oculus_settings.txt

email {STRING}
  Uses format: email-address [subject] body
Send email to email-address, with subject [subject] and body text body

email [Test email] This is an email test
Uses mail server settings specified in oculus_settings.txt configuration file values for ‘email_smtp_server, email_smtp_port,’ (and ‘email_username, email_password’ if required)
To use Gmail to send mail: set the server to ‘,’ port to 587, and use Gmail username and password

state (optional) {STRING} (optional) {STRING}
  Uses format: key, or key value
  If called with no arguments: returns list of all non-null robot STATE variables
  If called with one argument: returns value for single key
  If called with two arguments: sets key to value

quit (no arguments)
  Quit telnet session (telnet connection only)

help (optional) {STRING}
  If called with no arguments: returns list of all commands
  If called with argument command, returns quick help for single command

settings (no arguments)
  Returns list of all settings from oculus_settings.txt

analogwrite {INT} {INT}
  Sends command ‘a’ followed by two bytes (pin #, value) to ArduinOculus microcontroller. (Requires firmware version 0.5.5 or higher)

digitalread {INT}
  Sends command ‘d’ followed by byte (pin #) to ArduinOculus microcontroller, requesting status of digital pin. (Requires firmware version 0.5.5 or higher.) Returns 1 or 0 within output string. Example output, reading HIGH value on pin 12:

<‍digitalread 12: 1‍>

messageclients {STRING}
  Send text to all other connected users. Similar to ‘chat,’ but without preceding user info

rssadd {STRING}
  Uses format: [title] description
Adds item to Oculus RSS feed file: Oculus/webapps/oculus/rss.xml (creating it if not already present). Feed is publicly view-able via web url:
http://ip-address-or-domain-name:port/oculus/rss.xml Example:

CART 0 items | US$
    Check Order Status
Follow →
instagram twitter facebook youtube
@XaxxonTech Twitter
© 2019 Xaxxon
Products Documentation Downloads Source Code
Warranty & Returns About Us Contact/Support News
instagram twitter facebook youtube