summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMagnus <mfeuer@jaguarlandrover.com>2014-08-15 13:16:21 -0700
committerMagnus <mfeuer@jaguarlandrover.com>2014-08-15 13:16:21 -0700
commit8916c79d38c6e26877a785af030e531162716e73 (patch)
tree11d26d48b4804cd8fceff1c793e8e541d548e811
parentfc66fb9eae7f3a880a6ab59bbeaea8011bf99588 (diff)
downloadrvi_core-8916c79d38c6e26877a785af030e531162716e73.tar.gz
Renamed IVI emulator vehicle emulator. Moved demo config files to hvac_demo. Created sample config file
Signed-off-by: Magnus <mfeuer@jaguarlandrover.com>
-rw-r--r--.gitignore2
-rw-r--r--CONFIGURE.md4
-rw-r--r--README.md4
-rw-r--r--hvac_demo/README.md93
-rw-r--r--hvac_demo/backend.config (renamed from priv/backend.config)2
-rwxr-xr-xhvac_demo/hvac_emulator.py (renamed from hvac_demo/hvac_ivi_emulator.py)34
-rwxr-xr-xhvac_demo/mobile_emulator.py (renamed from hvac_demo/hvac_mobile_emulator.py)41
-rwxr-xr-xhvac_demo/subscription_service.py (renamed from hvac_demo/hvac_subscription_service.py)8
-rw-r--r--hvac_demo/vehicle.config (renamed from priv/ivi.config)0
-rw-r--r--rvi_sample.config179
-rwxr-xr-xsetup_rvi_node.sh2
11 files changed, 279 insertions, 90 deletions
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..f78974b
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+ebin
+deps
diff --git a/CONFIGURE.md b/CONFIGURE.md
index a904ab7..5c1f0d1 100644
--- a/CONFIGURE.md
+++ b/CONFIGURE.md
@@ -22,7 +22,7 @@ The reader is assumed to be able to:
1. Erlang runtime R16B01 or later has to be installed on the hosting system.
2. The ```setup_rvi_node.sh``` tool is available to build a release.
-3. (Recommended) ```priv/ivi.config``` is used as a starting point for a customized setup.
+3. (Recommended) ```priv/vehicle.config``` is used as a starting point for a customized setup.
Root access is not needed.
@@ -70,7 +70,7 @@ release.
There is a single configuration file, with the setup for all
components and modules in the node, used for each release. All files
are stored in the ```priv``` directory. A documented example file is
-provided (as a part of the HVAC demo) as ```priv/ivi.config```
+provided as ```rvi_sample.config```
The configuration file consists of an array of erlang tuples (records
/ structs / entries), where the ```env``` tuple contains configuration data for
diff --git a/README.md b/README.md
index 16d662e..4e25bcc 100644
--- a/README.md
+++ b/README.md
@@ -46,3 +46,7 @@ $ sh device_message.sh
Questions can be posted to the AGL RVI list:
http://lists.linuxfoundation.org/mailman/listinfo/automotive-eg-rvi
+Tizen 3.0 Intel
+
+Build service Tizen + RVI -> release.
+
diff --git a/hvac_demo/README.md b/hvac_demo/README.md
index fa49530..0b746d3 100644
--- a/hvac_demo/README.md
+++ b/hvac_demo/README.md
@@ -14,8 +14,8 @@ remotely controlled from a mobile device. Updates made to the IVI HVAC
screen are sent in real time to the mobile device, and vice versa.
An initial release of the remote HVAC demo was done using the MQTT
-protocol (mqtt.org). The first milestone of the RVI project will
-migrate the HVAC demo to the RVI technology.
+protocol (See http://mqtt.org). The first milestone of the RVI project
+will migrate the HVAC demo to the RVI technology.
## READER ASSUMPTIONS
@@ -29,35 +29,37 @@ The reader is assumed to be able to:
1. Erlang runtime R16B01 or later has to be installed on the hosting system.
2. The ```setup_rvi_node.sh``` tool is available to build a release.
-3. ```priv/ivi.config``` is available to build the IVI RVI node from.
-4. ```priv/backend.config``` is available to build the backend RVI node from.
-5. ```hvac_demo/``` is available with its demo code.
+3. The ```rvi_node.sh``` tool is available to execute a release.
+4. ```hvac_demo/``` is available with its demo code and configuration files.
# DEMO COMPONENTS
+The demo is broken into three components that connect to two RVI
+nodes. Please see schematics below:
+
## SUBSCRIPTION SERVICE
This directory contains a simple subscription service
-(hvac\_subscription\_service.py) replacing the MQTT broker. The
-subscription service lets the IVI and mobile devices setup
+(subscription\_service.py) replacing the MQTT broker. The
+subscription service lets the vehicle and mobile devices setup
subscriptions so that they receive notifications when the HVAC values
for a specific VIN (Vehicle Identification Number) have been
updated. The service is, in effect, a standard publish/subscribe
setup.
-## IVI EMULATOR
+## HVAC EMULATOR
In order to test the RVI milestone 1 and the subscription service
without having to bring up a complete Tizen IVI and mobile device
environment, a simple emulator for these two components have been
-provided in hvac\_ivi\_emulator.py and hvac\_mobile\_emulator.py
+provided in hvac\_emulator.py and mobile\_emulator.py
-The IVI emulator simulates the HVAC application running on a head unit
-in a vehicle. It uses a VIN number, a part of the node service prefix
-of the IVI RVI node, as a unique identifier and subscribes to HVAC
+The HVAC emulator simulates the HVAC application running on a head unit
+in a vehicle. It uses a VIN number, a part of the service prefix
+of the vehicle RVI node, as a unique identifier and subscribes to HVAC
updates, such as fan speed, originating from the mobile device
emulator.
-The IVI emulator can also have new HVAC values entered on
+The HVAC emulator can also have new HVAC values entered on
the command line and send them to any connected mobile device
emulators.
@@ -71,7 +73,7 @@ registers itself as a service where a phone number, provided as a
command line argument, is a part of the service name. The mobile
controls a specific VIN, also provided as a command line argument.
-Just like the IVI emulator, the all subscriptions and updates are
+Just like the HVAC emulator, the all subscriptions and updates are
bounced of the subscription service.
@@ -81,47 +83,48 @@ Two RVI nodes, both hosted by a single machine, will be involved in
the test:
The backend node will host the subscription service
-(hvac\_subscription\_service.py), and will also receive requests from
+(subscription\_service.py), and will also receive requests from
the mobile device emultor (hvac_emulator.py).
-The IVI node will host the IVI emulator only.
+The vehicle node will serve the only the HVAC emulator.
## COMPILE THE RVI SYSTEM
See ../BUILD.md for details.
-## CREATE THE IVI DEVELOPMENT RELEASE
+## CREATE THE VEHICLE DEVELOPMENT RELEASE
*See ../CONFIGURE.md for details on the configuration process.*
-From the rvi root directory, setup the IVI node:
+From the rvi root directory, setup the vehicle node:
- ./setup_rvi_node.sh ivi priv/ivi.config
+ ./setup_rvi_node.sh vehicle hvac_demo/vehicle.config
The new developer release will be created in a subdiretory named
-```ivi```
+```vehicle```
## CREATE THE BACKEND DEVELOPMENT RELEASE
In a similar manner, setup the backend node:
- ./setup_rvi_node.sh backend priv/backend.config
+ ./setup_rvi_node.sh backend hvac_demo/backend.config
+
+
+The release will be created in a subdiretory named ```backend```
-The result will be two new directories, ivi and backend, created under
-the rvi root directory.
-## LAUNCH THE IVI RVI NODE
+## LAUNCH THE VEHICLE RVI NODE
-In its own window, launch the IVI rvi node that will serve the IVI emulator.
+In its own window, launch the vehicle RVI node that will serve the HVAC emulator.
- ./rvi_node.sh -n ivi
+ ./rvi_node.sh -n vehicle
The VIN number that will be used by the mobile device are the digits
at the end of the "Node Service Prefix" printed out at the end of the
launch process.
-By default, the ```priv/ivi.config``` file has its
+By default, the ```hvac_demo/vehicle.config``` file has its
```node_service_prefix``` entry set to ```jlr.com/vin/1234/```,
yielding a VIN of "1234".
@@ -144,28 +147,28 @@ In its own window, launch the subscription service and specify the URL
of the backend RVI node's Service Edge:
cd hvac_demo
- ./hvac_subscription_service.py http://127.0.0.1:8801
+ ./subscription_service.py http://127.0.0.1:8801
Modify the ```http://127.0.0.1:8801``` to match the URL reported by
the backend RVI node.
-## LAUNCH THE IVI EMULATOR
+## LAUNCH THE HVAC EMULATOR
-In its own window, launch the ivi emulator and have it connect to
-the IVI RVI node.
+In its own window, launch the HVAC emulator and have it connect to
+the vehicle RVI node.
cd hvac_demo
- ./hvac_ivi_emulator.py http://127.0.0.1:8811
+ ./hvac_emulator.py http://127.0.0.1:8811
Modify the ```http://127.0.0.1:8811``` to match the Service Edge URL
-reported by the IVI RVI node.
+reported by the vehicle RVI node.
-At startup the IVI emulator will report the VIN number that it is
+At startup the HVAC emulator will report the VIN number that it is
associacted with. (Default 1234)
-The IVI emulator accepts \[key\] \[value\] input lines that are
-distributed to all mobile devices controlling the VIN of the IVI RVI
+The HVAC emulator accepts \[key\] \[value\] input lines that are
+distributed to all mobile devices controlling the VIN of the vehicle RVI
node.
@@ -175,7 +178,7 @@ In its own window, launch the mobile device emulator and have it connect to
the backend RVI node.
cd hvac_demo
- ./hvac_mobile_emulator.py http://127.0.0.1:8801 +1941231234 1234
+ ./mobile_emulator.py http://127.0.0.1:8801 +1941231234 1234
Modify the ```http://127.0.0.1:8801``` to match the Service Edge URL
reported by the backend RVI node.
@@ -183,24 +186,24 @@ reported by the backend RVI node.
The phone number (+19491231234) is arbitrary, but has to be unique
across all running mobile device emulators.
-The VIN number (1234) is the VIN number reported by the IVI emulator at startup.
+The VIN number (1234) is the VIN number reported by the HVAC emulator at startup.
The mobile device emulator accepts \[key\] \[value\] input lines that
-are distributed to the IVI with the matching VIN.
+are distributed to the vehicle with the matching VIN.
# DEMO EXECUTION
-## SEND VALUES FROM MOBILE TO IVI EMULATOR
+## SEND VALUES FROM MOBILE TO HVAC EMULATOR
Any \[key\] \[value\] entered in the mobile device emulator
will be sent up to the subscription service and forwarded to
-the IVI emulator.
+the HVAC emulator.
-## SEND VALUES FROM IVI TO MOBILE EMULATOR
+## SEND VALUES FROM HVAC TO MOBILE EMULATOR
-Any \[key\] \[value\] entered in the IVI emulator
+Any \[key\] \[value\] entered in the HVAC emulator
will be sent up to the subscription service and forwarded to
the mobile emulator.
@@ -209,11 +212,11 @@ the mobile emulator.
Terminate the mobile device emulator by entering "q" followed by enter.
-Terminate the IVI emulator by entering "q" followed by enter.
+Terminate the HVAC emulator by entering "q" followed by enter.
Terminate the subscription service by pressing Ctrl-c.
-Terminate the IVI RVI node by pressing Ctrl-c Ctrl-c.
+Terminate the vehicle RVI node by pressing Ctrl-c Ctrl-c.
Terminate the backend RVI node by pressing Ctrl-c Ctrl-c.
diff --git a/priv/backend.config b/hvac_demo/backend.config
index e5c6681..b1ac714 100644
--- a/priv/backend.config
+++ b/hvac_demo/backend.config
@@ -11,7 +11,7 @@
%%
%% -----------------------------------------------
-%% See ivi.config file for documentation and hints
+%% See vehicle.config file for documentation and hints
%% -----------------------------------------------
[
diff --git a/hvac_demo/hvac_ivi_emulator.py b/hvac_demo/hvac_emulator.py
index fa9fb7a..e368fb2 100755
--- a/hvac_demo/hvac_ivi_emulator.py
+++ b/hvac_demo/hvac_emulator.py
@@ -9,39 +9,39 @@
#
#
-# Emulate a mobile device or an IVI.
+# Emulate an HVAC apoplication
#
# This emulator connects to an RVI Service Edge as a service and
-# simulates an IVI unit installed in a vehicle.
+# simulates an HVAC application unit installed in a vehicle.
#
# The emulator connects to the Service Edge of locally accessible RVI
# node and subscribes to updates from one or more mobile
# devices. Local updates, simulating GUI input on the HVAC screen,
# can be entered at the command line and will be distributed to the
-# phone(s) subscribing to updates from the IVI.
+# phone(s) subscribing to updates from the HVAC.
#
# Any HVAC values updated on the command line are sent to the
# service jlr.com/backend/hvac/subscription_service/publish. This
# service will look up VIN targeted by the update and send out the
# same data to all services that are subscribing to that VIN.
#
-# In mobile device mode, the emulator will subscribe to updated
-# values published to to the VIN value "ivi_[vin]" where vin is the
-# VIN number of the IVI. When a emulator, still in mobile device
+# I, the emulator will subscribe to updated
+# values published to to the VIN value "hvac_[vin]" where vin is the
+# VIN number of the vehicle. When a emulator, still in mobile device
# mode, sends out an updated value (entered in the python console),
# it will publish the value using the vin "mobile_[vin]"
#
-# Converesely, an emulator in IVI mode will sbuscribe to
-# "mobile_[vin]", and publish to "ivi_[vin]".
+# Converesely, an the HVAC emulator will sbuscribe to
+# "mobile_[vin]", and publish to "hvac_[vin]".
#
# This setup allows the mobile device emulator to receive updates
-# entered on the IVI HVAC screen (sent out by the IVI to
-# "ivi_[vin]"), while the IVI emulator receives updates entered on
+# entered on the IVI HVAC screen (sent out by the HVAC emulator to
+# "hvac_[vin]"), while the HVAC emulator receives updates entered on
# the mobile device screen (sent out by the mobile device to
# "mobile_[vin]".
#
-# When the emulator connects in IVI mode to an RVI node, the
-# node's configured service prefix (see priv/ivi.config,
+# When the HVAC emulatore connects to the vehicle RVI node, the
+# node's configured service prefix (see hvac_demo/vehicle.config,
# node_service_prefix) will have the VIN number as a part of the
# prefix. The emulator will thus register its service as /hvac/publish,
# which, prefixed with the node service prefix, gives it a complete name
@@ -86,7 +86,7 @@ def usage():
print " <rvi_url> URL of Service Edge on a local RVI node"
print
print "The RVI Service Edge URL can be found in"
- print "priv/[backend,ivi].config as"
+ print "[backend,vehicle].config as"
print "env -> rvi -> components -> service_edge -> url"
print
print "The Service Edge URL is also logged as a notice when the"
@@ -122,7 +122,7 @@ emulator_service_name = '/hvac/publish'
# Setup an outbound JSON-RPC connection to the RVI Service Edeg.
rvi_server = jsonrpclib.Server(rvi_url)
-# Register our HVAC IVI emulator service with the RVI Service Edge,
+# Register our HVAC emulator service with the RVI Service Edge,
# allowing the RVI to forward requests to the service name to the
# given network addresss (URL):
res = rvi_server.register_service(service = emulator_service_name,
@@ -136,11 +136,11 @@ full_emulator_service_name = res['service']
[ t1, t2, vin, t3, t4] = full_emulator_service_name.split('/')
# We are in mobile device mode. Setup the vin numbers for publish
-pub_vin = "ivi_"+vin
+pub_vin = "hvac_"+vin
sub_vin = "mobile_"+vin
-print "IVI Emulator."
-print "IVI RVI node URL: ", rvi_url
+print "HVAC Emulator."
+print "Vehicle RVI node URL: ", rvi_url
print "Emulator URL: ", emulator_service_url
print "VIN: ", vin
print "Full service name ", full_emulator_service_name
diff --git a/hvac_demo/hvac_mobile_emulator.py b/hvac_demo/mobile_emulator.py
index 9f0fc1a..60d9cbf 100755
--- a/hvac_demo/hvac_mobile_emulator.py
+++ b/hvac_demo/mobile_emulator.py
@@ -10,13 +10,13 @@
#
# Emulate a mobile device.
-
-# The emulator connects to Service Edge of the
+#
+# The mobile device emulator connects to Service Edge of the
# backend server, and subscribes to HVAC updates (temp, fan speed,
-# etc) updates from an IVI with a given VIN. The emulator can also
+# etc) updates from an vehicle with a given VIN. The emulator can also
# update HVAC values, simulating HVAC GUI input on the mobile device
# screen, and send it off to the backend server Service Edge for
-# further distribution to the targeted IVI.
+# further distribution to the targeted vehicle.
#
#
# Updates entered on the command line are are sent to the backend node
@@ -25,30 +25,31 @@
# same data to all services that are subscribing to that VIN.
#
# The mobile device emulator will subscribe to updated values
-# published to to the VIN value "ivi_[vin]" where vin is the VIN
-# number of the IVI. When a emulator, still in mobile device mode,
+# published to to the VIN value "hvac_[vin]" where vin is the VIN
+# number of the vehicle. When a mobile device emulator
# sends out an updated value (entered in the python console), it will
# publish the value using the vin "mobile_[vin]"
#
-# Converesely, an emulator in IVI mode will sbuscribe to
-# "mobile_[vin]", and publish to "ivi_[vin]".
+# Converesely, an HVAC emulator will sbuscribe to
+# "mobile_[vin]", and publish to "hvac_[vin]".
#
# This setup allows the mobile device emulator to receive updates
-# entered on the IVI HVAC screen (sent out by the IVI to
-# "ivi_[vin]"), while the IVI emulator receives updates entered on
-# the mobile device screen (sent out by the mobile device to
-# "mobile_[vin]").
+# entered at the HVAC emulator's command promp (sent out by the HVAC
+# emulator to "hvac_[vin]"), while the HVAC emulator receives updates
+# entered on the mobile device screen (sent out by the mobile device
+# to "mobile_[vin]").
#
# The emulator will register with a phone number as a part of its
# service name, where the phone number is specified as a command line
-# argument to the emulator.
+# argument.
#
-# Since the backend RVI node that the emulator connects to has a
-# service prefix of jlr.com/backend (see priv/backend.config),
-# the mobile device emulator will have a complete service name of:
+# Since the backend RVI node that the mobile device emulator connects
+# to has a service prefix of jlr.com/backend (see
+# backend.config), the mobile device emulator will have a
+# complete service name of:
# jlr.com/backend/mobile/[phone_number]/hvac/publish
#
-# The VIN of the IVI to manage is also provided as a
+# The VIN of the vehicle whose HVAC to manage is also provided as a
# command line argument.
#
# Usage:
@@ -57,7 +58,7 @@
#
# Example:
# Regsiter on Service edge with URL http://127.0.0.1:8811, using
-# phone number +19491231234 and controlling the IVI with VIN 1234.
+# phone number +19491231234 and controlling the vehicle with VIN 1234.
#
# python hvac_emulator.py http://127.0.0.1:8811 +19491231234 1234
#
@@ -99,7 +100,7 @@ def usage():
print " <vin> The VIN that the mobile device is to control."
print
print "The RVI Service Edge URL can be found in"
- print "priv/[backend,ivi].config as"
+ print "[backend,vehicle].config as"
print "env -> rvi -> components -> service_edge -> url"
print
print "The Service Edge URL is also logged as a notice when the"
@@ -128,7 +129,7 @@ if len(sys.argv) != 4:
# We are in mobile device mode. Setup the vin numbers for publish
pub_vin = "mobile_"+vin
-sub_vin = "ivi_"+vin
+sub_vin = "hvac_"+vin
# Setup the service name we will register with.
# The complete service name will be: jlr.com/backend/mobile/<phone_nr>/hvac/publish
diff --git a/hvac_demo/hvac_subscription_service.py b/hvac_demo/subscription_service.py
index 782df4f..44f1644 100755
--- a/hvac_demo/hvac_subscription_service.py
+++ b/hvac_demo/subscription_service.py
@@ -10,8 +10,8 @@
#
# This is an extremely simple subscription service that connects to
# a central backend RVI node. The node is well known by all
-# other RVI nodes in a network, who has the backedn node configured
-# as a "static" node. See priv/setup_device.config for an example.
+# other RVI nodes in a network, who has the backend node configured
+# as a "static" node. See vehicle.config for an example.
#
# The subscription service will register the following services
# with the backend RVI node:
@@ -50,7 +50,7 @@
# Distributes the key/value pair to all services that have previosuly
# subscribed to updates for the given vin.
#
-# For RVI Milestone 1, the mobile and Tizen IVI UI remains to be
+# For RVI Milestone 1, the mobile and Tizen IVI HVAC UI remains to be
# integrated with the RVI system itself. Meanwhile, hvac_emulator.py
# is provded as a simple tester that can emulate either an IVI or
# a mobile device.
@@ -133,7 +133,7 @@ else:
print " <rvi_url> URL of RVI Service Edge on local host"
print
print "The RVI Service Edge URL can be found in"
- print "priv/setup_[backend,ivi].config as"
+ print "[backend,backend].config as"
print "env -> rvi -> components -> service_edge -> url"
print
print "The Service Edge URL is also logged as a notice when the"
diff --git a/priv/ivi.config b/hvac_demo/vehicle.config
index c53d856..c53d856 100644
--- a/priv/ivi.config
+++ b/hvac_demo/vehicle.config
diff --git a/rvi_sample.config b/rvi_sample.config
new file mode 100644
index 0000000..c53d856
--- /dev/null
+++ b/rvi_sample.config
@@ -0,0 +1,179 @@
+%% -*- erlang -*-
+
+%% Copyright (C) 2014, Jaguar Land Rover
+%%
+%% This program is licensed under the terms and conditions of the
+%% Mozilla Public License, version 2.0. The full text of the
+%% Mozilla Public License is at https://www.mozilla.org/MPL/2.0/
+%%
+%% Configuration file for the (in-vehicle) IVI used by the hvac_demo
+%%
+%% See ../hvac_demo/README.md for details on the demo.
+%%
+%% See ../CONFIGURE.md for a details on the configuration process
+%% itself.
+%%
+[
+ %% All erlang apps needed to fire up a node. Do not touch.
+ {apps,
+ [kernel,
+ stdlib,
+ sasl,
+ {setup, load},
+ syntax_tools,
+ lager,
+ crypto,
+ public_key,
+ exo,
+ bert,
+ compiler,
+ ssl,
+ asn1,
+
+ %% RVI-specific apps.
+
+ %% Do not touch unless you are replacing apps with your own
+ %% version. If you are replacing an app with a non-Erlang version,
+ %% it still has to be loaded in order to resolve.
+ %% If, for example, you want to deploy your own scheduler
+ %% outside Erlang, replace
+ %%
+ %% schedule,
+ %% with
+ %% { schedule, load },
+ %%
+ rvi,
+ rvi_common,
+ service_edge,
+ service_discovery,
+ authorize,
+ schedule,
+ data_link_bert_rpc,
+ protocol ]},
+
+ %%
+ %% Custom environment settings
+ %% for all apps running on the node.
+ %%
+ {env,
+ [
+ %% Lager is the main logging mechanism.
+ %% See https://github.com/basho/lager for details.
+ %%
+ {lager,
+ [ { handlers,
+ %% Change this to debug, info, notice, warning, or error in
+ %% order to lower the console chatter.
+ [ {lager_console_backend, notice} ]
+ }
+ ]
+ },
+
+ %% All RVI configuration is done here.
+ %% Please note that the rvi_node.sh launch script
+ %% can still override the port range and static nodes
+ %% through its command line parameters.
+ %%
+ {rvi,
+ [
+
+ %% Specify the node address that data_link uses to listen to
+ %% incoming traffic from other rvi nodes.
+ %%
+ %% This is the address that is announced to
+ %% other rvi nodes during service discovery and should be
+ %% forwarded through firewalls and port forwarding to to the port
+ %% specified by the configuration entry rvi -> components ->
+ %% data_link -> bert_rpc_server (see below).
+ %%
+ { node_address, "127.0.0.1:8817" },
+
+ %% Specify the prefix of all services that this rvi node is hosting.
+ %%
+ %% All local services regsitering with service edge will be prefixed with
+ %% the string below when they are announced to remote rvi nodes
+ %% that connect to this node (using the address specified
+ %% by node_address above).
+ %%
+ %% If a locally connected service registers itself as
+ %% "hvac/fan_speed", and the node_service_prefix is
+ %% "jlr.com/vin/1234/", this node will announce the service
+ %% "jlr.com/vin/1234/hvac/fan_speed" as being available
+ %% to remotely connected rvi nodes.
+ %%
+ %% Two rvi nodes should never have the same node_service_prefix
+ %% value.
+ %%
+ { node_service_prefix, "jlr.com/vin/1234/"},
+
+ %% Specify static service prefixes with well known addresses
+ %%
+ %% Static nodes allows a local RVI node to route services with
+ %% matching prefixes to a well known address of a remote node. A
+ %% static node is often a backend/cloud server that is assumed to
+ %% be found at a given address as soon as network connectivity
+ %% has been established.
+ %%
+ %% When a locally connected service issues a message or rpc to a
+ %% service, and the network address of the service cannot be
+ %% found in the tables maintained by the peer-to-peer service
+ %% discovery process, the static nodes table below is scanned as
+ %% to prefix match the service and locate a suitable network
+ %% address.
+ %%
+ { static_nodes,
+ [
+ { "jlr.com/backend/", "localhost:8807" }
+ ]
+ },
+
+
+ { components,
+ [
+ { service_edge,
+ %% This is the URL that local services use to connect to
+ %% the RVI system. It is also used by
+ %% the other components below to send inter-compoonent
+ %% JSON-RPC calls to the service edge.
+ %%
+ %% The host and address given in URL should route to the port given
+ %% in exo_http_opts below.
+ %%
+ [ { url, "http://127.0.0.1:8811" },
+ { exo_http_opts, [ { port, 8811 } ] }
+ ]
+ },
+ { service_discovery,
+ [ { url, "http://127.0.0.1:8812" },
+ { exo_http_opts, [ { port, 8812 } ] }
+ ]
+ },
+ { schedule,
+ [ { url, "http://127.0.0.1:8813" },
+ { exo_http_opts, [ { port, 8813 } ] }
+ ]
+ },
+ { authorize,
+ [ { url, "http://127.0.0.1:8814" },
+ { exo_http_opts, [ { port, 8814 } ] }
+ ]
+ },
+ { protocol,
+ [ { url, "http://127.0.0.1:8815" },
+ { exo_http_opts, [ { port, 8815 } ] }
+ ]
+ },
+ { data_link,
+ [ { url, "http://127.0.0.1:8816" },
+ { exo_http_opts, [ { port, 8816 } ] },
+
+ %% The bert_rpc_server port will be used to listen to incoming
+ %% traffic from remote nodes.
+ { bert_rpc_server, [ {port, 8817 }]}
+ ]
+ }
+ ]
+ }
+ ]}
+]}
+].
diff --git a/setup_rvi_node.sh b/setup_rvi_node.sh
index 1f27dea..9daeb10 100755
--- a/setup_rvi_node.sh
+++ b/setup_rvi_node.sh
@@ -33,7 +33,7 @@ then
echo
echo "Launch the node with ./rvi_node.sh <release_name>"
echo
- echo "See priv/ivi.config for configuration file example."
+ echo "See rvi_sample.config for configuration file example."
echo
exit 1
fi