New updates to open source projects this week. You can get from SVN Trunk.
Basically this is a developer API to control the bot. You can send commands and get notifications about changes. This lets a 3rd party application hook in even without the web based GUI. So, you are free to write your own add-ons in any language you like. Control the bot as a zombie, or have applications trigger on events and interact with the logged in users.
Things you can do via TCP connections include:
- state dump
- user list, both TCP and web users
- docking, undocking
- move commands
- factory reset
- grab dock coordinates
- chat with all users and TCP connections
You can launch the client from Eclipse or export the project to a JAR (setting the launch class to developer.swingtool.client). Running the jar, build a simple bat file like:
start javaw -jar oculus.jar 192.168.1.xxx 4444 brad +tVfDvTicIG5chk8ibFy34L63A8=
Or on osx/linux do this instead:
java -jar oculus.jar 192.168.1.xxx 4444 brad +tVfDvTicIG5chk8ibFy34L63A8= &
The parameters are, robot’s local ip, port number, user name, hashed password. You can send a plain text password if you like also.
As an example of how the TCP connections are sent updates, see below. We can chat with the logged in users and any TCP connections as well.
watch in 480p if you want to be able to actually read the text on screen
One example is sonar steering. The sonar values get updated and sent to all TCP connections. These listening services can stop the bot and write messages to the web screens too. Or, you might want to get going on your own auto-docking algorithm. This is easy because your module can just ask for the dock coordinates by sending a “find” command. These API’s will grow besed on need and hacks I’m most certainly going to do. So get in touch with ideas or things you want access to. More info is available on the code site wiki.
There are a few youtube videos in the works on how to manage user accounts and settings if you are developing on oculus. Stay tunned..