From 3cc0efb53378f96f2fd8860888a4f4dc5563aa26 Mon Sep 17 00:00:00 2001 From: Paul K Bourelly Date: Wed, 23 Jun 2021 20:43:06 -0400 Subject: [PATCH] Issue-205: Fix MessageLoggerPlugin logfile generation + Fix Plugin Version Numbers + Removed unneccesary configuration parameters + Updated localhost.sql --- configuration/amd64/mysql/localhost.sql | 37 +++++------ configuration/arm64/mysql/localhost.sql | 51 ++++++++------- src/v2i-hub/CARMACloudPlugin/manifest.json | 2 +- src/v2i-hub/MessageLoggerPlugin/manifest.json | 19 ++---- .../src/MessageLoggerPlugin.cpp | 64 ++++++++++--------- .../src/MessageLoggerPlugin.h | 6 +- .../MobilityOperationPlugin/manifest.json | 2 +- src/v2i-hub/ODELoggerPlugin/manifest.json | 2 +- src/v2i-hub/SPaTLoggerPlugin/manifest.json | 10 +-- .../SPaTLoggerPlugin/src/SPaTLoggerPlugin.cpp | 25 ++++---- 10 files changed, 111 insertions(+), 107 deletions(-) diff --git a/configuration/amd64/mysql/localhost.sql b/configuration/amd64/mysql/localhost.sql index c71fd6e66..0430a75cf 100644 --- a/configuration/amd64/mysql/localhost.sql +++ b/configuration/amd64/mysql/localhost.sql @@ -16,11 +16,16 @@ /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; -- --- Table structure for table `eventLog` +-- Current Database: `IVP` -- + CREATE DATABASE /*!32312 IF NOT EXISTS*/ `IVP` /*!40100 DEFAULT CHARACTER SET latin1 */; -USE `IVP`; +USE `IVP`; + +-- +-- Table structure for table `eventLog` +-- DROP TABLE IF EXISTS `eventLog`; /*!40101 SET @saved_cs_client = @@character_set_client */; @@ -33,7 +38,7 @@ CREATE TABLE `eventLog` ( `logLevel` enum('Debug','Info','Warning','Error','Fatal') NOT NULL COMMENT 'The type of event being logged, one of - Debug - Info - Warn - Error', `uploaded` tinyint(1) NOT NULL DEFAULT '0', PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=latin1 COMMENT='This table records events generated by every IVP core component and plugin in the IVP platform. '; +) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='This table records events generated by every IVP core component and plugin in the IVP platform. '; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -42,7 +47,6 @@ CREATE TABLE `eventLog` ( LOCK TABLES `eventLog` WRITE; /*!40000 ALTER TABLE `eventLog` DISABLE KEYS */; -INSERT INTO `eventLog` VALUES (1,'------------------------','--------','2020-03-20 14:07:30','Debug',0),(2,'IVP Core Starting','Ivp Core','2020-03-20 14:07:30','Info',0),(3,'Plugin registered','ivpcore.PluginMonitor','2020-03-20 14:07:31','Info',0),(4,'Plugin registered','ivpcore.MessageProfiler','2020-03-20 14:07:32','Info',0),(5,'Plugin registered','ivpcore.HistoryManager','2020-03-20 14:07:32','Info',0),(6,'Plugin registered','CommandPlugin','2020-03-20 14:07:48','Info',0),(7,'Plugin \'CommandPlugin\' (id: 1) startup time: 207 milliseconds','ivpcore.PluginMonitor','2020-03-20 14:07:52','Info',0),(8,'------------------------','--------','2020-03-25 13:00:46','Debug',0),(9,'IVP Core Starting','Ivp Core','2020-03-25 13:00:46','Info',0),(10,'Plugin registered','ivpcore.PluginMonitor','2020-03-25 13:00:47','Info',0),(11,'Plugin registered','ivpcore.MessageProfiler','2020-03-25 13:00:47','Info',0),(12,'Plugin registered','ivpcore.HistoryManager','2020-03-25 13:00:47','Info',0),(13,'Plugin registered','CommandPlugin','2020-03-25 13:01:04','Info',0),(14,'Plugin \'CommandPlugin\' (id: 1) startup time: 1073 milliseconds','ivpcore.PluginMonitor','2020-03-25 13:01:08','Info',0); /*!40000 ALTER TABLE `eventLog` ENABLE KEYS */; UNLOCK TABLES; @@ -74,7 +78,7 @@ CREATE TABLE `installedPlugin` ( LOCK TABLES `installedPlugin` WRITE; /*!40000 ALTER TABLE `installedPlugin` DISABLE KEYS */; -INSERT INTO `installedPlugin` VALUES (1,1,'/var/www/plugins/CommandPlugin','/bin/CommandPlugin','manifest.json','',1,500000),(2,2,'/var/www/plugins/CswPlugin','/bin/CswPlugin','manifest.json','',0,500000),(3,3,'/var/www/plugins/DmsPlugin','/bin/DmsPlugin','manifest.json','',0,500000),(4,4,'/var/www/plugins/DsrcImmediateForwardPlugin','/bin/DsrcImmediateForwardPlugin','manifest.json','',0,500000),(5,5,'/var/www/plugins/LocationPlugin','/bin/LocationPlugin','manifest.json','',0,500000),(6,6,'/var/www/plugins/MapPlugin','/bin/MapPlugin','manifest.json','',0,500000),(7,7,'/var/www/plugins/MessageReceiverPlugin','/bin/MessageReceiverPlugin','manifest.json','',0,500000),(8,8,'/var/www/plugins/ODEPlugin','/bin/ODEPlugin','manifest.json','',0,500000),(9,9,'/var/www/plugins/RtcmPlugin','/bin/RtcmPlugin','manifest.json','',0,500000),(10,10,'/var/www/plugins/SpatPlugin','/bin/SpatPlugin','manifest.json','',0,500000),(11,11,'/var/www/plugins/PreemptionPlugin','/bin/PreemptionPlugin','manifest.json','',0,500000),(12,12,'/var/www/plugins/SPaTLoggerPlugin','/bin/SPaTLoggerPlugin','manifest.json','',0,500000),(13,19,'/var/www/plugins/MessageLoggerPlugin','/bin/MessageLoggerPlugin','manifest.json','',0,500000),(14,14,'/var/www/plugins/PedestrianPlugin','/bin/PedestrianPlugin','manifest.json','',0,500000),(15,15,'/var/www/plugins/TimPlugin','/bin/TimPlugin','manifest.json','',0,500000),(16,20,'/var/www/plugins/CARMACloudPlugin','/bin/CARMACloudPlugin','manifest.json','',0,500000),(17,21,'/var/www/plugins/MobilityOperationPlugin','/bin/MobilityOperationPlugin','manifest.json','',0,500000),(18,22,'/var/www/plugins/ODELoggerPlugin','/bin/ODELoggerPlugin','manifest.json','',0,500000); +INSERT INTO `installedPlugin` VALUES (1,1,'/var/www/plugins/CommandPlugin','/bin/CommandPlugin','manifest.json','',0,500000),(2,2,'/var/www/plugins/CswPlugin','/bin/CswPlugin','manifest.json','',0,500000),(3,3,'/var/www/plugins/DmsPlugin','/bin/DmsPlugin','manifest.json','',0,500000),(4,4,'/var/www/plugins/DsrcImmediateForwardPlugin','/bin/DsrcImmediateForwardPlugin','manifest.json','',0,500000),(5,5,'/var/www/plugins/LocationPlugin','/bin/LocationPlugin','manifest.json','',0,500000),(6,6,'/var/www/plugins/MapPlugin','/bin/MapPlugin','manifest.json','',0,500000),(7,7,'/var/www/plugins/MessageReceiverPlugin','/bin/MessageReceiverPlugin','manifest.json','',0,500000),(8,8,'/var/www/plugins/ODEPlugin','/bin/ODEPlugin','manifest.json','',0,500000),(9,9,'/var/www/plugins/RtcmPlugin','/bin/RtcmPlugin','manifest.json','',0,500000),(10,10,'/var/www/plugins/SpatPlugin','/bin/SpatPlugin','manifest.json','',0,500000),(11,11,'/var/www/plugins/PreemptionPlugin','/bin/PreemptionPlugin','manifest.json','',0,500000),(12,12,'/var/www/plugins/SPaTLoggerPlugin','/bin/SPaTLoggerPlugin','manifest.json','',0,500000),(13,13,'/var/www/plugins/MessageLoggerPlugin','/bin/MessageLoggerPlugin','manifest.json','',0,500000),(14,14,'/var/www/plugins/PedestrianPlugin','/bin/PedestrianPlugin','manifest.json','',0,500000),(15,15,'/var/www/plugins/TimPlugin','/bin/TimPlugin','manifest.json','',0,500000),(16,16,'/var/www/plugins/CARMACloudPlugin','/bin/CARMACloudPlugin','manifest.json','',0,500000),(17,17,'/var/www/plugins/MobilityOperationPlugin','/bin/MobilityOperationPlugin','manifest.json','',0,500000),(18,18,'/var/www/plugins/ODELoggerPlugin','/bin/ODELoggerPlugin','manifest.json','',0,500000); /*!40000 ALTER TABLE `installedPlugin` ENABLE KEYS */; UNLOCK TABLES; @@ -98,7 +102,7 @@ CREATE TABLE `messageActivity` ( KEY `pluginId` (`pluginId`), CONSTRAINT `messageActivity_ibfk_1` FOREIGN KEY (`messageTypeId`) REFERENCES `messageType` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `messageActivity_ibfk_2` FOREIGN KEY (`pluginId`) REFERENCES `plugin` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1 COMMENT='This table records the most recent message activity of each active plugin in the IVP system. The data in this table is updated by the IVP plugin monitor core component for every message the plugin monitor receives.'; +) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='This table records the most recent message activity of each active plugin in the IVP system. The data in this table is updated by the IVP plugin monitor core component for every message the plugin monitor receives.'; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -107,7 +111,6 @@ CREATE TABLE `messageActivity` ( LOCK TABLES `messageActivity` WRITE; /*!40000 ALTER TABLE `messageActivity` DISABLE KEYS */; -INSERT INTO `messageActivity` VALUES (1,15,1,1,'2020-03-25 13:01:13',0); /*!40000 ALTER TABLE `messageActivity` ENABLE KEYS */; UNLOCK TABLES; @@ -152,7 +155,7 @@ CREATE TABLE `plugin` ( `version` text, PRIMARY KEY (`id`), UNIQUE KEY `name` (`name`) -) ENGINE=InnoDB AUTO_INCREMENT=23 DEFAULT CHARSET=latin1 COMMENT='This table lists the plugins loaded and available to run on the IVP platform.'; +) ENGINE=InnoDB AUTO_INCREMENT=19 DEFAULT CHARSET=latin1 COMMENT='This table lists the plugins loaded and available to run on the IVP platform.'; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -161,7 +164,7 @@ CREATE TABLE `plugin` ( LOCK TABLES `plugin` WRITE; /*!40000 ALTER TABLE `plugin` DISABLE KEYS */; -INSERT INTO `plugin` VALUES (0,'Plugin System','The global configuration for all TMX plugins','4.0'),(1,'CommandPlugin','Listens for websocket connections from the TMX admin portal and processes commands','5.0'),(2,'CSW','Provides Curve Speed Warning (CSW).','5.0'),(3,'DynamicMessageSign','Provides communication to a dynamic message sign.','5.0'),(4,'DSRCMessageManager','Plugin that listens for TMX messages and forwards them to the DSRC Radio (i.e. the RSU).','5.0'),(5,'Location','Plugin used to send out Location Messages using data from GPSD','5.0'),(6,'MAP','Plugin that reads intersection geometry from a configuration file and publishes a J2735 MAP message.','5.0'),(7,'MessageReceiver','Plugin to receive messages from an external DSRC radio or other source','5.0'),(8,'ODEPlugin','Plugin to forward messages to the Florida ODEPlugin network','5.0'),(9,'RTCM','Plugin to listen for RTCM messages from an NTRIP caster and route those messages over DSRC','5.0'),(10,'SPAT','Plugin that reads PTLM data from a configuration file, receives live data from the signal controller, and publishes a J2735 SPAT message.','5.0'),(11,'Preemption','Preemption plugin for the IVP system.','5.0'),(12,'SPaTLoggerPlugin','Listens for SPaT messages and logs them in a file in CSV format.','5.0'),(13,'BsmLoggerPlugin','Listens for BSM messages and logs them in a file in CSV format.','5.0'),(14,'Pedestrian','Pedestrian plugin for the IVP system.','5.0'),(15,'TIM','Provides Traveller Information Message (TIM).','5.0'),(16,'ivpcore.PluginMonitor','Core element that is responsible for starting/stopping installed plugins and monitoring the status of the plugins','3.2.0'),(17,'ivpcore.MessageProfiler','Core element that is responsible for profiling the statistics of received messages','3.2.0'),(18,'ivpcore.HistoryManager','Core element that is responsible for purging old log and history data','3.2.0'),(19,'MessageLoggerPlugin','Listens for J2735 messages and logs them in a file in JSON format.','5.0'),(20,'CARMACloud','CARMA cloud plugin for making websocket connection with CARMA cloud .','3.0.0'),(21,'MobilityOperationPlugin','...','5.0'),(22,'ODELoggerPlugin','Listens for J2735 messages and realtime forwards them to ODE.','5.0'); +INSERT INTO `plugin` VALUES (1,'CommandPlugin','Listens for websocket connections from the TMX admin portal and processes commands','5.0'),(2,'CSW','Provides Curve Speed Warning (CSW).','5.0'),(3,'DynamicMessageSign','Provides communication to a dynamic message sign.','5.0'),(4,'DSRCMessageManager','Plugin that listens for TMX messages and forwards them to the DSRC Radio (i.e. the RSU).','5.0'),(5,'Location','Plugin used to send out Location Messages using data from GPSD','5.0'),(6,'MAP','Plugin that reads intersection geometry from a configuration file and publishes a J2735 MAP message.','5.0'),(7,'MessageReceiver','Plugin to receive messages from an external DSRC radio or other source','5.0'),(8,'ODEPlugin','Plugin to forward messages to the Florida ODEPlugin network','5.0'),(9,'RTCM','Plugin to listen for RTCM messages from an NTRIP caster and route those messages over DSRC','5.0'),(10,'SPAT','Plugin that reads PTLM data from a configuration file, receives live data from the signal controller, and publishes a J2735 SPAT message.','5.0'),(11,'Preemption','Preemption plugin for the IVP system.','5.0'),(12,'SPaTLoggerPlugin','Listens for SPaT messages and logs them in a file in CSV format.','5.0'),(13,'MessageLoggerPlugin','Listens for J2735 messages and logs them in a file in JSON format.','5.0'),(14,'Pedestrian','Pedestrian plugin for the IVP system.','5.0'),(15,'TIM','Provides Traveller Information Message (TIM).','5.0'),(16,'CARMACloud','CARMA cloud plugin for making websocket connection with CARMA cloud .','5.0'),(17,'MobilityOperationPlugin','In development','5.0'),(18,'ODELoggerPlugin','Listens for J2735 messages and realtime forwards them to ODE.','5.0'); /*!40000 ALTER TABLE `plugin` ENABLE KEYS */; UNLOCK TABLES; @@ -214,7 +217,7 @@ CREATE TABLE `pluginConfigurationParameter` ( UNIQUE KEY `pluginId_key` (`pluginId`,`key`), KEY `pluginId` (`pluginId`), CONSTRAINT `pluginConfigurationParameter_ibfk_1` FOREIGN KEY (`pluginId`) REFERENCES `plugin` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=106 DEFAULT CHARSET=latin1 COMMENT='This table lists the IVP system configuration parameters used by both core components and plugins to control the behavior of the system.'; +) ENGINE=InnoDB AUTO_INCREMENT=95 DEFAULT CHARSET=latin1 COMMENT='This table lists the IVP system configuration parameters used by both core components and plugins to control the behavior of the system.'; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -223,7 +226,7 @@ CREATE TABLE `pluginConfigurationParameter` ( LOCK TABLES `pluginConfigurationParameter` WRITE; /*!40000 ALTER TABLE `pluginConfigurationParameter` DISABLE KEYS */; -INSERT INTO `pluginConfigurationParameter` VALUES (1,1,'SleepMS','100','100','The length of milliseconds to sleep between processing all messages.'),(2,1,'SSLEnabled','true','true','Enable secure connection using SSL.'),(3,1,'SSLPath','/var/www/plugins/.ssl','/var/www/plugins/.ssl','The path to the directory containing the SSL key and certificate files.'),(4,1,'EventRowLimit','50','50','The maximum number of rows returned for the initial Event Log query.'),(5,1,'DownloadPath','/var/www/download','/var/www/download','The path to the directory where downloaded files will be saved.'),(6,1,'LogLevel','ERROR','ERROR','The log level for this plugin'),(7,2,'Frequency','1000','1000','The frequency to send the TIM in milliseconds.'),(8,2,'MapFile','IVP_GF_CSW.xml','IVP_GF_CSW.xml',''),(9,2,'Snap Interval','300','300','The interval in milliseconds to keep a vehicle within a zone before allowing it to transition out of all zones.'),(10,2,'Vehicle Timeout','2000','2000','Timeout in milliseconds when a vehicle is removed from all zones if a BSM has not been received.'),(11,3,'DMS IP Address','192.168.25.30','192.168.25.30','The IP address of the NTCIP Dynamic Message Sign.'),(12,3,'DMS Port','9090','9090','The port of the NTCIP Dynamic Message Sign.'),(13,3,'Enable DMS','True','True','If true all messages are sent to the Dynamic Message Sign using NTCIP 1203.'),(14,3,'Enable Sign Simulator','True','True','If true all messages are sent to the Sign Simulator using UDP.'),(15,3,'Force Message ID','-1','-1','Immediately activates the message ID specified, then resets back to -1.'),(16,3,'Message 01','','','The text to display on the sign for ID 01 with any formatting (see NTCIP 1203).'),(17,3,'Message 02','[jl3][pt15o0]25[np]MPH','[jl3][pt15o0]25[np]MPH','The text to display on the sign for ID 02 with any formatting (see NTCIP 1203).'),(18,3,'Message 03','[jl3][pt15o0]SLOW[np]DOWN','[jl3][pt15o0]SLOW[np]DOWN','The text to display on the sign for ID 03 with any formatting (see NTCIP 1203).'),(19,3,'Message 04','[jl3][pt15o0]CRVE[np]AHED','[jl3][pt15o0]CRVE[np]AHED','The text to display on the sign for ID 04 with any formatting (see NTCIP 1203).'),(20,3,'Sign Sim IP Address','192.168.25.31','192.168.25.31','The IP address of the Sign Simulator that is the receipient of UDP messages.'),(21,3,'Sign Sim Port','9090','9090','The UDP port of the Sign Simulator that is the receipient of UDP messages.'),(22,4,'Messages_Destination_1','{ \"Messages\": [ { \"TmxType\": \"SPAT-P\", \"SendType\": \"SPAT\", \"PSID\": \"0x8002\" }, { \"TmxType\": \"MAP-P\", \"SendType\": \"MAP\", \"PSID\": \"0x8002\" }, { \"TmxType\": \"PSM\", \"SendType\": \"PSM\", \"PSID\": \"0x8002\" } ] }','{ \"Messages\": [ { \"TmxType\": \"SPAT-P\", \"SendType\": \"SPAT\", \"PSID\": \"0x8002\" }, { \"TmxType\": \"MAP-P\", \"SendType\": \"MAP\", \"PSID\": \"0x8002\" }, { \"TmxType\": \"PSM\", \"SendType\": \"PSM\", \"PSID\": \"0x8002\" } ] }','JSON data defining the message types and PSIDs for messages forwarded to the DSRC radio at destination 1.'),(23,4,'Messages_Destination_2','{ \"Messages\": [ ] }','{ \"Messages\": [ ] }','JSON data defining the message types and PSIDs for messages forwarded to the DSRC radio at destination 2.'),(24,4,'Messages_Destination_3','{ \"Messages\": [ ] }','{ \"Messages\": [ ] }','JSON data defining the message types and PSIDs for messages forwarded to the DSRC radio at destination 3.'),(25,4,'Messages_Destination_4','{ \"Messages\": [ ] }','{ \"Messages\": [ ] }','JSON data defining the message types and PSIDs for messages forwarded to the DSRC radio at destination 4.'),(26,4,'Destination_1',':',':','The destination UDP server(s) and port number(s) on the DSRC radio for all messages specified by Messages_Destination_1.'),(27,4,'Destination_2','0','0','The destination UDP server(s) and port number(s) on the DSRC radio for all messages specified by Messages_Destination_2.'),(28,4,'Destination_3','0','0','The destination UDP server(s) and port number(s) on the DSRC radio for all messages specified by Messages_Destination_3.'),(29,4,'Destination_4','0','0','The destination UDP server(s) and port number(s) on the DSRC radio for all messages specified by Messages_Destination_4.'),(30,4,'Signature','False','False','True or False value indicating whether to sign the messages.'),(31,5,'Frequency','500','500','Rate to send Location Message in milliseconds'),(32,5,'LatchHeadingSpeed','2.5','2.5','Speed at which the heading parameter should be latched, in mph. Set to 0 to disable latching.'),(33,5,'GPSSource','localhost','localhost','Host where the GPSd is running'),(34,5,'SendRawNMEA','true','true','Route the raw NMEA strings from GPSd through TMX'),(35,6,'Frequency','1000','1000','The frequency to send the MAP message in milliseconds.'),(36,6,'MAP_Files','{ \"MapFiles\": [\n {\"Action\":0, \"FilePath\":\"GID_Telegraph-Twelve_Mile_withEgress.xml\"}\n] }','{ \"MapFiles\": [\n {\"Action\":0, \"FilePath\":\"GID_Telegraph-Twelve_Mile_withEgress.xml\"}\n] }','JSON data defining a list of map files. One map file for each action set specified by the TSC.'),(37,7,'IP','127.0.0.1','127.0.0.1','IP address for the incoming message network connection.'),(38,7,'Port','26789','26789','Port for the incoming message network connection.'),(39,7,'RouteDSRC','false','false','Set the flag to route a received J2735 message over DSRC.'),(40,7,'EnableSimulatedBSM','true','true','Accept and route incoming BSM messages from a V2I Hub simulator.'),(41,7,'EnableSimulatedSRM','true','true','Accept and route incoming SRM messages from a V2I Hub simulator.'),(42,7,'EnableSimulatedLocation','true','true','Accept and route incoming GPS location messages from a V2I Hub simulator.'),(43,8,'ODEIP','127.0.0.1','127.0.0.1','IP address for the ODE network connection.'),(44,8,'ODEPort','26789','26789','Port for the ODE network connection.'),(45,9,'Endpoint IP','156.63.133.118','156.63.133.118','NTRIP caster endpoint IP address'),(46,9,'Endpoint Port','2101','2101','NTRIP caster endpoint port'),(47,9,'Username','username','username','NTRIP caster authentication username'),(48,9,'Password','password','password','NTRIP caster authentication password'),(49,9,'Mountpoint','ODOT_RTCM23','ODOT_RTCM23','NTRIP caster mountpoint'),(50,9,'RTCM Version','Unknown','Unknown','Specify the expected RTCM message version (2.3 or 3.3) coming from the caster. Use Unknown to auto detect the version, which is done using trial and error, thus may be slow.'),(51,9,'Route RTCM','false','false','Route the RTCM messages created from NTRIP internally for use by other plugins.'),(52,10,'Intersection_Id','1','1','The intersection id for SPAT generated by this plugin.'),(53,10,'Intersection_Name','Intersection','Intersection','The intersection name for SPAT generated by this plugin.'),(54,10,'SignalGroupMapping','{\"SignalGroups\":[{\"SignalGroupId\":1,\"Phase\":1,\"Type\":\"vehicle\"},{\"SignalGroupId\":2,\"Phase\":2,\"Type\":\"vehicle\"},{\"SignalGroupId\":3,\"Phase\":3,\"Type\":\"vehicle\"},{\"SignalGroupId\":4,\"Phase\":4,\"Type\":\"vehicle\"},{\"SignalGroupId\":5,\"Phase\":5,\"Type\":\"vehicle\"},{\"SignalGroupId\":6,\"Phase\":6,\"Type\":\"vehicle\"},{\"SignalGroupId\":7,\"Phase\":7,\"Type\":\"vehicle\"},{\"SignalGroupId\":8,\"Phase\":8,\"Type\":\"vehicle\"},{\"SignalGroupId\":22,\"Phase\":2,\"Type\":\"pedestrian\"},{\"SignalGroupId\":24,\"Phase\":4,\"Type\":\"pedestrian\"},{\"SignalGroupId\":26,\"Phase\":6,\"Type\":\"pedestrian\"},{\"SignalGroupId\":28,\"Phase\":8,\"Type\":\"pedestrian\"}]}','{\"SignalGroups\":[{\"SignalGroupId\":1,\"Phase\":1,\"Type\":\"vehicle\"},{\"SignalGroupId\":2,\"Phase\":2,\"Type\":\"vehicle\"},{\"SignalGroupId\":3,\"Phase\":3,\"Type\":\"vehicle\"},{\"SignalGroupId\":4,\"Phase\":4,\"Type\":\"vehicle\"},{\"SignalGroupId\":5,\"Phase\":5,\"Type\":\"vehicle\"},{\"SignalGroupId\":6,\"Phase\":6,\"Type\":\"vehicle\"},{\"SignalGroupId\":7,\"Phase\":7,\"Type\":\"vehicle\"},{\"SignalGroupId\":8,\"Phase\":8,\"Type\":\"vehicle\"},{\"SignalGroupId\":22,\"Phase\":2,\"Type\":\"pedestrian\"},{\"SignalGroupId\":24,\"Phase\":4,\"Type\":\"pedestrian\"},{\"SignalGroupId\":26,\"Phase\":6,\"Type\":\"pedestrian\"},{\"SignalGroupId\":28,\"Phase\":8,\"Type\":\"pedestrian\"}]}','JSON data defining a list of SignalGroups and phases.'),(55,10,'Local_IP','','','The IPv4 address of the local computer for receiving Traffic Signal Controller Broadcast Messages.'),(56,10,'Local_UDP_Port','local port','local port','The local UDP port for reception of Traffic Signal Controller Broadcast Messages from the TSC.'),(57,10,'TSC_IP','','','The IPv4 address of the destination Traffic Signal Controller (TSC).'),(58,10,'TSC_Remote_SNMP_Port','','','The destination port on the Traffic Signal Controller (TSC) for SNMP NTCIP communication.'),(59,11,'Instance','0','0','The instance of Preemption plugin.'),(60,11,'BasePreemptionOid','.1.3.6.1.4.1.1206.4.2.1.6.3.1.2.','.1.3.6.1.4.1.1206.4.2.1.6.3.1.2.','The BasePreemptionOid of Preemption plugin.'),(61,11,'ipwithport',':',':','The ipwithport of Preemption plugin.'),(62,11,'snmp_community','public','public','The snmp_community of Preemption plugin.'),(63,11,'map_path','/geo.json','/geo.json','The map_path for Preemption plugin.'),(64,11,'allowedList','{\"validVehicles\":[\"292710445\",\"123456789\",\"2345678\"]}','{\"validVehicles\":[\"292710445\",\"123456789\",\"2345678\"]}','List of vehicles BSM id that are allowed'),(65,12,'File Size In MB','100','100','Maximum size of the SPaT log file in mb.'),(66,12,'File Location','/var/log/tmx','/var/log/tmx','The location where the log files are stored.'),(67,12,'Filename','SPaTLog','SPaTLog','Default name of the SPaT log file.'),(68,13,'File Size In MB','100','100','Maximum size of the BSM log file in mb.'),(69,13,'File Location','/var/log/tmx','/var/log/tmx','The location where the log files are stored.'),(70,13,'Filename','BSMLog','BSMLog','Default name of the BSM log file.'),(71,14,'Frequency','1000','1000','The frequency to send the PSM in milliseconds.'),(72,14,'Instance','0','0','The instance of Pedestrian plugin.'),(73,14,'WebServiceIP','127.0.0.1','127.0.0.1','IP address at which the web service exists'),(74,14,'WebServicePort','9000','9000','Port at which Web service exists'),(75,15,'Frequency','1000','1000','The frequency to send the TIM in milliseconds.'),(76,15,'MapFile','/var/www/plugins/MAP/IVP_GF_TIM.xml','/var/www/plugins/MAP/IVP_GF_TIM.xml',''),(77,15,'Start_Broadcast_Date','01-01-2019','01-01-2019','The Start Broadcast Date for the TIM message in the (mm-dd-YYYY) format.'),(78,15,'Stop_Broadcast_Date','12-31-2020','12-31-2020','The Stop Broadcast Date for the TIM message in the (mm-dd-YYYY) format.'),(79,15,'Start_Broadcast_Time','06:00:00','06:00:00','The Start Broadcast Time for the TIM message in the (HH:MM:SS) format.'),(80,15,'Stop_Broadcast_Time','21:00:00','21:00:00','The Start Broadcast Time for the TIM message in the (HH:MM:SS) format.'),(81,15,'WebServiceIP','127.0.0.1','127.0.0.1','IP address at which the web service exists'),(82,15,'WebServicePort','10000','10000','Port at which Web service exists'),(83,16,'Startup Delay (ms)','10000','10000','Delay in milliseconds before starting any plugins.'),(84,16,'Monitor Check Interval (ms)','5000','5000','Delay in milliseconds between monitor checks.'),(85,16,'Max Startup Time (ms)','15000','15000','Maximum allowed startup time of a plugin before it is rebooted.'),(86,17,'Database Refresh Interval (ms)','2000','2000','The interval (in milliseconds) between uploads of message statistics to the database.'),(87,17,'Message Averaging Window (ms)','20000','20000','The averaging window (in milliseconds) that the profiler measures average interval.'),(88,18,'Purge Intervals (sec)','120','120','Interval between purges of history items'),(89,18,'Max Event Log Size','2000','2000','Maximum number of event log entries to keep. A value of zero will result in no purging of event log entries'),(90,19,'File Size In MB','100','100','Maximum size of the BSM log file in mb.'),(91,19,'File Location','/var/log/tmx','/var/log/tmx','The location where the log files are stored.'),(92,19,'Messagetype','BSM','BSM','The types of messages to be logged.'),(93,19,'Filename','BSMLog','BSMLog','Default name of the BSM log file.'),(94,20,'Frequency','1000','1000','The frequency to send the TIM in milliseconds.'),(95,20,'Instance','0','0','The instance of this plugin.'),(96,20,'WebServiceIP','127.0.0.1','127.0.0.1','Server IP address for V2X hub'),(97,20,'WebServicePort','22222','22222','Server Port for V2X hub'),(98,21,'...','...','...','...'),(99,22,'instance','1','1','instance of the application'),(100,22,'schedule_frequency','1','1','sample of incoming messages to forward, 1 = forwards every message'),(101,22,'ForwardMSG','1','1','Enable Forwarding of BSM'),(102,22,'BSMKafkaTopic','topic.OdeRawEncodedBSMJson','topic.OdeRawEncodedBSMJson','(Cond: ForwardMSG == True) Topic to use for forwarding BSM'),(103,22,'SPaTKafkaTopic','topic.OdeRawEncodedSPATJson','topic.OdeRawEncodedSPATJson','(Cond: ForwardMSG == True) Topic to use for forwarding BSM'),(104,22,'KafkaBrokerIp','172.31.55.238','172.31.55.238','IP address to be used for KAFKA broker'),(105,22,'KafkaBrokerPort','9092','9092','Port number to be used for KAFKA broker'); +INSERT INTO `pluginConfigurationParameter` VALUES (1,1,'SleepMS','100','100','The length of milliseconds to sleep between processing all messages.'),(2,1,'SSLEnabled','true','true','Enable secure connection using SSL.'),(3,1,'SSLPath','/var/www/plugins/.ssl','/var/www/plugins/.ssl','The path to the directory containing the SSL key and certificate files.'),(4,1,'EventRowLimit','50','50','The maximum number of rows returned for the initial Event Log query.'),(5,1,'DownloadPath','/var/www/download','/var/www/download','The path to the directory where downloaded files will be saved.'),(6,1,'LogLevel','ERROR','ERROR','The log level for this plugin'),(7,2,'Frequency','1000','1000','The frequency to send the TIM in milliseconds.'),(8,2,'MapFile','IVP_GF_CSW.xml','IVP_GF_CSW.xml',''),(9,2,'Snap Interval','300','300','The interval in milliseconds to keep a vehicle within a zone before allowing it to transition out of all zones.'),(10,2,'Vehicle Timeout','2000','2000','Timeout in milliseconds when a vehicle is removed from all zones if a BSM has not been received.'),(11,3,'DMS IP Address','192.168.25.30','192.168.25.30','The IP address of the NTCIP Dynamic Message Sign.'),(12,3,'DMS Port','9090','9090','The port of the NTCIP Dynamic Message Sign.'),(13,3,'Enable DMS','True','True','If true all messages are sent to the Dynamic Message Sign using NTCIP 1203.'),(14,3,'Enable Sign Simulator','True','True','If true all messages are sent to the Sign Simulator using UDP.'),(15,3,'Force Message ID','-1','-1','Immediately activates the message ID specified, then resets back to -1.'),(16,3,'Message 01','','','The text to display on the sign for ID 01 with any formatting (see NTCIP 1203).'),(17,3,'Message 02','[jl3][pt15o0]25[np]MPH','[jl3][pt15o0]25[np]MPH','The text to display on the sign for ID 02 with any formatting (see NTCIP 1203).'),(18,3,'Message 03','[jl3][pt15o0]SLOW[np]DOWN','[jl3][pt15o0]SLOW[np]DOWN','The text to display on the sign for ID 03 with any formatting (see NTCIP 1203).'),(19,3,'Message 04','[jl3][pt15o0]CRVE[np]AHED','[jl3][pt15o0]CRVE[np]AHED','The text to display on the sign for ID 04 with any formatting (see NTCIP 1203).'),(20,3,'Sign Sim IP Address','192.168.25.31','192.168.25.31','The IP address of the Sign Simulator that is the receipient of UDP messages.'),(21,3,'Sign Sim Port','9090','9090','The UDP port of the Sign Simulator that is the receipient of UDP messages.'),(22,4,'Messages_Destination_1','{ \"Messages\": [ { \"TmxType\": \"SPAT-P\", \"SendType\": \"SPAT\", \"PSID\": \"0x8002\" }, { \"TmxType\": \"MAP-P\", \"SendType\": \"MAP\", \"PSID\": \"0x8002\" }, { \"TmxType\": \"PSM\", \"SendType\": \"PSM\", \"PSID\": \"0x8002\" } ,{ \"TmxType\": \"TMSG07\", \"SendType\": \"TMSG07\", \"PSID\": \"0x8002\" }] }','{ \"Messages\": [ { \"TmxType\": \"SPAT-P\", \"SendType\": \"SPAT\", \"PSID\": \"0x8002\" }, { \"TmxType\": \"MAP-P\", \"SendType\": \"MAP\", \"PSID\": \"0x8002\" }, { \"TmxType\": \"PSM\", \"SendType\": \"PSM\", \"PSID\": \"0x8002\" } ,{ \"TmxType\": \"TMSG07\", \"SendType\": \"TMSG07\", \"PSID\": \"0x8002\" }] }','JSON data defining the message types and PSIDs for messages forwarded to the DSRC radio at destination 1.'),(23,4,'Messages_Destination_2','{ \"Messages\": [ ] }','{ \"Messages\": [ ] }','JSON data defining the message types and PSIDs for messages forwarded to the DSRC radio at destination 2.'),(24,4,'Messages_Destination_3','{ \"Messages\": [ ] }','{ \"Messages\": [ ] }','JSON data defining the message types and PSIDs for messages forwarded to the DSRC radio at destination 3.'),(25,4,'Messages_Destination_4','{ \"Messages\": [ ] }','{ \"Messages\": [ ] }','JSON data defining the message types and PSIDs for messages forwarded to the DSRC radio at destination 4.'),(26,4,'Destination_1','127.0.0.1:1516','127.0.0.1:1516','The destination UDP server(s) and port number(s) on the DSRC radio for all messages specified by Messages_Destination_1.'),(27,4,'Destination_2','0','0','The destination UDP server(s) and port number(s) on the DSRC radio for all messages specified by Messages_Destination_2.'),(28,4,'Destination_3','0','0','The destination UDP server(s) and port number(s) on the DSRC radio for all messages specified by Messages_Destination_3.'),(29,4,'Destination_4','0','0','The destination UDP server(s) and port number(s) on the DSRC radio for all messages specified by Messages_Destination_4.'),(30,4,'Signature','False','False','True or False value indicating whether to sign the messages.'),(31,5,'Frequency','500','500','Rate to send Location Message in milliseconds'),(32,5,'LatchHeadingSpeed','2.5','2.5','Speed at which the heading parameter should be latched, in mph. Set to 0 to disable latching.'),(33,5,'GPSSource','localhost','localhost','Host where the GPSd is running'),(34,5,'SendRawNMEA','true','true','Route the raw NMEA strings from GPSd through TMX'),(35,6,'Frequency','1000','1000','The frequency to send the MAP message in milliseconds.'),(36,6,'MAP_Files','{ \"MapFiles\": [\n {\"Action\":0, \"FilePath\":\"GID_Telegraph-Twelve_Mile_withEgress.xml\"}\n] }','{ \"MapFiles\": [\n {\"Action\":0, \"FilePath\":\"GID_Telegraph-Twelve_Mile_withEgress.xml\"}\n] }','JSON data defining a list of map files. One map file for each action set specified by the TSC.'),(37,7,'IP','127.0.0.1','127.0.0.1','IP address for the incoming message network connection.'),(38,7,'Port','26789','26789','Port for the incoming message network connection.'),(39,7,'RouteDSRC','false','false','Set the flag to route a received J2735 message over DSRC.'),(40,7,'EnableSimulatedBSM','true','true','Accept and route incoming BSM messages from a V2I Hub simulator.'),(41,7,'EnableSimulatedSRM','true','true','Accept and route incoming SRM messages from a V2I Hub simulator.'),(42,7,'EnableSimulatedLocation','true','true','Accept and route incoming GPS location messages from a V2I Hub simulator.'),(43,8,'ODEIP','127.0.0.1','127.0.0.1','IP address for the ODE network connection.'),(44,8,'ODEPort','26789','26789','Port for the ODE network connection.'),(45,9,'Endpoint IP','156.63.133.118','156.63.133.118','NTRIP caster endpoint IP address'),(46,9,'Endpoint Port','2101','2101','NTRIP caster endpoint port'),(47,9,'Username','username','username','NTRIP caster authentication username'),(48,9,'Password','password','password','NTRIP caster authentication password'),(49,9,'Mountpoint','ODOT_RTCM23','ODOT_RTCM23','NTRIP caster mountpoint'),(50,9,'RTCM Version','Unknown','Unknown','Specify the expected RTCM message version (2.3 or 3.3) coming from the caster. Use Unknown to auto detect the version, which is done using trial and error, thus may be slow.'),(51,9,'Route RTCM','false','false','Route the RTCM messages created from NTRIP internally for use by other plugins.'),(52,10,'Intersection_Id','1','1','The intersection id for SPAT generated by this plugin.'),(53,10,'Intersection_Name','Intersection','Intersection','The intersection name for SPAT generated by this plugin.'),(54,10,'SignalGroupMapping','{\"SignalGroups\":[{\"SignalGroupId\":1,\"Phase\":1,\"Type\":\"vehicle\"},{\"SignalGroupId\":2,\"Phase\":2,\"Type\":\"vehicle\"},{\"SignalGroupId\":3,\"Phase\":3,\"Type\":\"vehicle\"},{\"SignalGroupId\":4,\"Phase\":4,\"Type\":\"vehicle\"},{\"SignalGroupId\":5,\"Phase\":5,\"Type\":\"vehicle\"},{\"SignalGroupId\":6,\"Phase\":6,\"Type\":\"vehicle\"},{\"SignalGroupId\":7,\"Phase\":7,\"Type\":\"vehicle\"},{\"SignalGroupId\":8,\"Phase\":8,\"Type\":\"vehicle\"},{\"SignalGroupId\":22,\"Phase\":2,\"Type\":\"pedestrian\"},{\"SignalGroupId\":24,\"Phase\":4,\"Type\":\"pedestrian\"},{\"SignalGroupId\":26,\"Phase\":6,\"Type\":\"pedestrian\"},{\"SignalGroupId\":28,\"Phase\":8,\"Type\":\"pedestrian\"}]}','{\"SignalGroups\":[{\"SignalGroupId\":1,\"Phase\":1,\"Type\":\"vehicle\"},{\"SignalGroupId\":2,\"Phase\":2,\"Type\":\"vehicle\"},{\"SignalGroupId\":3,\"Phase\":3,\"Type\":\"vehicle\"},{\"SignalGroupId\":4,\"Phase\":4,\"Type\":\"vehicle\"},{\"SignalGroupId\":5,\"Phase\":5,\"Type\":\"vehicle\"},{\"SignalGroupId\":6,\"Phase\":6,\"Type\":\"vehicle\"},{\"SignalGroupId\":7,\"Phase\":7,\"Type\":\"vehicle\"},{\"SignalGroupId\":8,\"Phase\":8,\"Type\":\"vehicle\"},{\"SignalGroupId\":22,\"Phase\":2,\"Type\":\"pedestrian\"},{\"SignalGroupId\":24,\"Phase\":4,\"Type\":\"pedestrian\"},{\"SignalGroupId\":26,\"Phase\":6,\"Type\":\"pedestrian\"},{\"SignalGroupId\":28,\"Phase\":8,\"Type\":\"pedestrian\"}]}','JSON data defining a list of SignalGroups and phases.'),(55,10,'Local_IP','','','The IPv4 address of the local computer for receiving Traffic Signal Controller Broadcast Messages.'),(56,10,'Local_UDP_Port','local port','local port','The local UDP port for reception of Traffic Signal Controller Broadcast Messages from the TSC.'),(57,10,'TSC_IP','','','The IPv4 address of the destination Traffic Signal Controller (TSC).'),(58,10,'TSC_Remote_SNMP_Port','','','The destination port on the Traffic Signal Controller (TSC) for SNMP NTCIP communication.'),(59,11,'Instance','0','0','The instance of Preemption plugin.'),(60,11,'BasePreemptionOid','.1.3.6.1.4.1.1206.4.2.1.6.3.1.2.','.1.3.6.1.4.1.1206.4.2.1.6.3.1.2.','The BasePreemptionOid of Preemption plugin.'),(61,11,'ipwithport',':',':','The ipwithport of Preemption plugin.'),(62,11,'snmp_community','public','public','The snmp_community of Preemption plugin.'),(63,11,'map_path','/geo.json','/geo.json','The map_path for Preemption plugin.'),(64,11,'allowedList','{\"validVehicles\":[\"292710445\",\"123456789\",\"2345678\"]}','{\"validVehicles\":[\"292710445\",\"123456789\",\"2345678\"]}','List of vehicles BSM id that are allowed'),(65,12,'File Size In MB','100','100','Maximum size of the SPaT log file in mb.'),(66,12,'Filename','spatTx','spatTx','Default name of the SPaT log file.'),(67,12,'File Location','/var/log/tmx','/var/log/tmx','The location where the log files are stored. DO NOT edit while using docker deployment of V2X-Hub!'),(68,13,'File Size In MB','100','100','Maximum size of the BSM log file in mb.'),(69,13,'Filename','bsmTx','bsmTx','Default name of the BSM log file.'),(70,13,'File Location','/var/log/tmx','/var/log/tmx','The location where the log files are stored. DO NOT edit while using docker deployment of V2X-Hub!'),(71,14,'Frequency','1000','1000','The frequency to send the PSM in milliseconds.'),(72,14,'Instance','0','0','The instance of Pedestrian plugin.'),(73,14,'WebServiceIP','127.0.0.1','127.0.0.1','IP address at which the web service exists'),(74,14,'WebServicePort','9000','9000','Port at which Web service exists'),(75,15,'Frequency','1000','1000','The frequency to send the TIM in milliseconds.'),(76,15,'MapFile','/var/www/plugins/MAP/IVP_GF_TIM.xml','/var/www/plugins/MAP/IVP_GF_TIM.xml',''),(77,15,'Start_Broadcast_Date','01-01-2019','01-01-2019','The Start Broadcast Date for the TIM message in the (mm-dd-YYYY) format.'),(78,15,'Stop_Broadcast_Date','12-31-2020','12-31-2020','The Stop Broadcast Date for the TIM message in the (mm-dd-YYYY) format.'),(79,15,'Start_Broadcast_Time','06:00:00','06:00:00','The Start Broadcast Time for the TIM message in the (HH:MM:SS) format.'),(80,15,'Stop_Broadcast_Time','21:00:00','21:00:00','The Start Broadcast Time for the TIM message in the (HH:MM:SS) format.'),(81,15,'WebServiceIP','127.0.0.1','127.0.0.1','IP address at which the web service exists'),(82,15,'WebServicePort','10000','10000','Port at which Web service exists'),(83,16,'Frequency','1000','1000','The frequency to send the TIM in milliseconds.'),(84,16,'Instance','0','0','The instance of this plugin.'),(85,16,'WebServiceIP','127.0.0.1','127.0.0.1','Server IP address for V2X hub'),(86,16,'WebServicePort','22222','22222','Server Port for V2X hub'),(87,17,'...','...','...','...'),(88,18,'instance','1','1','instance of the application'),(89,18,'schedule_frequency','1','1','sample of incoming messages to forward, 1 = forwards every message'),(90,18,'ForwardMSG','1','1','Enable Forwarding of BSM'),(91,18,'BSMKafkaTopic','topic.OdeRawEncodedBSMJson','topic.OdeRawEncodedBSMJson','(Cond: ForwardMSG == True) Topic to use for forwarding BSM'),(92,18,'SPaTKafkaTopic','topic.OdeRawEncodedSPATJson','topic.OdeRawEncodedSPATJson','(Cond: ForwardMSG == True) Topic to use for forwarding BSM'),(93,18,'KafkaBrokerIp','172.31.55.238','172.31.55.238','IP address to be used for KAFKA broker'),(94,18,'KafkaBrokerPort','9092','9092','Port number to be used for KAFKA broker'); /*!40000 ALTER TABLE `pluginConfigurationParameter` ENABLE KEYS */; UNLOCK TABLES; @@ -244,7 +247,7 @@ CREATE TABLE `pluginMessageMap` ( KEY `messageTypeId` (`messageTypeId`), CONSTRAINT `pluginMessageMap_ibfk_1` FOREIGN KEY (`pluginId`) REFERENCES `plugin` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `pluginMessageMap_ibfk_2` FOREIGN KEY (`messageTypeId`) REFERENCES `messageType` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1 COMMENT='This table identifies the types of messages generated by each plugin.'; +) ENGINE=InnoDB AUTO_INCREMENT=1362 DEFAULT CHARSET=latin1 COMMENT='This table identifies the types of messages generated by each plugin.'; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -253,7 +256,7 @@ CREATE TABLE `pluginMessageMap` ( LOCK TABLES `pluginMessageMap` WRITE; /*!40000 ALTER TABLE `pluginMessageMap` DISABLE KEYS */; -INSERT INTO `pluginMessageMap` VALUES (1,1,15); +INSERT INTO `pluginMessageMap` VALUES (1,1,15),(1361,7,1),(70,7,15),(75,13,15); /*!40000 ALTER TABLE `pluginMessageMap` ENABLE KEYS */; UNLOCK TABLES; @@ -273,7 +276,7 @@ CREATE TABLE `pluginStatus` ( UNIQUE KEY `UQ_pluginId_key` (`pluginId`,`key`), KEY `pluginId` (`pluginId`), CONSTRAINT `pluginStatus_ibfk_2` FOREIGN KEY (`pluginId`) REFERENCES `plugin` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=latin1; +) ENGINE=InnoDB DEFAULT CHARSET=latin1; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -282,7 +285,6 @@ CREATE TABLE `pluginStatus` ( LOCK TABLES `pluginStatus` WRITE; /*!40000 ALTER TABLE `pluginStatus` DISABLE KEYS */; -INSERT INTO `pluginStatus` VALUES (1,16,'','Running'),(2,16,'Number of Active Plugins','1'),(4,17,'','Running'),(5,18,'','Running'),(7,1,'','Running'),(10,1,'Start Time','2020-03-25 13:01:03.817'); /*!40000 ALTER TABLE `pluginStatus` ENABLE KEYS */; UNLOCK TABLES; @@ -328,7 +330,7 @@ CREATE TABLE `user` ( PRIMARY KEY (`id`), UNIQUE KEY `UQ_user_id` (`id`), UNIQUE KEY `UQ_user_username` (`username`) -) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1 COMMENT='The list of accounts that can access the IVP platform via the administrative portal is held in the users table.'; +) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=latin1 COMMENT='The list of accounts that can access the IVP platform via the administrative portal is held in the users table.'; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -337,7 +339,6 @@ CREATE TABLE `user` ( LOCK TABLES `user` WRITE; /*!40000 ALTER TABLE `user` DISABLE KEYS */; -INSERT INTO `user` VALUES (1,'','',3),(2,'Testing1!','Testing1!',3); /*!40000 ALTER TABLE `user` ENABLE KEYS */; UNLOCK TABLES; /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; @@ -350,4 +351,4 @@ UNLOCK TABLES; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; --- Dump completed on 2021-06-18 20:33:30 +-- Dump completed on 2021-06-23 23:52:23 diff --git a/configuration/arm64/mysql/localhost.sql b/configuration/arm64/mysql/localhost.sql index 606b42857..0430a75cf 100644 --- a/configuration/arm64/mysql/localhost.sql +++ b/configuration/arm64/mysql/localhost.sql @@ -1,13 +1,13 @@ --- MariaDB dump 10.17 Distrib 10.4.12-MariaDB, for debian-linux-gnu (aarch64) +-- MySQL dump 10.13 Distrib 5.7.34, for Linux (x86_64) -- -- Host: localhost Database: IVP -- ------------------------------------------------------ --- Server version 10.4.12-MariaDB-1:10.4.12+maria~bionic +-- Server version 5.7.34 /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; -/*!40101 SET NAMES utf8mb4 */; +/*!40101 SET NAMES utf8 */; /*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; /*!40103 SET TIME_ZONE='+00:00' */; /*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; @@ -34,11 +34,11 @@ CREATE TABLE `eventLog` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'Primary key', `description` text NOT NULL COMMENT 'The log message content', `source` text NOT NULL COMMENT 'The name of the plugin or other agent that logged the event', - `timestamp` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp() COMMENT 'The date and time of the event in UTC', + `timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 'The date and time of the event in UTC', `logLevel` enum('Debug','Info','Warning','Error','Fatal') NOT NULL COMMENT 'The type of event being logged, one of - Debug - Info - Warn - Error', - `uploaded` tinyint(1) NOT NULL DEFAULT 0, + `uploaded` tinyint(1) NOT NULL DEFAULT '0', PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=1189 DEFAULT CHARSET=latin1 COMMENT='This table records events generated by every IVP core component and plugin in the IVP platform. '; +) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='This table records events generated by every IVP core component and plugin in the IVP platform. '; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -69,7 +69,7 @@ CREATE TABLE `installedPlugin` ( PRIMARY KEY (`id`), UNIQUE KEY `pluginId` (`pluginId`), CONSTRAINT `installedPlugin_ibfk_2` FOREIGN KEY (`pluginId`) REFERENCES `plugin` (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=18 DEFAULT CHARSET=latin1; +) ENGINE=InnoDB AUTO_INCREMENT=19 DEFAULT CHARSET=latin1; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -78,7 +78,7 @@ CREATE TABLE `installedPlugin` ( LOCK TABLES `installedPlugin` WRITE; /*!40000 ALTER TABLE `installedPlugin` DISABLE KEYS */; -INSERT INTO `installedPlugin` VALUES (3,435,'/var/www/plugins/CommandPlugin','/bin/CommandPlugin','manifest.json','',0,500000),(4,436,'/var/www/plugins/CswPlugin','/bin/CswPlugin','manifest.json','',0,500000),(5,437,'/var/www/plugins/DmsPlugin','/bin/DmsPlugin','manifest.json','',0,500000),(6,438,'/var/www/plugins/DsrcImmediateForwardPlugin','/bin/DsrcImmediateForwardPlugin','manifest.json','',0,500000),(7,439,'/var/www/plugins/LocationPlugin','/bin/LocationPlugin','manifest.json','',0,500000),(8,440,'/var/www/plugins/MapPlugin','/bin/MapPlugin','manifest.json','',0,500000),(9,441,'/var/www/plugins/MessageReceiverPlugin','/bin/MessageReceiverPlugin','manifest.json','',0,500000),(10,442,'/var/www/plugins/ODEPlugin','/bin/ODEPlugin','manifest.json','',0,500000),(11,443,'/var/www/plugins/RtcmPlugin','/bin/RtcmPlugin','manifest.json','',0,500000),(12,444,'/var/www/plugins/SpatPlugin','/bin/SpatPlugin','manifest.json','',0,500000),(13,445,'/var/www/plugins/PreemptionPlugin','/bin/PreemptionPlugin','manifest.json','',0,500000),(14,446,'/var/www/plugins/SPaTLoggerPlugin','/bin/SPaTLoggerPlugin','manifest.json','',0,500000),(15,447,'/var/www/plugins/BsmLoggerPlugin','/bin/BsmLoggerPlugin','manifest.json','',0,500000),(16,448,'/var/www/plugins/PedestrianPlugin','/bin/PedestrianPlugin','manifest.json','',0,500000),(17,449,'/var/www/plugins/TimPlugin','/bin/TimPlugin','manifest.json','',0,500000); +INSERT INTO `installedPlugin` VALUES (1,1,'/var/www/plugins/CommandPlugin','/bin/CommandPlugin','manifest.json','',0,500000),(2,2,'/var/www/plugins/CswPlugin','/bin/CswPlugin','manifest.json','',0,500000),(3,3,'/var/www/plugins/DmsPlugin','/bin/DmsPlugin','manifest.json','',0,500000),(4,4,'/var/www/plugins/DsrcImmediateForwardPlugin','/bin/DsrcImmediateForwardPlugin','manifest.json','',0,500000),(5,5,'/var/www/plugins/LocationPlugin','/bin/LocationPlugin','manifest.json','',0,500000),(6,6,'/var/www/plugins/MapPlugin','/bin/MapPlugin','manifest.json','',0,500000),(7,7,'/var/www/plugins/MessageReceiverPlugin','/bin/MessageReceiverPlugin','manifest.json','',0,500000),(8,8,'/var/www/plugins/ODEPlugin','/bin/ODEPlugin','manifest.json','',0,500000),(9,9,'/var/www/plugins/RtcmPlugin','/bin/RtcmPlugin','manifest.json','',0,500000),(10,10,'/var/www/plugins/SpatPlugin','/bin/SpatPlugin','manifest.json','',0,500000),(11,11,'/var/www/plugins/PreemptionPlugin','/bin/PreemptionPlugin','manifest.json','',0,500000),(12,12,'/var/www/plugins/SPaTLoggerPlugin','/bin/SPaTLoggerPlugin','manifest.json','',0,500000),(13,13,'/var/www/plugins/MessageLoggerPlugin','/bin/MessageLoggerPlugin','manifest.json','',0,500000),(14,14,'/var/www/plugins/PedestrianPlugin','/bin/PedestrianPlugin','manifest.json','',0,500000),(15,15,'/var/www/plugins/TimPlugin','/bin/TimPlugin','manifest.json','',0,500000),(16,16,'/var/www/plugins/CARMACloudPlugin','/bin/CARMACloudPlugin','manifest.json','',0,500000),(17,17,'/var/www/plugins/MobilityOperationPlugin','/bin/MobilityOperationPlugin','manifest.json','',0,500000),(18,18,'/var/www/plugins/ODELoggerPlugin','/bin/ODELoggerPlugin','manifest.json','',0,500000); /*!40000 ALTER TABLE `installedPlugin` ENABLE KEYS */; UNLOCK TABLES; @@ -94,7 +94,7 @@ CREATE TABLE `messageActivity` ( `messageTypeId` int(10) unsigned NOT NULL COMMENT 'Foreign key into the messageType table', `pluginId` int(10) unsigned NOT NULL, `count` int(10) unsigned NOT NULL, - `lastReceivedTimestamp` timestamp NOT NULL DEFAULT current_timestamp() COMMENT 'The date and time of the most recent message of a type in UTC.', + `lastReceivedTimestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 'The date and time of the most recent message of a type in UTC.', `averageInterval` int(10) unsigned NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `messageTypeId_pluginId` (`messageTypeId`,`pluginId`), @@ -102,7 +102,7 @@ CREATE TABLE `messageActivity` ( KEY `pluginId` (`pluginId`), CONSTRAINT `messageActivity_ibfk_1` FOREIGN KEY (`messageTypeId`) REFERENCES `messageType` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `messageActivity_ibfk_2` FOREIGN KEY (`pluginId`) REFERENCES `plugin` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=31397 DEFAULT CHARSET=latin1 COMMENT='This table records the most recent message activity of each active plugin in the IVP system. The data in this table is updated by the IVP plugin monitor core component for every message the plugin monitor receives.'; +) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='This table records the most recent message activity of each active plugin in the IVP system. The data in this table is updated by the IVP plugin monitor core component for every message the plugin monitor receives.'; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -125,10 +125,10 @@ CREATE TABLE `messageType` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'Primary key', `type` varchar(50) NOT NULL COMMENT 'A unique message type name', `subtype` varchar(50) NOT NULL, - `description` text DEFAULT NULL COMMENT 'A description of the message type', + `description` text COMMENT 'A description of the message type', PRIMARY KEY (`id`), UNIQUE KEY `type` (`type`,`subtype`) -) ENGINE=InnoDB AUTO_INCREMENT=695 DEFAULT CHARSET=latin1 COMMENT='This table lists the valid message types of every plugin loaded on the IVP platform.'; +) ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=latin1 COMMENT='This table lists the valid message types of every plugin loaded on the IVP platform.'; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -137,6 +137,7 @@ CREATE TABLE `messageType` ( LOCK TABLES `messageType` WRITE; /*!40000 ALTER TABLE `messageType` DISABLE KEYS */; +INSERT INTO `messageType` VALUES (1,'J2735','BSM','DSRC Basic Safety Message'),(2,'J2735','CSR','DSRC Common Safety Request'),(3,'J2735','EVA','DSRC Emergency Vehicle Alert'),(4,'J2735','IC','DSRC Intersection Collision'),(5,'J2735','MAP','DSRC Map Data'),(6,'J2735','NMEA','DSRC NMEA Corrections'),(7,'J2735','PDM','DSRC Probe Data Management'),(8,'J2735','PVD','DSRC Probe Vehicle Data'),(9,'J2735','RSA','DSRC Road Side Alert'),(10,'J2735','RTCM','DSRC RTCM Corrections'),(11,'J2735','SPAT','DSRC SPAT Message'),(12,'J2735','SRM','DSRC Signal Request Message'),(13,'J2735','SSM','DSRC Signal Status Message'),(14,'J2735','TIM','DSRC Traveler Information Message'),(15,'System','KeepAlive',''); /*!40000 ALTER TABLE `messageType` ENABLE KEYS */; UNLOCK TABLES; @@ -150,11 +151,11 @@ DROP TABLE IF EXISTS `plugin`; CREATE TABLE `plugin` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'Primary key', `name` varchar(100) NOT NULL COMMENT 'A unique plugin name', - `description` text DEFAULT NULL, - `version` text DEFAULT NULL, + `description` text, + `version` text, PRIMARY KEY (`id`), UNIQUE KEY `name` (`name`) -) ENGINE=InnoDB AUTO_INCREMENT=450 DEFAULT CHARSET=latin1 COMMENT='This table lists the plugins loaded and available to run on the IVP platform.'; +) ENGINE=InnoDB AUTO_INCREMENT=19 DEFAULT CHARSET=latin1 COMMENT='This table lists the plugins loaded and available to run on the IVP platform.'; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -163,7 +164,7 @@ CREATE TABLE `plugin` ( LOCK TABLES `plugin` WRITE; /*!40000 ALTER TABLE `plugin` DISABLE KEYS */; -INSERT INTO `plugin` VALUES (435,'CommandPlugin','Listens for websocket connections from the TMX admin portal and processes commands','5.0'),(436,'CSW','Provides Curve Speed Warning (CSW).','5.0'),(437,'DynamicMessageSign','Provides communication to a dynamic message sign.','5.0'),(438,'DSRCMessageManager','Plugin that listens for TMX messages and forwards them to the DSRC Radio (i.e. the RSU).','5.0'),(439,'Location','Plugin used to send out Location Messages using data from GPSD','5.0'),(440,'MAP','Plugin that reads intersection geometry from a configuration file and publishes a J2735 MAP message.','5.0'),(441,'MessageReceiver','Plugin to receive messages from an external DSRC radio or other source','5.0'),(442,'ODEPlugin','Plugin to forward messages to the Florida ODEPlugin network','5.0'),(443,'RTCM','Plugin to listen for RTCM messages from an NTRIP caster and route those messages over DSRC','5.0'),(444,'SPAT','Plugin that reads PTLM data from a configuration file, receives live data from the signal controller, and publishes a J2735 SPAT message.','5.0'),(445,'Preemption','Preemption plugin for the IVP system.','5.0'),(446,'SPaTLoggerPlugin','Listens for SPaT messages and logs them in a file in CSV format.','5.0'),(447,'BsmLoggerPlugin','Listens for BSM messages and logs them in a file in CSV format.','5.0'),(448,'Pedestrian','Pedestrian plugin for the IVP system.','5.0'),(449,'TIM','Provides Traveller Information Message (TIM).','5.0'); +INSERT INTO `plugin` VALUES (1,'CommandPlugin','Listens for websocket connections from the TMX admin portal and processes commands','5.0'),(2,'CSW','Provides Curve Speed Warning (CSW).','5.0'),(3,'DynamicMessageSign','Provides communication to a dynamic message sign.','5.0'),(4,'DSRCMessageManager','Plugin that listens for TMX messages and forwards them to the DSRC Radio (i.e. the RSU).','5.0'),(5,'Location','Plugin used to send out Location Messages using data from GPSD','5.0'),(6,'MAP','Plugin that reads intersection geometry from a configuration file and publishes a J2735 MAP message.','5.0'),(7,'MessageReceiver','Plugin to receive messages from an external DSRC radio or other source','5.0'),(8,'ODEPlugin','Plugin to forward messages to the Florida ODEPlugin network','5.0'),(9,'RTCM','Plugin to listen for RTCM messages from an NTRIP caster and route those messages over DSRC','5.0'),(10,'SPAT','Plugin that reads PTLM data from a configuration file, receives live data from the signal controller, and publishes a J2735 SPAT message.','5.0'),(11,'Preemption','Preemption plugin for the IVP system.','5.0'),(12,'SPaTLoggerPlugin','Listens for SPaT messages and logs them in a file in CSV format.','5.0'),(13,'MessageLoggerPlugin','Listens for J2735 messages and logs them in a file in JSON format.','5.0'),(14,'Pedestrian','Pedestrian plugin for the IVP system.','5.0'),(15,'TIM','Provides Traveller Information Message (TIM).','5.0'),(16,'CARMACloud','CARMA cloud plugin for making websocket connection with CARMA cloud .','5.0'),(17,'MobilityOperationPlugin','In development','5.0'),(18,'ODELoggerPlugin','Listens for J2735 messages and realtime forwards them to ODE.','5.0'); /*!40000 ALTER TABLE `plugin` ENABLE KEYS */; UNLOCK TABLES; @@ -216,7 +217,7 @@ CREATE TABLE `pluginConfigurationParameter` ( UNIQUE KEY `pluginId_key` (`pluginId`,`key`), KEY `pluginId` (`pluginId`), CONSTRAINT `pluginConfigurationParameter_ibfk_1` FOREIGN KEY (`pluginId`) REFERENCES `plugin` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=1622 DEFAULT CHARSET=latin1 COMMENT='This table lists the IVP system configuration parameters used by both core components and plugins to control the behavior of the system.'; +) ENGINE=InnoDB AUTO_INCREMENT=95 DEFAULT CHARSET=latin1 COMMENT='This table lists the IVP system configuration parameters used by both core components and plugins to control the behavior of the system.'; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -225,7 +226,7 @@ CREATE TABLE `pluginConfigurationParameter` ( LOCK TABLES `pluginConfigurationParameter` WRITE; /*!40000 ALTER TABLE `pluginConfigurationParameter` DISABLE KEYS */; -INSERT INTO `pluginConfigurationParameter` VALUES (1540,435,'SleepMS','100','100','The length of milliseconds to sleep between processing all messages.'),(1541,435,'SSLEnabled','true','true','Enable secure connection using SSL.'),(1542,435,'SSLPath','/var/www/plugins/.ssl','/var/www/plugins/.ssl','The path to the directory containing the SSL key and certificate files.'),(1543,435,'EventRowLimit','50','50','The maximum number of rows returned for the initial Event Log query.'),(1544,435,'DownloadPath','/var/www/download','/var/www/download','The path to the directory where downloaded files will be saved.'),(1545,435,'LogLevel','ERROR','ERROR','The log level for this plugin'),(1546,436,'Frequency','1000','1000','The frequency to send the TIM in milliseconds.'),(1547,436,'MapFile','IVP_GF_CSW.xml','IVP_GF_CSW.xml',''),(1548,436,'Snap Interval','300','300','The interval in milliseconds to keep a vehicle within a zone before allowing it to transition out of all zones.'),(1549,436,'Vehicle Timeout','2000','2000','Timeout in milliseconds when a vehicle is removed from all zones if a BSM has not been received.'),(1550,437,'DMS IP Address','192.168.25.30','192.168.25.30','The IP address of the NTCIP Dynamic Message Sign.'),(1551,437,'DMS Port','9090','9090','The port of the NTCIP Dynamic Message Sign.'),(1552,437,'Enable DMS','True','True','If true all messages are sent to the Dynamic Message Sign using NTCIP 1203.'),(1553,437,'Enable Sign Simulator','True','True','If true all messages are sent to the Sign Simulator using UDP.'),(1554,437,'Force Message ID','-1','-1','Immediately activates the message ID specified, then resets back to -1.'),(1555,437,'Message 01','','','The text to display on the sign for ID 01 with any formatting (see NTCIP 1203).'),(1556,437,'Message 02','[jl3][pt15o0]25[np]MPH','[jl3][pt15o0]25[np]MPH','The text to display on the sign for ID 02 with any formatting (see NTCIP 1203).'),(1557,437,'Message 03','[jl3][pt15o0]SLOW[np]DOWN','[jl3][pt15o0]SLOW[np]DOWN','The text to display on the sign for ID 03 with any formatting (see NTCIP 1203).'),(1558,437,'Message 04','[jl3][pt15o0]CRVE[np]AHED','[jl3][pt15o0]CRVE[np]AHED','The text to display on the sign for ID 04 with any formatting (see NTCIP 1203).'),(1559,437,'Sign Sim IP Address','192.168.25.31','192.168.25.31','The IP address of the Sign Simulator that is the receipient of UDP messages.'),(1560,437,'Sign Sim Port','9090','9090','The UDP port of the Sign Simulator that is the receipient of UDP messages.'),(1561,438,'Messages_Destination_1','{ \"Messages\": [ { \"TmxType\": \"SPAT-P\", \"SendType\": \"SPAT\", \"PSID\": \"0x8002\" }, { \"TmxType\": \"MAP-P\", \"SendType\": \"MAP\", \"PSID\": \"0x8002\" }, { \"TmxType\": \"PSM\", \"SendType\": \"PSM\", \"PSID\": \"0x8002\" } ] }','{ \"Messages\": [ { \"TmxType\": \"SPAT-P\", \"SendType\": \"SPAT\", \"PSID\": \"0x8002\" }, { \"TmxType\": \"MAP-P\", \"SendType\": \"MAP\", \"PSID\": \"0x8002\" }, { \"TmxType\": \"PSM\", \"SendType\": \"PSM\", \"PSID\": \"0x8002\" } ] }','JSON data defining the message types and PSIDs for messages forwarded to the DSRC radio at destination 1.'),(1562,438,'Messages_Destination_2','{ \"Messages\": [ ] }','{ \"Messages\": [ ] }','JSON data defining the message types and PSIDs for messages forwarded to the DSRC radio at destination 2.'),(1563,438,'Messages_Destination_3','{ \"Messages\": [ ] }','{ \"Messages\": [ ] }','JSON data defining the message types and PSIDs for messages forwarded to the DSRC radio at destination 3.'),(1564,438,'Messages_Destination_4','{ \"Messages\": [ ] }','{ \"Messages\": [ ] }','JSON data defining the message types and PSIDs for messages forwarded to the DSRC radio at destination 4.'),(1565,438,'Destination_1','192.168.55.77:1516','192.168.55.77:1516','The destination UDP server(s) and port number(s) on the DSRC radio for all messages specified by Messages_Destination_1.'),(1566,438,'Destination_2','0','0','The destination UDP server(s) and port number(s) on the DSRC radio for all messages specified by Messages_Destination_2.'),(1567,438,'Destination_3','0','0','The destination UDP server(s) and port number(s) on the DSRC radio for all messages specified by Messages_Destination_3.'),(1568,438,'Destination_4','0','0','The destination UDP server(s) and port number(s) on the DSRC radio for all messages specified by Messages_Destination_4.'),(1569,438,'Signature','False','False','True or False value indicating whether to sign the messages.'),(1570,439,'Frequency','500','500','Rate to send Location Message in milliseconds'),(1571,439,'LatchHeadingSpeed','2.5','2.5','Speed at which the heading parameter should be latched, in mph. Set to 0 to disable latching.'),(1572,439,'GPSSource','localhost','localhost','Host where the GPSd is running'),(1573,439,'SendRawNMEA','true','true','Route the raw NMEA strings from GPSd through TMX'),(1574,440,'Frequency','1000','1000','The frequency to send the MAP message in milliseconds.'),(1575,440,'MAP_Files','{ \"MapFiles\": [\n {\"Action\":0, \"FilePath\":\"GID_Telegraph-Twelve_Mile_withEgress.xml\"}\n] }','{ \"MapFiles\": [\n {\"Action\":0, \"FilePath\":\"GID_Telegraph-Twelve_Mile_withEgress.xml\"}\n] }','JSON data defining a list of map files. One map file for each action set specified by the TSC.'),(1576,441,'IP','127.0.0.1','127.0.0.1','IP address for the incoming message network connection.'),(1577,441,'Port','26789','26789','Port for the incoming message network connection.'),(1578,441,'RouteDSRC','false','false','Set the flag to route a received J2735 message over DSRC.'),(1579,441,'EnableSimulatedBSM','true','true','Accept and route incoming BSM messages from a V2I Hub simulator.'),(1580,441,'EnableSimulatedSRM','true','true','Accept and route incoming SRM messages from a V2I Hub simulator.'),(1581,441,'EnableSimulatedLocation','true','true','Accept and route incoming GPS location messages from a V2I Hub simulator.'),(1582,442,'ODEIP','127.0.0.1','127.0.0.1','IP address for the ODE network connection.'),(1583,442,'ODEPort','26789','26789','Port for the ODE network connection.'),(1584,443,'Endpoint IP','156.63.133.118','156.63.133.118','NTRIP caster endpoint IP address'),(1585,443,'Endpoint Port','2101','2101','NTRIP caster endpoint port'),(1586,443,'Username','username','username','NTRIP caster authentication username'),(1587,443,'Password','password','password','NTRIP caster authentication password'),(1588,443,'Mountpoint','ODOT_RTCM23','ODOT_RTCM23','NTRIP caster mountpoint'),(1589,443,'RTCM Version','Unknown','Unknown','Specify the expected RTCM message version (2.3 or 3.3) coming from the caster. Use Unknown to auto detect the version, which is done using trial and error, thus may be slow.'),(1590,443,'Route RTCM','false','false','Route the RTCM messages created from NTRIP internally for use by other plugins.'),(1591,444,'Intersection_Id','1','1','The intersection id for SPAT generated by this plugin.'),(1592,444,'Intersection_Name','Intersection','Intersection','The intersection name for SPAT generated by this plugin.'),(1593,444,'SignalGroupMapping','{\"SignalGroups\":[{\"SignalGroupId\":1,\"Phase\":1,\"Type\":\"vehicle\"},{\"SignalGroupId\":2,\"Phase\":2,\"Type\":\"vehicle\"},{\"SignalGroupId\":3,\"Phase\":3,\"Type\":\"vehicle\"},{\"SignalGroupId\":4,\"Phase\":4,\"Type\":\"vehicle\"},{\"SignalGroupId\":5,\"Phase\":5,\"Type\":\"vehicle\"},{\"SignalGroupId\":6,\"Phase\":6,\"Type\":\"vehicle\"},{\"SignalGroupId\":7,\"Phase\":7,\"Type\":\"vehicle\"},{\"SignalGroupId\":8,\"Phase\":8,\"Type\":\"vehicle\"},{\"SignalGroupId\":22,\"Phase\":2,\"Type\":\"pedestrian\"},{\"SignalGroupId\":24,\"Phase\":4,\"Type\":\"pedestrian\"},{\"SignalGroupId\":26,\"Phase\":6,\"Type\":\"pedestrian\"},{\"SignalGroupId\":28,\"Phase\":8,\"Type\":\"pedestrian\"}]}','{\"SignalGroups\":[{\"SignalGroupId\":1,\"Phase\":1,\"Type\":\"vehicle\"},{\"SignalGroupId\":2,\"Phase\":2,\"Type\":\"vehicle\"},{\"SignalGroupId\":3,\"Phase\":3,\"Type\":\"vehicle\"},{\"SignalGroupId\":4,\"Phase\":4,\"Type\":\"vehicle\"},{\"SignalGroupId\":5,\"Phase\":5,\"Type\":\"vehicle\"},{\"SignalGroupId\":6,\"Phase\":6,\"Type\":\"vehicle\"},{\"SignalGroupId\":7,\"Phase\":7,\"Type\":\"vehicle\"},{\"SignalGroupId\":8,\"Phase\":8,\"Type\":\"vehicle\"},{\"SignalGroupId\":22,\"Phase\":2,\"Type\":\"pedestrian\"},{\"SignalGroupId\":24,\"Phase\":4,\"Type\":\"pedestrian\"},{\"SignalGroupId\":26,\"Phase\":6,\"Type\":\"pedestrian\"},{\"SignalGroupId\":28,\"Phase\":8,\"Type\":\"pedestrian\"}]}','JSON data defining a list of SignalGroups and phases.'),(1594,444,'Local_IP','192.168.25.20','192.168.25.20','The IPv4 address of the local computer for receiving Traffic Signal Controller Broadcast Messages.'),(1595,444,'Local_UDP_Port','6053','6053','The local UDP port for reception of Traffic Signal Controller Broadcast Messages from the TSC.'),(1596,444,'TSC_IP','192.168.25.50','192.168.25.50','The IPv4 address of the destination Traffic Signal Controller (TSC).'),(1597,444,'TSC_Remote_SNMP_Port','501','501','The destination port on the Traffic Signal Controller (TSC) for SNMP NTCIP communication.'),(1598,445,'Instance','0','0','The instance of Preemption plugin.'),(1599,445,'BasePreemptionOid','.1.3.6.1.4.1.1206.4.2.1.6.3.1.2.','.1.3.6.1.4.1.1206.4.2.1.6.3.1.2.','The BasePreemptionOid of Preemption plugin.'),(1600,445,'ipwithport','192.168.55.49:6053','192.168.55.49:6053','The ipwithport of Preemption plugin.'),(1601,445,'snmp_community','public','public','The snmp_community of Preemption plugin.'),(1602,445,'map_path','/geo.json','/geo.json','The map_path for Preemption plugin.'),(1603,445,'allowedList','{\"validVehicles\":[\"292710445\",\"123456789\",\"2345678\"]}','{\"validVehicles\":[\"292710445\",\"123456789\",\"2345678\"]}','List of vehicles BSM id that are allowed'),(1604,446,'File Size In MB','100','100','Maximum size of the SPaT log file in mb.'),(1605,446,'File Location','/var/log/tmx','/var/log/tmx','The location where the log files are stored.'),(1606,446,'Filename','SPaTLog','SPaTLog','Default name of the SPaT log file.'),(1607,447,'File Size In MB','100','100','Maximum size of the BSM log file in mb.'),(1608,447,'File Location','/var/log/tmx','/var/log/tmx','The location where the log files are stored.'),(1609,447,'Filename','BSMLog','BSMLog','Default name of the BSM log file.'),(1610,448,'Frequency','1000','1000','The frequency to send the PSM in milliseconds.'),(1611,448,'Instance','0','0','The instance of Pedestrian plugin.'),(1612,448,'WebServiceIP','192.168.55.46','192.168.55.46','IP address at which the web service exists'),(1613,448,'WebServicePort','9000','9000','Port at which Web service exists'),(1614,449,'Frequency','1000','1000','The frequency to send the TIM in milliseconds.'),(1615,449,'MapFile','IVP_GF_TIM.xml','IVP_GF_TIM.xml',''),(1616,449,'Start_Broadcast_Date','01-01-2019','01-01-2019','The Start Broadcast Date for the TIM message in the (mm-dd-YYYY) format.'),(1617,449,'Stop_Broadcast_Date','12-31-2020','12-31-2020','The Stop Broadcast Date for the TIM message in the (mm-dd-YYYY) format.'),(1618,449,'Start_Broadcast_Time','06:00:00','06:00:00','The Start Broadcast Time for the TIM message in the (HH:MM:SS) format.'),(1619,449,'Stop_Broadcast_Time','21:00:00','21:00:00','The Start Broadcast Time for the TIM message in the (HH:MM:SS) format.'),(1620,449,'WebServiceIP','127.0.0.1','127.0.0.1','IP address at which the web service exists'),(1621,449,'WebServicePort','9999','9999','Port at which Web service exists'); +INSERT INTO `pluginConfigurationParameter` VALUES (1,1,'SleepMS','100','100','The length of milliseconds to sleep between processing all messages.'),(2,1,'SSLEnabled','true','true','Enable secure connection using SSL.'),(3,1,'SSLPath','/var/www/plugins/.ssl','/var/www/plugins/.ssl','The path to the directory containing the SSL key and certificate files.'),(4,1,'EventRowLimit','50','50','The maximum number of rows returned for the initial Event Log query.'),(5,1,'DownloadPath','/var/www/download','/var/www/download','The path to the directory where downloaded files will be saved.'),(6,1,'LogLevel','ERROR','ERROR','The log level for this plugin'),(7,2,'Frequency','1000','1000','The frequency to send the TIM in milliseconds.'),(8,2,'MapFile','IVP_GF_CSW.xml','IVP_GF_CSW.xml',''),(9,2,'Snap Interval','300','300','The interval in milliseconds to keep a vehicle within a zone before allowing it to transition out of all zones.'),(10,2,'Vehicle Timeout','2000','2000','Timeout in milliseconds when a vehicle is removed from all zones if a BSM has not been received.'),(11,3,'DMS IP Address','192.168.25.30','192.168.25.30','The IP address of the NTCIP Dynamic Message Sign.'),(12,3,'DMS Port','9090','9090','The port of the NTCIP Dynamic Message Sign.'),(13,3,'Enable DMS','True','True','If true all messages are sent to the Dynamic Message Sign using NTCIP 1203.'),(14,3,'Enable Sign Simulator','True','True','If true all messages are sent to the Sign Simulator using UDP.'),(15,3,'Force Message ID','-1','-1','Immediately activates the message ID specified, then resets back to -1.'),(16,3,'Message 01','','','The text to display on the sign for ID 01 with any formatting (see NTCIP 1203).'),(17,3,'Message 02','[jl3][pt15o0]25[np]MPH','[jl3][pt15o0]25[np]MPH','The text to display on the sign for ID 02 with any formatting (see NTCIP 1203).'),(18,3,'Message 03','[jl3][pt15o0]SLOW[np]DOWN','[jl3][pt15o0]SLOW[np]DOWN','The text to display on the sign for ID 03 with any formatting (see NTCIP 1203).'),(19,3,'Message 04','[jl3][pt15o0]CRVE[np]AHED','[jl3][pt15o0]CRVE[np]AHED','The text to display on the sign for ID 04 with any formatting (see NTCIP 1203).'),(20,3,'Sign Sim IP Address','192.168.25.31','192.168.25.31','The IP address of the Sign Simulator that is the receipient of UDP messages.'),(21,3,'Sign Sim Port','9090','9090','The UDP port of the Sign Simulator that is the receipient of UDP messages.'),(22,4,'Messages_Destination_1','{ \"Messages\": [ { \"TmxType\": \"SPAT-P\", \"SendType\": \"SPAT\", \"PSID\": \"0x8002\" }, { \"TmxType\": \"MAP-P\", \"SendType\": \"MAP\", \"PSID\": \"0x8002\" }, { \"TmxType\": \"PSM\", \"SendType\": \"PSM\", \"PSID\": \"0x8002\" } ,{ \"TmxType\": \"TMSG07\", \"SendType\": \"TMSG07\", \"PSID\": \"0x8002\" }] }','{ \"Messages\": [ { \"TmxType\": \"SPAT-P\", \"SendType\": \"SPAT\", \"PSID\": \"0x8002\" }, { \"TmxType\": \"MAP-P\", \"SendType\": \"MAP\", \"PSID\": \"0x8002\" }, { \"TmxType\": \"PSM\", \"SendType\": \"PSM\", \"PSID\": \"0x8002\" } ,{ \"TmxType\": \"TMSG07\", \"SendType\": \"TMSG07\", \"PSID\": \"0x8002\" }] }','JSON data defining the message types and PSIDs for messages forwarded to the DSRC radio at destination 1.'),(23,4,'Messages_Destination_2','{ \"Messages\": [ ] }','{ \"Messages\": [ ] }','JSON data defining the message types and PSIDs for messages forwarded to the DSRC radio at destination 2.'),(24,4,'Messages_Destination_3','{ \"Messages\": [ ] }','{ \"Messages\": [ ] }','JSON data defining the message types and PSIDs for messages forwarded to the DSRC radio at destination 3.'),(25,4,'Messages_Destination_4','{ \"Messages\": [ ] }','{ \"Messages\": [ ] }','JSON data defining the message types and PSIDs for messages forwarded to the DSRC radio at destination 4.'),(26,4,'Destination_1','127.0.0.1:1516','127.0.0.1:1516','The destination UDP server(s) and port number(s) on the DSRC radio for all messages specified by Messages_Destination_1.'),(27,4,'Destination_2','0','0','The destination UDP server(s) and port number(s) on the DSRC radio for all messages specified by Messages_Destination_2.'),(28,4,'Destination_3','0','0','The destination UDP server(s) and port number(s) on the DSRC radio for all messages specified by Messages_Destination_3.'),(29,4,'Destination_4','0','0','The destination UDP server(s) and port number(s) on the DSRC radio for all messages specified by Messages_Destination_4.'),(30,4,'Signature','False','False','True or False value indicating whether to sign the messages.'),(31,5,'Frequency','500','500','Rate to send Location Message in milliseconds'),(32,5,'LatchHeadingSpeed','2.5','2.5','Speed at which the heading parameter should be latched, in mph. Set to 0 to disable latching.'),(33,5,'GPSSource','localhost','localhost','Host where the GPSd is running'),(34,5,'SendRawNMEA','true','true','Route the raw NMEA strings from GPSd through TMX'),(35,6,'Frequency','1000','1000','The frequency to send the MAP message in milliseconds.'),(36,6,'MAP_Files','{ \"MapFiles\": [\n {\"Action\":0, \"FilePath\":\"GID_Telegraph-Twelve_Mile_withEgress.xml\"}\n] }','{ \"MapFiles\": [\n {\"Action\":0, \"FilePath\":\"GID_Telegraph-Twelve_Mile_withEgress.xml\"}\n] }','JSON data defining a list of map files. One map file for each action set specified by the TSC.'),(37,7,'IP','127.0.0.1','127.0.0.1','IP address for the incoming message network connection.'),(38,7,'Port','26789','26789','Port for the incoming message network connection.'),(39,7,'RouteDSRC','false','false','Set the flag to route a received J2735 message over DSRC.'),(40,7,'EnableSimulatedBSM','true','true','Accept and route incoming BSM messages from a V2I Hub simulator.'),(41,7,'EnableSimulatedSRM','true','true','Accept and route incoming SRM messages from a V2I Hub simulator.'),(42,7,'EnableSimulatedLocation','true','true','Accept and route incoming GPS location messages from a V2I Hub simulator.'),(43,8,'ODEIP','127.0.0.1','127.0.0.1','IP address for the ODE network connection.'),(44,8,'ODEPort','26789','26789','Port for the ODE network connection.'),(45,9,'Endpoint IP','156.63.133.118','156.63.133.118','NTRIP caster endpoint IP address'),(46,9,'Endpoint Port','2101','2101','NTRIP caster endpoint port'),(47,9,'Username','username','username','NTRIP caster authentication username'),(48,9,'Password','password','password','NTRIP caster authentication password'),(49,9,'Mountpoint','ODOT_RTCM23','ODOT_RTCM23','NTRIP caster mountpoint'),(50,9,'RTCM Version','Unknown','Unknown','Specify the expected RTCM message version (2.3 or 3.3) coming from the caster. Use Unknown to auto detect the version, which is done using trial and error, thus may be slow.'),(51,9,'Route RTCM','false','false','Route the RTCM messages created from NTRIP internally for use by other plugins.'),(52,10,'Intersection_Id','1','1','The intersection id for SPAT generated by this plugin.'),(53,10,'Intersection_Name','Intersection','Intersection','The intersection name for SPAT generated by this plugin.'),(54,10,'SignalGroupMapping','{\"SignalGroups\":[{\"SignalGroupId\":1,\"Phase\":1,\"Type\":\"vehicle\"},{\"SignalGroupId\":2,\"Phase\":2,\"Type\":\"vehicle\"},{\"SignalGroupId\":3,\"Phase\":3,\"Type\":\"vehicle\"},{\"SignalGroupId\":4,\"Phase\":4,\"Type\":\"vehicle\"},{\"SignalGroupId\":5,\"Phase\":5,\"Type\":\"vehicle\"},{\"SignalGroupId\":6,\"Phase\":6,\"Type\":\"vehicle\"},{\"SignalGroupId\":7,\"Phase\":7,\"Type\":\"vehicle\"},{\"SignalGroupId\":8,\"Phase\":8,\"Type\":\"vehicle\"},{\"SignalGroupId\":22,\"Phase\":2,\"Type\":\"pedestrian\"},{\"SignalGroupId\":24,\"Phase\":4,\"Type\":\"pedestrian\"},{\"SignalGroupId\":26,\"Phase\":6,\"Type\":\"pedestrian\"},{\"SignalGroupId\":28,\"Phase\":8,\"Type\":\"pedestrian\"}]}','{\"SignalGroups\":[{\"SignalGroupId\":1,\"Phase\":1,\"Type\":\"vehicle\"},{\"SignalGroupId\":2,\"Phase\":2,\"Type\":\"vehicle\"},{\"SignalGroupId\":3,\"Phase\":3,\"Type\":\"vehicle\"},{\"SignalGroupId\":4,\"Phase\":4,\"Type\":\"vehicle\"},{\"SignalGroupId\":5,\"Phase\":5,\"Type\":\"vehicle\"},{\"SignalGroupId\":6,\"Phase\":6,\"Type\":\"vehicle\"},{\"SignalGroupId\":7,\"Phase\":7,\"Type\":\"vehicle\"},{\"SignalGroupId\":8,\"Phase\":8,\"Type\":\"vehicle\"},{\"SignalGroupId\":22,\"Phase\":2,\"Type\":\"pedestrian\"},{\"SignalGroupId\":24,\"Phase\":4,\"Type\":\"pedestrian\"},{\"SignalGroupId\":26,\"Phase\":6,\"Type\":\"pedestrian\"},{\"SignalGroupId\":28,\"Phase\":8,\"Type\":\"pedestrian\"}]}','JSON data defining a list of SignalGroups and phases.'),(55,10,'Local_IP','','','The IPv4 address of the local computer for receiving Traffic Signal Controller Broadcast Messages.'),(56,10,'Local_UDP_Port','local port','local port','The local UDP port for reception of Traffic Signal Controller Broadcast Messages from the TSC.'),(57,10,'TSC_IP','','','The IPv4 address of the destination Traffic Signal Controller (TSC).'),(58,10,'TSC_Remote_SNMP_Port','','','The destination port on the Traffic Signal Controller (TSC) for SNMP NTCIP communication.'),(59,11,'Instance','0','0','The instance of Preemption plugin.'),(60,11,'BasePreemptionOid','.1.3.6.1.4.1.1206.4.2.1.6.3.1.2.','.1.3.6.1.4.1.1206.4.2.1.6.3.1.2.','The BasePreemptionOid of Preemption plugin.'),(61,11,'ipwithport',':',':','The ipwithport of Preemption plugin.'),(62,11,'snmp_community','public','public','The snmp_community of Preemption plugin.'),(63,11,'map_path','/geo.json','/geo.json','The map_path for Preemption plugin.'),(64,11,'allowedList','{\"validVehicles\":[\"292710445\",\"123456789\",\"2345678\"]}','{\"validVehicles\":[\"292710445\",\"123456789\",\"2345678\"]}','List of vehicles BSM id that are allowed'),(65,12,'File Size In MB','100','100','Maximum size of the SPaT log file in mb.'),(66,12,'Filename','spatTx','spatTx','Default name of the SPaT log file.'),(67,12,'File Location','/var/log/tmx','/var/log/tmx','The location where the log files are stored. DO NOT edit while using docker deployment of V2X-Hub!'),(68,13,'File Size In MB','100','100','Maximum size of the BSM log file in mb.'),(69,13,'Filename','bsmTx','bsmTx','Default name of the BSM log file.'),(70,13,'File Location','/var/log/tmx','/var/log/tmx','The location where the log files are stored. DO NOT edit while using docker deployment of V2X-Hub!'),(71,14,'Frequency','1000','1000','The frequency to send the PSM in milliseconds.'),(72,14,'Instance','0','0','The instance of Pedestrian plugin.'),(73,14,'WebServiceIP','127.0.0.1','127.0.0.1','IP address at which the web service exists'),(74,14,'WebServicePort','9000','9000','Port at which Web service exists'),(75,15,'Frequency','1000','1000','The frequency to send the TIM in milliseconds.'),(76,15,'MapFile','/var/www/plugins/MAP/IVP_GF_TIM.xml','/var/www/plugins/MAP/IVP_GF_TIM.xml',''),(77,15,'Start_Broadcast_Date','01-01-2019','01-01-2019','The Start Broadcast Date for the TIM message in the (mm-dd-YYYY) format.'),(78,15,'Stop_Broadcast_Date','12-31-2020','12-31-2020','The Stop Broadcast Date for the TIM message in the (mm-dd-YYYY) format.'),(79,15,'Start_Broadcast_Time','06:00:00','06:00:00','The Start Broadcast Time for the TIM message in the (HH:MM:SS) format.'),(80,15,'Stop_Broadcast_Time','21:00:00','21:00:00','The Start Broadcast Time for the TIM message in the (HH:MM:SS) format.'),(81,15,'WebServiceIP','127.0.0.1','127.0.0.1','IP address at which the web service exists'),(82,15,'WebServicePort','10000','10000','Port at which Web service exists'),(83,16,'Frequency','1000','1000','The frequency to send the TIM in milliseconds.'),(84,16,'Instance','0','0','The instance of this plugin.'),(85,16,'WebServiceIP','127.0.0.1','127.0.0.1','Server IP address for V2X hub'),(86,16,'WebServicePort','22222','22222','Server Port for V2X hub'),(87,17,'...','...','...','...'),(88,18,'instance','1','1','instance of the application'),(89,18,'schedule_frequency','1','1','sample of incoming messages to forward, 1 = forwards every message'),(90,18,'ForwardMSG','1','1','Enable Forwarding of BSM'),(91,18,'BSMKafkaTopic','topic.OdeRawEncodedBSMJson','topic.OdeRawEncodedBSMJson','(Cond: ForwardMSG == True) Topic to use for forwarding BSM'),(92,18,'SPaTKafkaTopic','topic.OdeRawEncodedSPATJson','topic.OdeRawEncodedSPATJson','(Cond: ForwardMSG == True) Topic to use for forwarding BSM'),(93,18,'KafkaBrokerIp','172.31.55.238','172.31.55.238','IP address to be used for KAFKA broker'),(94,18,'KafkaBrokerPort','9092','9092','Port number to be used for KAFKA broker'); /*!40000 ALTER TABLE `pluginConfigurationParameter` ENABLE KEYS */; UNLOCK TABLES; @@ -246,7 +247,7 @@ CREATE TABLE `pluginMessageMap` ( KEY `messageTypeId` (`messageTypeId`), CONSTRAINT `pluginMessageMap_ibfk_1` FOREIGN KEY (`pluginId`) REFERENCES `plugin` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `pluginMessageMap_ibfk_2` FOREIGN KEY (`messageTypeId`) REFERENCES `messageType` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=18172 DEFAULT CHARSET=latin1 COMMENT='This table identifies the types of messages generated by each plugin.'; +) ENGINE=InnoDB AUTO_INCREMENT=1362 DEFAULT CHARSET=latin1 COMMENT='This table identifies the types of messages generated by each plugin.'; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -255,6 +256,7 @@ CREATE TABLE `pluginMessageMap` ( LOCK TABLES `pluginMessageMap` WRITE; /*!40000 ALTER TABLE `pluginMessageMap` DISABLE KEYS */; +INSERT INTO `pluginMessageMap` VALUES (1,1,15),(1361,7,1),(70,7,15),(75,13,15); /*!40000 ALTER TABLE `pluginMessageMap` ENABLE KEYS */; UNLOCK TABLES; @@ -274,7 +276,7 @@ CREATE TABLE `pluginStatus` ( UNIQUE KEY `UQ_pluginId_key` (`pluginId`,`key`), KEY `pluginId` (`pluginId`), CONSTRAINT `pluginStatus_ibfk_2` FOREIGN KEY (`pluginId`) REFERENCES `plugin` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=27521 DEFAULT CHARSET=latin1; +) ENGINE=InnoDB DEFAULT CHARSET=latin1; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -300,7 +302,7 @@ CREATE TABLE `systemConfigurationParameter` ( `defaultValue` text NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `key` (`key`) -) ENGINE=InnoDB AUTO_INCREMENT=112 DEFAULT CHARSET=latin1 COMMENT='This table lists the IVP system configuration parameters used by both core components and plugins to control the behavior of the system.'; +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1 COMMENT='This table lists the IVP system configuration parameters used by both core components and plugins to control the behavior of the system.'; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -309,6 +311,7 @@ CREATE TABLE `systemConfigurationParameter` ( LOCK TABLES `systemConfigurationParameter` WRITE; /*!40000 ALTER TABLE `systemConfigurationParameter` DISABLE KEYS */; +INSERT INTO `systemConfigurationParameter` VALUES (1,'LOG_FILE_NAME','ivpcore.log','ivpcore.log'); /*!40000 ALTER TABLE `systemConfigurationParameter` ENABLE KEYS */; UNLOCK TABLES; @@ -323,11 +326,11 @@ CREATE TABLE `user` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'Primary key', `username` varchar(50) NOT NULL COMMENT 'The account name for the user, typically an email address', `password` varchar(50) NOT NULL COMMENT 'An encrypted password', - `accessLevel` int(11) NOT NULL DEFAULT 1 COMMENT 'The access level permitted for this user, one of: \n 1. read-only access to portal 2. application administrator access 3. system administrator, all access', + `accessLevel` int(11) NOT NULL DEFAULT '1' COMMENT 'The access level permitted for this user, one of: \n 1. read-only access to portal 2. application administrator access 3. system administrator, all access', PRIMARY KEY (`id`), UNIQUE KEY `UQ_user_id` (`id`), UNIQUE KEY `UQ_user_username` (`username`) -) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1 COMMENT='The list of accounts that can access the IVP platform via the administrative portal is held in the users table.'; +) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=latin1 COMMENT='The list of accounts that can access the IVP platform via the administrative portal is held in the users table.'; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -348,4 +351,4 @@ UNLOCK TABLES; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; --- Dump completed on 2020-03-25 14:36:50 +-- Dump completed on 2021-06-23 23:52:23 diff --git a/src/v2i-hub/CARMACloudPlugin/manifest.json b/src/v2i-hub/CARMACloudPlugin/manifest.json index 66aa1aaf0..3ed7d9dcd 100644 --- a/src/v2i-hub/CARMACloudPlugin/manifest.json +++ b/src/v2i-hub/CARMACloudPlugin/manifest.json @@ -1,7 +1,7 @@ { "name":"CARMACloud", "description":"CARMA cloud plugin for making websocket connection with CARMA cloud .", - "version":"3.0.0", + "version":"@PROJECT_VERSION@", "exeLocation":"/bin/CARMACloudPlugin", "coreIpAddr":"127.0.0.1", "corePort":24601, diff --git a/src/v2i-hub/MessageLoggerPlugin/manifest.json b/src/v2i-hub/MessageLoggerPlugin/manifest.json index b24d4d0bd..d9d7adcd1 100644 --- a/src/v2i-hub/MessageLoggerPlugin/manifest.json +++ b/src/v2i-hub/MessageLoggerPlugin/manifest.json @@ -1,7 +1,7 @@ { "name":"MessageLoggerPlugin", "description":"Listens for J2735 messages and logs them in a file in JSON format.", - "version":"5.0", + "version":"@PROJECT_VERSION@", "exeLocation":"/bin/MessageLoggerPlugin", "coreIpAddr":"127.0.0.1", "corePort":24601, @@ -14,20 +14,15 @@ "default":"100", "description":"Maximum size of the BSM log file in mb." }, - { - "key":"File Location", - "default":"/var/log/tmx", - "description":"The location where the log files are stored." - }, - { - "key":"Messagetype", - "default":"BSM", - "description":"The types of messages to be logged." - }, { "key":"Filename", - "default":"BSMLog", + "default":"bsmTx", "description":"Default name of the BSM log file." + }, + { + "key":"File Location", + "default":"/var/log/tmx", + "description":"The location where the log files are stored. DO NOT edit while using docker deployment of V2X-Hub!" } diff --git a/src/v2i-hub/MessageLoggerPlugin/src/MessageLoggerPlugin.cpp b/src/v2i-hub/MessageLoggerPlugin/src/MessageLoggerPlugin.cpp index bc2a49672..896d33e70 100755 --- a/src/v2i-hub/MessageLoggerPlugin/src/MessageLoggerPlugin.cpp +++ b/src/v2i-hub/MessageLoggerPlugin/src/MessageLoggerPlugin.cpp @@ -30,21 +30,10 @@ MessageLoggerPlugin::MessageLoggerPlugin(string name): PluginClient(name) { PLOG(logDEBUG)<< "In MessageLoggerPlugin Constructor"; // The log level can be changed from the default here. - //FILELog::ReportingLevel() = FILELog::FromString("DEBUG"); + // FILELog::ReportingLevel() = FILELog::FromString("DEBUG"); - // Critical section - std::lock_guard lock(_cfgLock); - GetConfigValue("File Location", _fileDirectory); - GetConfigValue("File Size In MB", _maxFilesizeInMB); - GetConfigValue("Messagetype", _cvmsgtype); - GetConfigValue("Filename", _filename); - _curFilename = _fileDirectory + "/" + _filename + ".json"; - _curFilenamebin = _fileDirectory + "/" + _filename + ".bin"; - _curFilenamesize = _curFilenamebin; - OpenMSGLogFile(); // Add a message filter and handler for each message this plugin wants to receive. - //AddMessageFilter(this, &BsmLoggerPlugin::HandleDecodedBsmMessage); AddMessageFilter < BsmMessage > (this, &MessageLoggerPlugin::HandleBasicSafetyMessage); // Subscribe to all messages specified by the filters above. @@ -83,15 +72,14 @@ void MessageLoggerPlugin::UpdateConfigSettings() __frequency_mon.check(); std::lock_guard lock(_cfgLock); - GetConfigValue("File Location", _fileDirectory); + GetConfigValue("File Location", _fileDirectory); GetConfigValue("File Size In MB", _maxFilesizeInMB); - GetConfigValue("Messagetype", _cvmsgtype); GetConfigValue("Filename", _filename); std::string oldFilename = _curFilename; std::string oldFilenamebin = _curFilenamebin; _curFilename = _fileDirectory + "/" + _filename + ".json"; _curFilenamebin = _fileDirectory + "/" + _filename + ".bin"; - + _curFilenamesize = _curFilenamebin; if (_curFilename.compare (oldFilename) !=0 ) { _logFile.close(); @@ -124,7 +112,6 @@ void MessageLoggerPlugin::OnStateChange(IvpPluginState state) if (state == IvpPluginState_registered) { UpdateConfigSettings(); - //SetStatus("ReceivedMaps", 0); } } @@ -138,7 +125,8 @@ void MessageLoggerPlugin::OnStateChange(IvpPluginState state) */ void MessageLoggerPlugin::HandleBasicSafetyMessage(BsmMessage &msg, routeable_message &routeableMsg) { - + // check size of the log file and open new one if needed + CheckMSGLogFileSizeAndRename(); char *BsmOut; cJSON *BsmRoot, *BsmMessageContent, *_BsmMessageContent; @@ -409,26 +397,42 @@ void MessageLoggerPlugin::HandleBasicSafetyMessage(BsmMessage &msg, /** - * Opens a new log file in the directory specified of specified name for logging BSM messages and - * inserts a header row with names of fields that will be logged when data is received. If a log file - * with the same name already exists before opening a new file, it's renamed with current timestamp suffix. + * Opens a new log file in the directory specified of specified name for logging BSM messages. Once the + * current binary logfile size reaches the configurable maxSize this file is closed, renamed by the current + * time and date and moved to a /ode/ directory where it can be sent to an ODE using the filewatchscript.sh. */ void MessageLoggerPlugin::OpenMSGLogFile() { PLOG(logDEBUG) << "Message Log File: " << _curFilename << std::endl;; //rename logfile if one already exists - std::string newFilename = _fileDirectory + "/" + _filename + GetCurDateTimeStr() + ".json"; - std::string newbinFilename = _fileDirectory + "/" + _filename + GetCurDateTimeStr() + ".bin"; + if ( !boost::filesystem::exists( _fileDirectory + "/json/") ){ + boost::filesystem::create_directory( _fileDirectory + "/json/"); + } + if ( !boost::filesystem::exists( _fileDirectory + "/ode/") ){ + boost::filesystem::create_directory( _fileDirectory + "/ode/"); + } + std::string newFilename = _fileDirectory + "/json/" + _filename + GetCurDateTimeStr() + ".json"; + std::string newbinFilename = _fileDirectory + "/ode/" + _filename + GetCurDateTimeStr() + ".bin"; std::string _newFilename = newbinFilename.c_str(); - std::rename(_curFilename.c_str(), newFilename.c_str()); - std::rename(_curFilenamebin.c_str(), newbinFilename.c_str()); - _logFile.open(_curFilename); - _logFilebin.open(_curFilenamebin, std::ios::out | std::ios::binary | std::ios::app); + int error; + if ( boost::filesystem::exists( _curFilenamebin.c_str() ) ) { + error = std::rename(_curFilename.c_str(), newFilename.c_str() ); + if ( error != 0 ) { + FILE_LOG(logERROR) << "Failed to mv " << _curFilename.c_str() << " to " << newFilename.c_str() << std::endl; + } + + error = std::rename(_curFilenamebin.c_str(), newbinFilename.c_str() ); + if ( error != 0 ) { + FILE_LOG(logERROR) << "Failed to mv " << _curFilenamebin.c_str() << " to " << newbinFilename.c_str() << std::endl; + } + } + _logFile.open(_curFilename); + _logFilebin.open(_curFilenamebin, std::ios::out | std::ios::binary | std::ios::app); if (!_logFile.is_open()) std::cerr << "Could not open log : " << strerror(errno) << std::endl; else { - _logFile << "Message Log file" << GetCurDateTimeStr() << endl; + _logFile << "Message JSON Logs" << endl; } } @@ -437,7 +441,7 @@ void MessageLoggerPlugin::OpenMSGLogFile() * Checks the size of the logfile and opens a new_fileDirectory file if it's size is greater * than the max size specified. */ -void MessageLoggerPlugin::CheckMSGLogFileSizeAndRename(bool createNewFile) +void MessageLoggerPlugin::CheckMSGLogFileSizeAndRename() { if (_logFile.is_open()) { @@ -448,7 +452,6 @@ void MessageLoggerPlugin::CheckMSGLogFileSizeAndRename(bool createNewFile) int curFilesizeInMB = _logFilesize/1048576; if (curFilesizeInMB >= _maxFilesizeInMB) { - createNewFile = true; _logFile.close(); _logFilebin.close(); OpenMSGLogFile(); @@ -483,8 +486,7 @@ int MessageLoggerPlugin::Main() this_thread::sleep_for(chrono::milliseconds(1000)); - // check size of the log file and open new one if needed - CheckMSGLogFileSizeAndRename(true); + } PLOG(logDEBUG) << "MessageLoggerPlugin terminating gracefully."; diff --git a/src/v2i-hub/MessageLoggerPlugin/src/MessageLoggerPlugin.h b/src/v2i-hub/MessageLoggerPlugin/src/MessageLoggerPlugin.h index 106edf216..59ae132b3 100755 --- a/src/v2i-hub/MessageLoggerPlugin/src/MessageLoggerPlugin.h +++ b/src/v2i-hub/MessageLoggerPlugin/src/MessageLoggerPlugin.h @@ -33,17 +33,18 @@ #include #include #include <../../../tmx/TmxApi/tmx/json/cJSON.h> -//#include #include #include #include #include +#include using namespace std; using namespace tmx; using namespace tmx::utils; using namespace tmx::messages; +using namespace boost::filesystem; namespace MessageLoggerPlugin @@ -78,12 +79,11 @@ class MessageLoggerPlugin: public PluginClient DATA_MONITOR(_frequency); // Declares the void OpenMSGLogFile(); - void CheckMSGLogFileSizeAndRename(bool createNewFile=false); + void CheckMSGLogFileSizeAndRename(); std::string GetCurDateTimeStr(); std::ofstream _logFile; std::ofstream _logFilebin; - std::string _cvmsgtype; std::string _filename, _fileDirectory; std::string _curFilename; std::string _curFilenamebin; diff --git a/src/v2i-hub/MobilityOperationPlugin/manifest.json b/src/v2i-hub/MobilityOperationPlugin/manifest.json index 0ce1a2044..87f553c28 100644 --- a/src/v2i-hub/MobilityOperationPlugin/manifest.json +++ b/src/v2i-hub/MobilityOperationPlugin/manifest.json @@ -9,7 +9,7 @@ { "type":"J2735", "subtype":"TMSG03-P", - "description":"..." + "description":"In development" } ], "configuration":[ diff --git a/src/v2i-hub/ODELoggerPlugin/manifest.json b/src/v2i-hub/ODELoggerPlugin/manifest.json index 032217d7e..ed34151e4 100644 --- a/src/v2i-hub/ODELoggerPlugin/manifest.json +++ b/src/v2i-hub/ODELoggerPlugin/manifest.json @@ -1,7 +1,7 @@ { "name":"ODELoggerPlugin", "description":"Listens for J2735 messages and realtime forwards them to ODE.", - "version":"5.0", + "version":"@PROJECT_VERSION@", "exeLocation":"/bin/ODELoggerPlugin", "coreIpAddr":"127.0.0.1", "corePort":24601, diff --git a/src/v2i-hub/SPaTLoggerPlugin/manifest.json b/src/v2i-hub/SPaTLoggerPlugin/manifest.json index 9f58febb2..e957547ad 100644 --- a/src/v2i-hub/SPaTLoggerPlugin/manifest.json +++ b/src/v2i-hub/SPaTLoggerPlugin/manifest.json @@ -14,15 +14,15 @@ "default":"100", "description":"Maximum size of the SPaT log file in mb." }, - { - "key":"File Location", - "default":"/var/log/tmx", - "description":"The location where the log files are stored." - }, { "key":"Filename", "default":"spatTx", "description":"Default name of the SPaT log file." + }, + { + "key":"File Location", + "default":"/var/log/tmx", + "description":"The location where the log files are stored. DO NOT edit while using docker deployment of V2X-Hub!" } diff --git a/src/v2i-hub/SPaTLoggerPlugin/src/SPaTLoggerPlugin.cpp b/src/v2i-hub/SPaTLoggerPlugin/src/SPaTLoggerPlugin.cpp index 25e089fd2..0de93854e 100755 --- a/src/v2i-hub/SPaTLoggerPlugin/src/SPaTLoggerPlugin.cpp +++ b/src/v2i-hub/SPaTLoggerPlugin/src/SPaTLoggerPlugin.cpp @@ -271,9 +271,9 @@ void SPaTLoggerPlugin::HandleSpatMessage(SpatMessage &msg, routeable_message &ro /** - * Opens a new log file in the directory specified of specified name for logging SPaT messages and - * inserts a header row with names of fields that will be logged when data is received. If a log file - * with the same name already exists before opening a new file, it's renamed with current timestamp suffix. + * Opens a new log file in the directory specified of specified name for logging SPaT messages. Once the + * current binary logfile size reaches the configurable maxSize this file is closed, renamed by the current + * time and date and moved to a /ode/ directory where it can be sent to an ODE using the filewatchscript.sh. */ void SPaTLoggerPlugin::OpenSPaTLogFile() { @@ -288,14 +288,17 @@ void SPaTLoggerPlugin::OpenSPaTLogFile() std::string newbinFilename = _fileDirectory + "/ode/" + _filename + GetCurDateTimeStr() + ".bin"; int error; - error = std::rename(_curFilename.c_str(), newFilename.c_str() ); - if ( error != 0 ) { - FILE_LOG(logERROR) << "Failed to mv " << _curFilename.c_str() << " to " << newFilename.c_str() << std::endl; - } - error = std::rename(_curFilenamebin.c_str(), newbinFilename.c_str() ); - if ( error != 0 ) { - FILE_LOG(logERROR) << "Failed to mv " << _curFilenamebin.c_str() << " to " << newbinFilename.c_str() << std::endl; - } + if ( boost::filesystem::exists( _curFilenamebin.c_str() ) ) { + error = std::rename(_curFilename.c_str(), newFilename.c_str() ); + if ( error != 0 ) { + FILE_LOG(logERROR) << "Failed to mv " << _curFilename.c_str() << " to " << newFilename.c_str() << std::endl; + } + + error = std::rename(_curFilenamebin.c_str(), newbinFilename.c_str() ); + if ( error != 0 ) { + FILE_LOG(logERROR) << "Failed to mv " << _curFilenamebin.c_str() << " to " << newbinFilename.c_str() << std::endl; + } + } _logFile.open(_curFilename); _logFilebin.open(_curFilenamebin, std::ios::out | std::ios::binary | std::ios::app); if (!_logFile.is_open())