-
Rewrite to better handle multiple components
Multiple data links and protocols can now be handled -
Replace static rules with routes
We can now route messages depending on their targeted service names. Each route specify a protocol and data link to use, together with options indicating how that route should be managed. -
Bluetooth
Using dlink_bt, two RVI nodes can now communicate over an RFCOMM link. -
Configuration file value substitution
Allows RVI to use file content, environment variables, and unique device IDs as configuration file values. See CONFIGURE.md for details.
-
Re-enable service availability notifications over websockets
Issue 15 was an artifact of issue 14, thus we can turn notifications back on now that 15 is fixed. -
Implement datalinkbert_rpc pings
This fixes issue #14 where a rebooted tizen box did not shut down the data link tcp connection correctly, which left it dangling on the server. A periodic tcp (5 min default) will trigger a kernel-originated shutdown when the remote address cannot be reached. -
Filter out resurrected services when a remote data link disappears
This fixes issue #14 where a rebooted tizen box would register its services while its old (pre-reboot) dangling tcp connection was still alive from the server's point of view. When the danlging tcp connection died, the RVI would delete all services associated with it, thus deleting active services registered over the new connection after the tizen box rebooted.We now filter any services associated with a dead tcp connection against identically named services registered over other connections.
- Don't send service availablity notifications over websockets
For unknown reasons this crashes the RVI node intermittently
-
Auto connect static links
When data link is lost to a statically configured node (See CONFIGURE STATIC NODES in configuration document, a reconnect attempt will be made every five seconds. -
Intra-component communication speedup
Components inside an RVI node can now choose if they want to use JSON-RPC (compatbility mode) or Erlang Genserver calls to communicate. -
List available services
Added get_available_services, allowing a service to query its RVI node of which other services are on-line and available for invocation. -
New python tutorial code Created top level
python
directory with rvilib.py and three new apps that can be used as tutorials on how to interface RVI. The apps are:rvi_service.py
registers a service with an RVI node and prints out information when it is invoked by RVI.rvi_call.py
invokes a service in an RVI network.rvi_get_services.py
connects to a local RVI node and prints out a list of all callable services accessible throughout that node.rvilib.py
has been cleaned up and simplified. -
Service availability notifications
Added real-time notifications from an RVI to its locally connected services when a new service is added or deleted somewhere in the network. This allows for the implementation of "vehicle online" indicators and other real-time sensitive behavior. -
Big data demo moved
Big data demo moved to its own repo at https://github.com/PDXostc/rvi_bigdata -
SOTA demo moved
SOTA demo moved to its own repo at https://github.com/PDXostc/rvi_sota_demo
Various improvements
Initial demo version. Works with the hvac_demo and its hvac / mobile emulators.