Difference between revisions of "API2"

From RobotinoWiki
Line 9: Line 9:
 
* [[API2_quickstart|Quickstart guide to use API2]]
 
* [[API2_quickstart|Quickstart guide to use API2]]
 
* [[API2_install_daemons|How to install API2 daemons on Robotino]]
 
* [[API2_install_daemons|How to install API2 daemons on Robotino]]
 +
* [[API2_source_build|Building API2 from sources]]
 
* [[C++|C++ programming with API2]]
 
* [[C++|C++ programming with API2]]
 
* [[Java|Java programming with API2]]
 
* [[Java|Java programming with API2]]
 
* [[dotnet|.Net programming with API2]]
 
* [[dotnet|.Net programming with API2]]
 
 
===Building API2 from source===
 
Get the source via SVN:
 
<pre>
 
svn co http://svn.openrobotino.org/api/trunk source/api
 
</pre>
 
Configure the build environment with cmake, build and install:
 
<pre>
 
mkdir build/api
 
cd build/api
 
ccmake ../../source/api
 
make install
 
</pre>
 
 
On Windows:
 
In case you used a 32bit compiler set the environment variable '''ROBOTINOAPI2_32_DIR''' to the installation directory. When you compiled the library with a 64bit compiler set the environment variable '''ROBOTINOAPI2_64_DIR''' The environment variable is used by the other packages to find the FindRobotinoApi.cmake scripts.
 
Example: On my system I got
 
<pre>ROBOTINOAPI2_32_DIR=E:\build\robotino_api_win32_vc100\install</pre>
 
 
On Linux:
 
<pre>
 
make ALL_CREATE_INSTALLER
 
sudo dpkg -i robotino-api-*.deb
 
</pre>
 
 
===Building the API2 examples on Robotino===
 
<pre>
 
mkdir -p build/circle
 
cd build/circle
 
ccmake /usr/local/robotino/examples/src/c++/circle/
 
configure(c) 2x, generate(g)
 
make
 
target/example_circle 127.0.0.1
 
</pre>
 
 
===Build Robotino tools and daemons===
 
 
Windows:
 
* Get the latest Qt libraries from [http://qt.nokia.com/downloads Digia]
 
* Alternatively build Qt from source
 
 
Linux:
 
* Install libqt4-dev
 
 
====Build REC-RPC====
 
Get the source via SVN:
 
<pre>
 
svn co http://svn.servicerobotics.eu/rec_rpc/trunk source/rec_rpc
 
</pre>
 
Configure the build environment with cmake, build and install:
 
<pre>
 
mkdir build/rec_rpc
 
cd build/rec_rpc
 
ccmake ../../source/rec_rpc
 
make install
 
</pre>
 
 
On Windows:
 
In case you used a 32bit compiler set the environment variable '''RECRPC32_DIR''' to the installation directory. When you compiled the library with a 64bit compiler set the environment variable '''RECRPC64_DIR''' The environment variable is used by the other packages to find the FindRecRpc.cmake scripts. Example: On my system I got
 
<pre>RECRPC32_DIR=E:\build\rec-rpc_win32_vc100\install</pre>
 
 
On Linux:
 
<pre>
 
make ALL_CREATE_INSTALLER
 
sudo dpkg -i rec-rpc-*.deb
 
</pre>
 
 
====Build Robotino Common====
 
Get the source via SVN:
 
<pre>
 
svn co http://svn.openrobotino.org/common/trunk source/common
 
</pre>
 
Configure the build environment with cmake, build and install:
 
<pre>
 
mkdir build/common
 
cd build/common
 
ccmake ../../source/common
 
make install
 
</pre>
 
 
On Windows:
 
In case you used a 32bit compiler set the environment variable '''ROBOTINOCOMMON32_DIR''' to the installation directory. When you compiled the library with a 64bit compiler set the environment variable '''ROBOTINOCOMMON64_DIR''' The environment variable is used by the other packages to find the FindRobotinoCommon.cmake scripts.
 
Example: On my system I got
 
<pre>ROBOTINOCOMMON32_DIR=E:\build\robotino_common_win32_vc100\install</pre>
 
 
On Linux:
 
<pre>
 
make ALL_CREATE_INSTALLER
 
sudo dpkg -i robotino-common-*.deb
 
</pre>
 
 
====Build Robotino Daemons====
 
Get the source via SVN:
 
<pre>
 
svn co http://svn.openrobotino.org/daemons/trunk source/daemons
 
</pre>
 
Configure the build environment with cmake, build and install:
 
<pre>
 
mkdir build/daemons
 
cd build/daemons
 
ccmake ../../source/daemons
 
make install
 
</pre>
 

Revision as of 18:19, 9 December 2011

The new API2 is currently under development. The main new features are

  • Support for up to 4 cameras
  • Support for camera controls like brightness, contrast, auto white balance ... The supported controls depend on the camera used
  • Integrated web server for controlling Robotino by a web browser or your smartphone
  • Easy build process due to minimal dependencies to external libraries

The new API2 is based on a RPC like infrastructure. The REC-RPC library is a interprocess communication middleware similar to ROS. It is based on Qt and does not have any other dependencies.