Difference between revisions of "API2"

From RobotinoWiki
Line 12: Line 12:
 
* [[Java|Java programming with API2]]
 
* [[Java|Java programming with API2]]
 
* [[dotnet|.Net programming with API2]]
 
* [[dotnet|.Net programming with API2]]
 
===API2 packages for Robotino===
 
In order to use the API2 you need to replace packages on Robotino. The easiest way is to give Robotino Internet access. The file '''/etc/apt/sources.list''' should look like this.
 
<pre>
 
deb http://doc.openrobotino.org/download/packages/i386 ./
 
deb http://old-releases.ubuntu.com/ubuntu/ jaunty main restricted
 
deb-src http://old-releases.ubuntu.com/ubuntu/ jaunty main restricted
 
</pre>
 
 
<pre>
 
echo "deb http://doc.openrobotino.org/download/packages/i386 ./" > /etc/apt/sources.list
 
echo "deb http://old-releases.ubuntu.com/ubuntu/ jaunty main restricted" >> /etc/apt/sources.list
 
echo "deb-src http://old-releases.ubuntu.com/ubuntu/ jaunty main restricted" >> /etc/apt/sources.list
 
</pre>
 
 
After setting up the sources.list
 
<pre>
 
apt-get update
 
apt-get install rec-rpc-qt4.5.0 robotino-common robotino-daemons robotino-api robotino-examples
 
</pre>
 
 
Questions during the installation process
 
<pre>
 
Install these packages without verification [y/N]? y
 
Do you want to install symlinks? -> Yes
 
</pre>
 
This will remove the API1 daemons and install the API2 counterparts. Reboot the system when installation is finished.
 
 
Alternatively you can download the packages to your computer. Replace * by the latest version.
 
<pre>
 
wget http://doc.openrobotino.org/download/packages/i386/rec-rpc-qt4.5.0_*_i386.deb
 
wget http://doc.openrobotino.org/download/packages/i386/robotino-common_*_i386.deb
 
wget http://doc.openrobotino.org/download/packages/i386/robotino_daemons_*_i386.deb
 
wget http://doc.openrobotino.org/download/packages/i386/robotino-api_*_i386.deb
 
wget http://doc.openrobotino.org/download/packages/i386/robotino-examples_*_i386.deb
 
</pre>
 
 
Then copy the files to Robotino using scp or ftp. On Robotino do
 
<pre>
 
dpkg -i rec-rpc-qt4.5.0_*_i386.deb
 
dpkg -i robotino-common_*_i386.deb
 
dpkg -i --auto-deconfigure robotino-daemons_*_i386.deb
 
dpkg -i robotino-api_*_i386.deb
 
dpkg -i robotino-examples_*_i386.deb
 
</pre>
 
  
 
===API2 for Windows===
 
===API2 for Windows===

Revision as of 18:16, 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.

API2 for Windows

API2 binary package

API2 for Linux

Setup your /etc/apt/sources.list. On i386 system

deb http://doc.openrobotino.org/download/packages/i386 ./

On amd64 systems

deb http://doc.openrobotino.org/download/packages/amd64 ./

Install the packages

  • robotino-api2
  • robotino-examples
  • libqt4-dev
apt-get install robotino-api2 robotino-examples libqt4-dev

Pre build binaries are in /usr/local/robotino/examples/bin

Build the circle example see section below.

Building API2 from source

Get the source via SVN:

svn co http://svn.openrobotino.org/api/trunk source/api

Configure the build environment with cmake, build and install:

mkdir build/api
cd build/api
ccmake ../../source/api
make install

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

ROBOTINOAPI2_32_DIR=E:\build\robotino_api_win32_vc100\install

On Linux:

make ALL_CREATE_INSTALLER
sudo dpkg -i robotino-api-*.deb

Building the API2 examples on Robotino

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

Build Robotino tools and daemons

Windows:

  • Get the latest Qt libraries from Digia
  • Alternatively build Qt from source

Linux:

  • Install libqt4-dev

Build REC-RPC

Get the source via SVN:

svn co http://svn.servicerobotics.eu/rec_rpc/trunk source/rec_rpc

Configure the build environment with cmake, build and install:

mkdir build/rec_rpc
cd build/rec_rpc
ccmake ../../source/rec_rpc
make install

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

RECRPC32_DIR=E:\build\rec-rpc_win32_vc100\install

On Linux:

make ALL_CREATE_INSTALLER
sudo dpkg -i rec-rpc-*.deb

Build Robotino Common

Get the source via SVN:

svn co http://svn.openrobotino.org/common/trunk source/common

Configure the build environment with cmake, build and install:

mkdir build/common
cd build/common
ccmake ../../source/common
make install

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

ROBOTINOCOMMON32_DIR=E:\build\robotino_common_win32_vc100\install

On Linux:

make ALL_CREATE_INSTALLER
sudo dpkg -i robotino-common-*.deb

Build Robotino Daemons

Get the source via SVN:

svn co http://svn.openrobotino.org/daemons/trunk source/daemons

Configure the build environment with cmake, build and install:

mkdir build/daemons
cd build/daemons
ccmake ../../source/daemons
make install