CoAP master presentaion

7 vues

Publié le

0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
7
Sur SlideShare
0
Issues des intégrations
0
Intégrations
1
Actions
Partages
0
Téléchargements
1
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

CoAP master presentaion

  1. 1. REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET POPULAIRE MINISTERE DE L'ENSEIGNEMENT SUPERIEUR ET DE LA RECHERCHE SCIENTIFIQUE UNIVERSITE TAHRI MOHAMED DE BECHAR Étude et implémentation du protocole CoAP Mémoire Pour l’Obtention du Diplôme de Master en Informatique Option : Système information et réseaux Encadreur : Dr. Benahmed Khélifa. Co-Encadreur: Difallah Wafa. Présenté par : Sefiri Tarek Fadel Mohamed
  2. 2. 01
  3. 3. 02 Le développement d’internet et les technologies du communications (web 3.0 , Ipv6, 6lowpan, …etc.) et des matériels (Smart phone , Tablet… etc.) permet de créé des nouvelles concepts comme : l’internet des objet ou (Internet of Things), (smartcities) ,Cloud-computing …etc. Internet des objets (IdO) est une partie importante d'une nouvelle génération de la technologie que chaque objet « chose ou humain » pourrait être connecté à Internet.
  4. 4. 03 Donc ,Ces nouvelles technologies ont besoin de nouveaux protocoles pour une meilleure fonctionnement. la Solution ??? Permet ces protocole on a protocole CoAP
  5. 5. 05 l'internet des objets représente les échanges des informations et des données provenant de dispositifs présents dans le monde réel vers le réseau Internet.
  6. 6. 06  Il existe de nombreux protocoles sans fil (comme la série IEEE 802.11, 802.15.4 , 6LowPAN, RPL… etc.) pour la communication entre les appareils. Toutefois, compte tenu d'un grand nombre de petits appareils sont incapables de communiquer efficacement avec des ressources limitées, Internet Engineering Task Force (IETF) a développer un protocole léger applé : Constrained Application Protocol (CoAP).
  7. 7. 06
  8. 8. 07 Il y a plusieurs utilisation d’IdO soit dans l’industrie ,transport, santé …etc.
  9. 9. 08  Les réseaux de capteurs sans fil (RCSFs) sont des réseaux Ad hoc généralement constitués de plusieurs dizaines d’entités autonomes à faible cout.
  10. 10. 10  Dans la pile protocolaire chaque couche de model OSI il ya des protocole spécifiques on peut définir quelques un :
  11. 11. 11  Un 6LoWPAN est constitué d'un ensemble d’équipements ayant peu de ressources (CPU, mémoire, batterie) reliés au travers d’un réseau limité en débit (jusqu’à 250 kbit/s). Ces réseaux sont composés d’un grand nombre d’éléments.
  12. 12. 12
  13. 13. 13 RPL est un protocole de routage spécialement adapté aux besoins des communications IPv6 sur des réseaux LLNs, supportant le trafic point à point (P2P), les communications d’un serveur central vers une multitude de nœuds (point à multipoint, P2MP).
  14. 14. 14
  15. 15. 15 DTLS fournit une sécurisation des échanges basés sur des protocoles en mode datagramme. Le protocole DTLS est basé sur le protocole TLS et fournit des garanties de sécurité similaires. DTLS est bien adapté pour la sécurisation des applications et des services qui sont delay-sensitive.
  16. 16. 16
  17. 17. 17  Le protocole CoAP est principalement destiné aux équipements et aux machines qui n'ont parfois qu'un microcontrôleur 8 bits pour tout processeur, très peu de mémoire et qui, en prime, sont connectés par des liens radio lents et peu fiables (les « LowPAN »
  18. 18. 18 CoAP fonctionne sur UDP. Pour sécuriser les échanges, il est aussi possible d’utiliser COAP sur DTLS. CoAP fonctionne de manière asynchrone. CoAP s’appuie sur une approche à deux couches, une couche de messagerie CoAP utilisée afin de traiter la non fiabilité d ’UDP ainsi que la nature asynchrone des interactions (4 messages sont définis CON, ACK, NON, RST) et une couche d’interaction sous forme de requête/réponse héritée du protocole HTTP (Requêtes GET, POST, PUT, DELETE)
  19. 19. 20
  20. 20. 21 Dans cette partie, nous présentons les étapes d’installations dans l’implémentation du protocole CoAP. Pour cela, nous avons utilisé Contiki 2.7 qui met à disposition un simulateur réseau appelé Cooja qui est un émulateur qui permet d’exécuter des programmes
  21. 21. 22 Charger Border-router.c et er-server-examples.c dans skymote «tools  skymote»
  22. 22. 23 Création des nœuds et placer dans la zone de communication
  23. 23. 24  Ouvrir un nouveau terminal et tapez:  makeconnect-router-cooja
  24. 24. 25  En fin, nous ouvrons le navigateur Firefox qui contient l'ajout de Copper (Cu) CoAP pour voir les résultats.
  25. 25. 26 Après l’organigramme on commence par les diffères configuration du chaque composons pour la communication entre le CoAP-Server et CoAP-Client en Platform Contiki 2.7 avec le Gateway RPL et le schéma suivant présente chaque composant :
  26. 26. 27 1. Connectez deux Skys Tmote (vérifier avec $ make TARGET = sky-motelist) 2. make TARGET = ciel er-exemple-server.upload MOTE = 2 3. make TARGET = ciel connexion MOTE = 2 4. Appuyez sur le bouton de remise à zéro, obtenir l'adresse, abort avec Ctrl + C: Ligne: "lien local provisoire adresse IPv6 fe80: 0000: 0000: 0000: ____: ____: ____: ____" Commande de chargement du capteur Serveur-CoAP
  27. 27. 28
  28. 28. 29 1.cd ../ipv6/rpl-border-router/ 2. make TARGET = ciel border-router.upload MOTE = 1 3. make connect-routeur Pour un tty BR autre que USB0: Faire connect-routeur port PORT = X Commande de chargement du capteur Client-CoAP
  29. 29. 30
  30. 30. 31 /********************temperature***********************************/ PERIODIC_RESOURCE(temperature, METHOD_GET,"sensors/temperature","title="Hello temperature: ?len=0..";rt="Text"",60*CLOCK_SECOND); void temperature_handler(void* request, void* response, uint8_t *buffer, uint16_t preferred_size, int32_t *offset) { REST.set_header_content_type(response, REST.type.TEXT_PLAIN); const char *msg = "Observe Periodic Temperature!"; REST.set_response_payload(response, (uint8_t *)msg, strlen(msg)); } void temperature_periodic_handler(resource_t *r) { static uint16_t temperatureVal = 0; static char content[30]; temperatureVal=(uint16_t)rand()%120; coap_packet_t notification[1]; coap_init_message(notification, COAP_TYPE_CON, REST.status.OK, 0); coap_set_payload(notification, content, snprintf(content,sizeof(content), "Temperature: %u F ", temperatureVal)); REST.notify_subscribers(r, temperatureVal, notification); } /****fin temperature****/
  31. 31. 32 /********************humidity***********************************/ PERIODIC_RESOURCE(humidity, METHOD_GET,"sensors/humidity","title="Hello humidity: ?len=0..";rt="Text"",30*CLOCK_SECOND); void humidity_handler(void* request, void* response, uint8_t *buffer, uint16_t preferred_size, int32_t *offset) { REST.set_header_content_type(response, REST.type.TEXT_PLAIN); const char *msg = "Observe Periodic humidity!"; REST.set_response_payload(response, (uint8_t *)msg, strlen(msg)); } void humidity_periodic_handler(resource_t *r) { static uint16_t humidityVal = 0; static char content[30]; humidityVal=(uint16_t)rand()%120; coap_packet_tnotification[1]; coap_init_message(notification, COAP_TYPE_CON, REST.status.OK, 0); coap_set_payload(notification, content, snprintf(content,sizeof(content), "humidity: %u %%", humidityVal)); REST.notify_subscribers(r, humidityVal, notification); } /****fin humidity****/
  32. 32. 34 La simulation de ce protocole nous a donné de bons résultats sous le simulateur Contiki-Cooja. La validation de nos résultats par l’expérimentale en utilisant de vrai capteurs Telosb a montré que notre contribution est basée sur une configuration solide, et que nous somme les premiers masters qui ont réalisés cette taches généralement très évitées par les chercheurs dans ce domaines.
  33. 33. Merci pour votre attention

×