Deploy to cb20 Board

Back to Writing EEROS Applications for cb20 Board.

Preparations

Fetch the EEROS scripts in your project root directory on your host and checkout the branch for the cb20 board

$ git clone https://github.com/eeros-project/eeros-build-scripts.git
$ cd eeros-build-scripts
$ git checkout sdk_cb20

The file config.sh.in contains entries for the destination of deploying.

target_IP_address=146.136.100.8      // use appropriate ip number or name
target_username=ost      
target_application_folder=/home/ost/

Deploying

Next, edit deploy.txt on the host in your project directory and enter the application program you want to transfer together with the necessary hardware configuration file, e.g.

../simple-motor-control/build-armhf/simpleMotorControl
../simple-motor-control/build-armhf/HwConfigBBBlue.json

If you wrote your own Say Hello with EEROS the file would look like

../hello/build-armhf/helloworld

Finally, load them onto the target with

$ ./deploy.sh

Running your Application

ssh into the board with

$ ssh ost@es140.ntb.ch

For credentials see cb20.

Change into your target application folder and run the example

$ cd bin
$ ./helloworld
or
$ sudo ./simpleMotorControl -c HwConfigBBBlue.json

Running your Application which is a ROS Node

Be sure to setup your network settings according to Network Setup. Set the environment variable ROS_MASTER_URI in your shell with

export ROS_MASTER_URI=http://192.168.7.3:11311

Add the following line to your /etc/hosts file (under Ubuntu)

192.168.7.2  cb20

Run your application with

$ sudo -E ./application

Running the Built-in Examples of EEROS

Running the built-in examples of EEROS as given in the tutorial pages in Tutorials is quite simple, e.g.

$ sudo /usr/examples/rtTest/rtTest

The flink utilities can be used for testing the experimental setup as given in Experimental Setup with a cb20 Board.

CANopen

Make sure to fetch the CANopen library, see https://github.com/eeros-project/eeros-build-scripts. The library has to be compiled and linked statically to your application. There is no need to transfer is to the target separately.