API documentation Projet Mish

Cette documentation présente les fonctions de la GateWay permettant d'interfacer le drone interceptor/Rover interceptor et le C2.
Pour appeler l'api il faudra passer une clé dans les appels en POST.
Tous les messages devront avoir un param {key:Mish22} pour être autorisé.

POST /drone/info


Description


Ce web service peut être appeler tout les 500 ms.

Liste des modes :
  • ATT_PRET : Le drone est au sol et en attente d'instruction prêt a voler
  • ATT_NON_PRET : Le drone est au sol mets ne valide pas la checklist de vol
  • DECO : Le drone est en train de décoller
  • VOL_ATT : Le drone est en vol en attente
  • VOL_TRACK : Le drone est en vol en tracking
  • VOL_GOTO : Le drone est en vol en GOTO
  • VOL_RETOUR : Le drone est en retour point decollage
  • VOL_URGENCE : Le drone est en poser urgence

  • La telem est un object qui contient les retours d'information du drone. Ceci reste actif pendant 10 secondes puis se vide automatiquement.

    post_data

    :
    Aucun

    Réponse

    :
    Structure JSON {res:true ,data:{ date: 10000000 TimeStamp , Mode: LOITER Mode du drone (Definition a venir) ,gps:{ lat:1.00 Position Latitude ,lng:1.00 Position Longitude ,nbsat:10 Nb satelites en fixe ,hdop:100 Précision Horizontal ,vdop:100 Précision Vertical ,speed:100 Km/h ,alti:100 m sol ,alti_sea:100 m sea } , battery:{ volt : 24 Voltage de la batterie ,current : 100 Amperage instantané ,current_cons : 1000 Amperage consommé ,perc : 100 Pourcentage de la batterie } } , brouilleur:{ mode: 1 Etats du brouilleur (1: standBy / 2: WifiBand / 3: All ) } , telem:{ info_warning: text télémetrie warning info_critical: text télémetrie erreur info: text télémetrie info } }

    POST /drone/jam


    Description


    Ce web service doit être appelé Une fois pour activer le brouilleur.
    Attention plusieur param sont à apporter pour les différents mode de brouillage
    MODE :
  • 0: Stand By
  • 1: Brouillage WifiBand
  • 2: Brouillage WifiBand & GNSS
  • post_data

    :
    {data:{ mode: 0 Selon la definition dans la description }

    Réponse

    :
    Structure JSON {res:true , Brouilleur:{ mode: 1 Etats du brouilleur (1: standBy / 2: WifiBand / 3: All ) } }

    POST /drone/start_track


    Description


    Ce web service doit être appelé Une fois pour demander au drone démarrer son tracking .
    Ce web service permet d'activer le tracking.
  • Si le drone est au sol, le drone decollera et partira en tracking
  • Si le drone est standby en l'air, il lancera le tracking
  • Si le drone est déjà en tracking la commande est ignoré


  • Des Params doivent être passé pour savoir le mode de brouillage auto à utiliser.
    Mode auto brouillage :
  • 0: Sans auto brouillage, l'opérateur devra activer le brouillage a la main
  • 1: Le drone activera automatiquement un brouillage WifiBand lors d'une distance < 400m de la cible
  • 2: Le drone activera automatiquement un brouillage WifiBand & GNSS lors d'une distance < 400m de la cible
  • post_data

    :
    {data:{ mode_brouillage: 0 Selon la definition dans la description }

    Réponse

    :
    Structure JSON {res:true}

    POST /drone/goto


    Description


    Ce web service doit être appelé Une fois pour demander au drone de se déplacer sur un point .
    Ce web service permet d'envoyer le drone a une position et altitude donnée.
  • Si le drone est au sol, le drone decollera et partira a 15m puis partira sur le GOTO
  • Si le drone est standby en l'air, il lancera le goto
  • Si le drone est tracking en l'air, il quitte le tracking et par en goto. /!\ il faudra donc relancer le track mode /!\


  • Une position correct doit être envoyé. Une analyse de la distance entre le point et son point de décollage sera faite.
    Une Erreure sera alors levé si la distance dépasse les 2 km

    post_data

    :
    {data:{ lat: 43.000000 lng: -1.000000 alti: 10 en mètre }

    Réponse

    :
  • validate true/false Si le drone ne peut pas executer la commande le drone indique la raison dans le text info
  • Structure JSON {res:true,validate:true, info:""}

    POST /drone/standby


    Description


    Ce web service doit être appelé Une fois pour demander au drone de rester en place en vol et de ne plus bouger.
  • Si le drone est au sol,a commande est ignorée
  • Si le drone est standby en l'air, il lancera arrete tout action et tient sa position
  • Si le drone est déjà en tracking la commande est ignorée
  • post_data

    :
    Aucun

    Réponse

    :
    Structure JSON {res:true}

    POST /drone/abort


    Description


    Ce web service doit être appelé Une fois pour demander au drone de rentrer se poser sur son point de décollage.
    Ce web service n'a d'interet que quand le drone est en l'air. En cas d'appel hors context, la commande est ignorée

    post_data

    :
    Aucun

    Réponse

    :
    Structure JSON {res:true}

    POST /drone/safeland


    Description


    Ce web service doit être appelé Une fois pour demander au drone de se poser immediatement sur place.
    Ce web service n'a d'interet que quand le drone est en l'air . En cas d'appel hors context, la commande est ignorée

    post_data

    :
    Aucun

    Réponse

    :
    Structure JSON {res:true}

    POST /drone/kill


    Description


    Ce web service doit être appelé Une fois pour demander au drone de couper ses moteurs.
    Ce web service n'a d'interet que quand le drone est en l'air . En cas d'appel hors context, la commande est ignorée

    ATTENTION CRITIQUE
    Un param KILL doit être envoyer avec une valeur spécifique pour ne pas faire d'erreur.
    Cette procedure d'urgence doit être activer en cas de perte total de control de la machine.
    Lors des essaies, un pilote sureté sera présent, et ainsi il sera inutile d'implémenter cette fonction.

    post_data

    :
    {data:{ kill: 212 valeur de kill }

    Réponse

    :
    Structure JSON {res:true}

    POST /drone/camera


    Description


    Ce web service doit être appelé Une fois pour commander un deplacement caméra.
    Il suffit de fournir une position et la caméra pointera la zone demander.

    post_data

    :
    {data:{ lat: 1.0 lng: -1.0 alt: 10 valeur de m relative au point de décollage du drone. mettre -255 pour laisser le drone gérer }

    Réponse

    :
    Structure JSON {res:true}

    POST /drone/camera_zoom


    Description


    Ce web service doit être appelé Une fois pour commander zoom.

    post_data

    :
    {data:{ zoom: 1 valeur de zoom +1 pour zoomer / -1 pour dézoomer }

    Réponse

    :
    Structure JSON {res:true}

    POST /intru/set


    Description


    Ce web service peut être appeler tout les 500 ms pour injecter les drone intrud dans le cas de la detection d'un intru.

    post_data

    :
    Structure JSON {data:{ date: 10000000 TimeStamp ,gps:{ lat:1.00 Position Latitude ,lng:1.00 Position Longitude ,alti:1.00 Position atlitude } }

    Réponse

    :
    Structure JSON {res:true}

    POST /intru/get


    Description


    Ce web service peut être appeler tout les 200 ms pour récupéré les drone intrus dans le cas de la detection d'un intru.

    post_data

    :
    Structure JSON

    Réponse

    :
    Structure JSON {res:true, data:{ date: 10000000 TimeStamp ,gps:{ lat:1.00 Position Latitude ,lng:1.00 Position Longitude ,alti:1.00 Position atlitude } }

    API Mish

    Connexion