From b523b0c8cc37a989bfb84a5ebefe1ec1f2b0cbfb Mon Sep 17 00:00:00 2001 From: Scott Murray Date: Mon, 22 Apr 2019 21:38:18 -0400 Subject: Initial code check-in A simple telematics demo application for AGL. It reads vehicle and engine speed from the CAN low-level binding and publishes them via MQTT. Change-Id: Ib85904e87919053cad1215b3f53cee81db25c94a Signed-off-by: Scott Murray --- README.md | 105 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 105 insertions(+) create mode 100644 README.md (limited to 'README.md') diff --git a/README.md b/README.md new file mode 100644 index 0000000..b11c843 --- /dev/null +++ b/README.md @@ -0,0 +1,105 @@ +# Telematics Recorder + +## Overview + +The telematics recorder demonstation application reads the OBD-II vehicle speed and +engine speed (RPM) messages using the low-level CAN binding, and sends them as JSON +messages to a MQTT broker for clients to use. + +## Configuration + +The application has several configurable parameters, which can be configured via the +INI style file /etc/xdg/telematics-recorder.conf. The parameters are described in the +following sections. + +### General + +General configuration consists of the following parameters in the "[General]" section: +* log_level +* cellular_enabled +* gps_enabled +* check_online +* device_uuid + +#### log_level + +Sets the debug logging level, acceptable values are 1 or higher. If the parameter is not +present, logging is disabled. The default value is no debug logging. + +#### cellular_enabled + +Enables or disables cellular modem usage, acceptable values are "true" and "false" (case-insensitive). +The logic enabled by this parameter blocks on a check for cellular modem presence at start up, and +sets the modem state to online when detected. The default value is disabled ("false"). + +#### gps_enabled + +Enables or disables GPS usage, acceptable values are "true" and "false" (case-insensitive). +When enabled, the current GPS position will be populated in the events sent to the MQTT broker. +The default value is disabled ("false"). + +#### check_online + +Enables or disables checking for online status, acceptable values are "true" and "false" (case-insensitive). +When enabled, the the current network online status will be checked before attempting to send messages to +the MQTT broker to potentially prevent filling the transmit queue of the MQTT client. +The default value is disabled ("false"). + +#### device_uuid + +A string representing a unique device identifier. It is used to identify the device in the MQTT messages. +If not specified, the default value is "e4bbc0a8-f435-4326-9769-d4a2c9f3c18d". + +### MQTT + +MQTT protocol configuration consists of the following parameters in the "[MQTT]" section: +* broker +* port +* keepalive +* qos +* retain +* username +* password + +#### broker + +MQTT broker hostname. Default value is "iot.eclipse.org". + +#### port + +MQTT broker port. Default value is 1883. + +#### keepalive + +MQTT protocol keepalive time. Default value is 60 seconds. + +#### qos + +MQTT protocol quality of service (QoS) parameter, acceptable values are 0, 1, or 2. +Default value is 0. See "Quality of Service" in [https://mosquitto.org/man/mqtt-7.html](https://mosquitto.org/man/mqtt-7.html) +for a description of the QoS settings. + +#### retain + +MQTT protocol message retain parameter, acceptable values are "true" and "false" (case-insensitive). +Default value is "true". See "Retained Messages" in [https://mosquitto.org/man/mqtt-7.html](https://mosquitto.org/man/mqtt-7.html) +for a description of the message retention mechanism. + +#### username + +MQTT broker username string if required. Default value is none. + +#### password + +MQTT broker password string if required. Default value is none, and only relevant in conjunction +with the username parameter. + +### Event + +Event configuration consists of the following parameters in the "[Event]" section: +* update_period + +#### update_period + +The period in seconds for sending messages to the MQTT broker, acceptable values are 0 or higher. +A value of 0 means send a message to the broker for every CAN event that comes in. The default value is 10. -- cgit 1.2.3-korg