Giter VIP home page Giter VIP logo

smart-traffic's Introduction

SMART TRAFFIC

Description

Le contexte de ce projet se situe dans la découverte et l'utilisation des protocoles de communication à faible coût suivant :

  • XMPP
  • MQTT qui jouent une grande importance dans le monde l'IoT.

Bibliothèques XMPP :

  • SMACK (java)
  • STROPHE (javascript)

Bibliothèques MQTT :

  • Eclipse paho

Architecture du projet

Architechture

Fonctionement

[TODO] Fontionement

Installation

  1. Clone du projet

    git clone https://github.com/jordy-aquiteme/smart-traffic

  2. Nom de Domaine

    Ajoutez les lignes suivantes dans votre fichier /etc/hosts:

    • 10.5.0.2 example.com
    • 10.5.0.2 pubsub.example.com

    ⚠️ Assurez vous d'être connecté à Internet.

  3. Docker Compose

    Suivez ce lien pour installer docker compose https://docs.docker.com/compose/install/ .

Usage

  1. Démarrage

    1. Serveurs et passerelles

      Dans une console, tapez la commande ci-dessous :

      docker-compose -f smart-traffic/docker-compose.yml up

      ⚠️ Le démarrage peut prendre quelques minutes et il faudrait attendre avant de démarrer la simulation !!!

    2. Simulation

      Dans une autre console, tapez la commande ci-dessous :

      docker-compose -f smart-traffic/car/docker-compose.yml up

      la simulation démarrera avec les fichiers par défauts qui se trouvent dans car/data

      Par ailleurs, le simulateur d'une voiture est construit comme suit :

      • Un fichier de configuration (sous format .yml), pour simuler les mouvements de la voiture.

            car:
              stationId: FR-CAR-1
              stationType: 5
              scenarios:
              - name: normal
                movements:
                - event: /zone/in
                  perform: null
                  speed: 90.0
                  heading: 0
                  position:
                    latitude: 49.282851
                    longitude: 4.107277

        Et ce fichier peut être construit de deux manières :

        • 1ère manière :

          Préparez un fichier .csv (délimité par des virgules) des coordonnées comme suit :

          latitude longitude
          49.282851 4.107277
          49.282812 4.107097
          49.282844 4.106873

          Ensuite, exécutez le script car/data/code/CarConfigGenerator.py et laissez vous guider.

        • 2ème manière :

          Fournissez un fichier, toujours sous format .csv (délimité par des virgules) comme suit :

          latitude longitude speed event perform causeCode
          49.282866319075254 4.107265912578656 90 1 n
          49.28281751032647 4.107078855827175 90 3 n
          49.28010093750807 4.099604857129973 30 3 o 4
          • event :

            • Entrée dans une zone : 1
            • Sortie d'une zone : 2
            • Message normal : 3
          • perform : pour indiquer qu'à cette étape nous souhaitons envoyer un message de type DENM.

          • causeCode : le code de l'évèvenement

            • Accident : 4
            • Embouteillage : 5
            • etc.

          Et ensuite, il vous faudra également exécuter le script car/data/code/CarConfigGenerator.py.

      • Un programme d'exécution car/data/code/car.py.

  2. WEB UI

Pour apercevoir, les différents événements remontés en temps réel par les passerelles, connectez vous via l'interface au centralisateur d'événement.

http://localhost:8083/traffic-mgt-center/

REDIRECTION DE PORTS (au cas où l'architecture sera déployé dans une machine vituelle)

  • localhost 5280

  • localhost 8083

  • localhost 8084

    WEB UI

PS: les différents paquets envoyés peuvent être visualisés dans les logs docker-compose correspondant.

smart-traffic's People

Contributors

jaquiteme avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.