main.cpp 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. #include <QCoreApplication>
  2. #include "ivversion.h"
  3. #include <yaml-cpp/yaml.h>
  4. #include "vehicle_upload.h"
  5. #include "vehicle_control.h"
  6. #include "vehicle_patrol.h"
  7. #include <QFile>
  8. #include <QString>
  9. #include <QStringList>
  10. std::string gstrserverip = "139.9.235.66";//"123.57.212.138";
  11. std::string gstruploadPort = "10591";//"9000";
  12. std::string gstrpatrolPort = "10592";//"9000";
  13. std::string gstrcontrolPort = "20591";//"9000";
  14. std::string gstruploadInterval = "500";
  15. std::string gstrpatrolInterval = "500";
  16. std::string gstrcontrolInterval = "100";
  17. std::string gstruploadMapInterval = "500";
  18. std::string gstrid = "1234567890123456789H";
  19. std::string gstrplateNumber = "津A123456";
  20. void dec_yaml(const char * stryamlpath)
  21. {
  22. YAML::Node config;
  23. try
  24. {
  25. config = YAML::LoadFile(stryamlpath);
  26. }
  27. catch(...)
  28. {
  29. qDebug("yaml file has some unknown characters or load fail.");
  30. return;
  31. }
  32. if(config["server"])
  33. {
  34. gstrserverip = config["server"].as<std::string>();
  35. }
  36. if(config["uploadPort"])
  37. {
  38. gstruploadPort = config["uploadPort"].as<std::string>();
  39. }
  40. if(config["patrolPort"])
  41. {
  42. gstrpatrolPort = config["patrolPort"].as<std::string>();
  43. }
  44. if(config["controlPort"])
  45. {
  46. gstrcontrolPort = config["controlPort"].as<std::string>();
  47. }
  48. if(config["uploadInterval"])
  49. {
  50. gstruploadInterval = config["uploadInterval"].as<std::string>();
  51. }
  52. if(config["patrolInterval"])
  53. {
  54. gstrpatrolInterval = config["patrolInterval"].as<std::string>();
  55. }
  56. if(config["controlinterval"])
  57. {
  58. gstrcontrolInterval = config["controlinterval"].as<std::string>();
  59. }
  60. if(config["uploadmapinterval"])
  61. {
  62. gstruploadMapInterval = config["uploadmapinterval"].as<std::string>();
  63. }
  64. if(config["id"])
  65. {
  66. gstrid = config["id"].as<std::string>();
  67. }
  68. if(config["plateNumber"])
  69. {
  70. gstrplateNumber = config["plateNumber"].as<std::string>();
  71. }
  72. return;
  73. }
  74. int main(int argc, char *argv[])
  75. {
  76. showversion("driver_cloud_grpc_client_BS");
  77. QCoreApplication a(argc, argv);
  78. char stryamlpath[256];
  79. if(argc<2)
  80. {
  81. snprintf(stryamlpath,255,"driver_cloud_grpc_client_BS.yaml");
  82. }
  83. else
  84. {
  85. strncpy(stryamlpath,argv[1],255);
  86. }
  87. dec_yaml(stryamlpath);
  88. std::string control_str = gstrserverip+":";
  89. control_str = control_str + gstrcontrolPort ;
  90. std::string patrol_str = gstrserverip+":";
  91. patrol_str = patrol_str + gstrpatrolPort;
  92. std::string upload_str = gstrserverip+":";
  93. upload_str = upload_str + gstruploadPort ;
  94. DataExchangeClient *vehicleuploaddata = new DataExchangeClient(grpc::CreateChannel(upload_str, grpc::InsecureChannelCredentials()));
  95. vehicleuploaddata->start();
  96. VehicleChangeCtrlModeClient *vehiclechangectrlmode = new VehicleChangeCtrlModeClient(grpc::CreateChannel(control_str, grpc::InsecureChannelCredentials()));
  97. VehicleControlClient *vehiclecontrol = new VehicleControlClient(grpc::CreateChannel(control_str, grpc::InsecureChannelCredentials()));
  98. QObject::connect(vehiclechangectrlmode,&VehicleChangeCtrlModeClient::ctrlMode_Changed,vehiclecontrol,&VehicleControlClient::ctrlMode_Changed_Slot);
  99. vehiclechangectrlmode->start();
  100. vehiclecontrol->start();
  101. VehicleUploadMapClient *vehicleuploadmap = new VehicleUploadMapClient(grpc::CreateChannel(control_str, grpc::InsecureChannelCredentials()));
  102. QObject::connect(vehicleuploadmap,&VehicleUploadMapClient::patrolPOI_Recieved,vehicleuploaddata,&DataExchangeClient::patrolPOI_Recieved_Slot);
  103. QObject::connect(vehicleuploaddata,&DataExchangeClient::uploadPath_Finished,vehicleuploadmap,&VehicleUploadMapClient::uploadPath_Finished_Slot);
  104. vehicleuploadmap->start();
  105. VehiclePatrolExceptionClient vehiclepatrol(grpc::CreateChannel(patrol_str, grpc::InsecureChannelCredentials()));
  106. vehiclepatrol.start();
  107. return a.exec();
  108. }