def main()

in generateTelemetry.py [0:0]


def main(profile, vin):

   #Set Config path
   CONFIG_PATH = 'config.ini'
   payloadhandler = payloadHandler(CONFIG_PATH)
   #c = Cognito(profile)
   #m = ConnectedMobility(profile, stackname)
   config = Config(CONFIG_PATH)
   config_parameters = config.get_section('SETTINGS')
   #ENDPOINT = config_parameters['IOT_ENDPOINT']
   i = IOT(profile,"", "", CONFIG_PATH)   
   ENDPOINT = i.iotEndpoint
   
   CLIENT_ID = vin
   PATH_TO_CERT = "{}/{}".format(config_parameters['SECURE_CERT_PATH'].format(unique_id=CLIENT_ID), config_parameters['PROD_CERT'])
   PATH_TO_KEY = "{}/{}".format(config_parameters['SECURE_CERT_PATH'].format(unique_id=CLIENT_ID), config_parameters['PROD_KEY'])
   PATH_TO_ROOT = "{}/{}".format(config_parameters['ROOT_CERT_PATH'], config_parameters['ROOT_CERT'])

   event_loop_group = io.EventLoopGroup(1)
   host_resolver = io.DefaultHostResolver(event_loop_group)
   client_bootstrap = io.ClientBootstrap(event_loop_group, host_resolver)

   test_MQTTClient = mqtt_connection_builder.mtls_from_path(
        endpoint=ENDPOINT,
        cert_filepath=PATH_TO_CERT,
        pri_key_filepath=PATH_TO_KEY,
        client_bootstrap=client_bootstrap,
        ca_filepath=PATH_TO_ROOT,
        client_id=CLIENT_ID,
        clean_session=False,
        on_connection_interrupted=on_connection_interrupted,
        on_connection_resumed=on_connection_resumed,
        keep_alive_secs=6)
   
   print("Connecting with Prod certs to {} with client ID '{}'...".format(ENDPOINT, CLIENT_ID))
   connect_future = test_MQTTClient.connect()
 
   connect_future.result()
   print("Connected with production certificates to the endpoint")
        
   tripId = uuid.uuid4().hex
   print("Generating Trip ID of {}".format(tripId))
   latLongDict = payloadhandler.generateLatLongFromCSV()
   print("Begin publishing trip data.  Will publish {} payloads".format(len(latLongDict)))
   startCoords = next(iter(latLongDict))
   endCoords = list(latLongDict)[-1]
   startTime = payloadhandler.getTimestampMS()
   for i in latLongDict:
       payload = payloadhandler.getPayload( i, tripId, CLIENT_ID)
       payloadhandler.publishPayload(test_MQTTClient, payload, CLIENT_ID)
       print("Successfully published coordinates {} of {}".format(i, len(latLongDict)))
       time.sleep(1)
   
   trippayload = payloadhandler.getTripPayload(startTime, startCoords, endCoords, tripId, CLIENT_ID)
   payloadhandler.publishTripPayload(test_MQTTClient, trippayload, CLIENT_ID) 
   
   print("Trip data published sucessfully")   
   exit()