def main():

    sendSMS = SendSMS()
    battery = Battery(ws)
    delivery = Delivery(ws)
    result = ws.recv()
    result = json.loads(result)
    pprint("RESULTADO %s" % result)
    resposta = ""
    global total_steps
    global current_step

    # nivelBateria = GPIO.input(12)

    if result.get('type') == None:

        show = result.get('message')
        pprint(show)

        # result
        if show.get('type') == "Change":
            print "ESTADO DA BATERIA MUDOU "
            global nivelBateria
            global sendSMSAdmin
            nivelBateria = "Medio"
            sendSMSAdmin = "true"

        if show.get('type') == "Delivery":
            destination = show.get('destination').get('departament_name')
            key_access = show.get('key_access')
            global tracker
            tracker = show.get('tracker')

            print "\n Pedido Gerado para %s com o ID %s e PASSWORD %s" % (
                destination, tracker, key_access)

            # Capturar a rota de envio e direcionar para o carrinho
            route = show.get('route').get('name')

            total_steps = show.get('route').get('total_steps')

            current_step = show.get('route').get('current_step')
            print total_steps
            print current_step

            sender_name = show.get('sender').get('employee_name')
            sender_number = show.get('sender').get('contacts')[0].get(
                'description')

            recipient_name = show.get('recipient').get('employee_name')
            recipient_number = show.get('recipient').get('contacts')[0].get(
                'description')
            sendSMS.smsForSender(recipient_name, recipient_number, destination,
                                 tracker, key_access)
            start_delivery(route)
            resposta = "Deslocamento"

        if show.get('type') == "Open":
            pass
        if show.get('type') == "infoAdmin":
            pprint(show.get('admins'))
            admins = show.get('admins')
            for admin in admins:
                print("---------- Informando Admins ----------")
                admin_name = admin.get('name')
                admin_contact = admin.get('contact')
                sendSMS.informStatusBatterry(admin_name, admin_contact)

    if nivelBateria == "Baixo":
        pass
    if nivelBateria == "Medio":
        if sendSMSAdmin == 'true':
            global sendSMSAdmin
            battery.get_admins("MESSAGE")
            battery.inform("Mudando Status")
            global nivelBateria
            sendSMSAdmin = 'false'
            nivelBateria = "Alto"
    if nivelBateria == "Alto":
        pass

    # resposta = ser.readline()
    # if (resposta == "Deslocamento") :
    #     deslocamento = ser.readline() #NUMERO DE VEZES QUE DESLOCOU NO EIXO X.

    print "Current %s" % current_step
    print "Total %s" % total_steps

    while current_step < total_steps:
        if (resposta == "Deslocamento"):
            #deslocamento = ser.readline() #NUMERO DE VEZES QUE DESLOCOU NO EIXO X.
            # while info < 10:
            global tracker
            print tracker

            delivery.update_delivery(info, tracker)
            time.sleep(7)
            global info
            info = info + 1
            current_step = info
            print "Aqui -----"
            # sendSMS.stop_delivery("ed")

        else:
            pass