Installing C++ Agent on Ubuntu

From MTConnect® User's Portal
Revision as of 13:17, 4 September 2014 by Will (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search



Installation procedure for running MTConnect Agent on ubuntu 14.04 LTS. This is a general guide and covers the basic configuration of the MTConnect simulator.

Install Required Dependencies

The C++ agent depends on libxml2 and for testing libcppunit. The rest are the standard packages for building software. We also use cmake to generate the make files.

 sudo apt-get update
 sudo apt-get install libxml2 libxml2-dev cmake git libcppunit-dev build-essential screen ruby curl

Download and build the agent

Make a directory for the agent work and our build directory

 mkdir -p ~/agent/build
 cd ~/agent

Use git to clone the agent from the repo and create the makefiles. We're going to be building the Release version; a debug version can also be built, refer to the cmake docs for more info.

 git clone
 cd build
 cmake -D CMAKE_BUILD_Type=Release ../cppagent/

Now build the app and install it in /usr/local/bin

 sudo cp agent/agent /usr/local/bin

There may be a few build warnings, these can be ignored.

Setup a configuration directory

Setup the agent

 sudo mkdir -p /etc/mtconnect/agent /etc/mtconnect/adapter
 cd ~/agent/cppagent
 sudo cp -r styles schemas simulator/VMC-3Axis.xml ls /e/etc/mtconnect/agent

Setup the simulator

 sudo cp simulator/VMC-3Axis-Log.txt simulator/run_scenario.rb /etc/mtconnect/adapter

Configure the Agent

Install the following file for the configuration:

 Devices = /etc/mtconnect/agent/VMC-3Axis.xml
 AllowPut = true
 ReconnectInterval = 1000
 BufferSize = 17
 SchemaVersion = 1.3
 Adapters { 
    VMC-3Axis { 
       Host =
       Port = 7878
 Files {
     schemas {
         Path = /etc/mtconnect/agent/schemas
         Location = /schemas/
     styles {
         Path = /etc/mtconnect/agent/styles
         Location = /styles/
     Favicon {
         Path = /etc/mtconnect/agent/styles/favicon.ico
         Location = /favicon.ico
 StreamsStyle {
   Location = /styles/Streams.xsl
 # Logger Configuration
     logging_level = debug
     output = file /var/log/mtc_agent.log

Copy the above text and install it in /etc/mtconnect/agent/agent.cfg. You can test the agent by typing:

 agent debug /etc/mtconnect/agent/agent.cfg

If that works, on to the next step.

Setup the upstart scripts

The upstart script to start the agent:

 description "MTConnect Agent"
 start on runlevel[2345]
 stop on runlevel[016]
 exec /usr/local/bin/agent run $agent_dir/agent.cfg
 respawn limit 10 600

Copy the contents to /etc/init/mtc_agent.conf

The upstart script for the adapter:

 description "MTConnect Adapter Simulator"
 start on runlevel[2345]
 stop on runlevel[016]
 exec ruby $adapter_dir/run_scenario.rb -l $adapter_dir/adapter/VMC-3Axis-Log.txt
 respawn limit 10 600

Copy the contents to /etc/init/mtc_adapter.conf

== start the services

Start both services

 sudo start mtc_agent
 sudo start mtc_adapter

Test the services

 curl http://localhost:5000/current