IMA4 2016/2017 P32 : Différence entre versions

De Wiki d'activités IMA
(Feuille d'heures)
(Feuille d'heures)
Ligne 72 : Ligne 72 :
 
|
 
|
 
|1h
 
|1h
|
+
|1h
 
|
 
|
 
|
 
|
Ligne 128 : Ligne 128 :
 
|1h
 
|1h
 
|1h
 
|1h
|
+
|1h
 
|
 
|
 
|
 
|

Version du 14 mars 2017 à 18:38

Cahier des charges

Présentation générale du projet

Contexte

L'expansion de l'utilisation des objets connectés permet de nos jours d'accéder à des données ou de contrôler aisément d'autres systèmes connectés à distance. Les objets connectés sont de plus en plus déployés mais leur sécurité n'est pas toujours testée. Par conséquent, de nombreuses informations sensibles sont susceptibles de transiter en permanence par le biais de multiples plages de fréquences.


Ceci amène donc un questionnement sur la sécurité des transferts de données entre la multitude d'objets connectés actuellement.


Objectif du projet

L'objectif de ce projet est de réaliser un brouilleur d'ondes radiofréquence dans la bande des 868 MHz capable de bloquer les communications LoRa.


Description du projet

A l'aboutissement du projet, nous devrions être capable de détecter une communication LoRa dans la bande des 868 MHz, et de la brouiller elle seule, sans incidence sur les autres communications sur d'autres fréquences du réseau LoRa.

Pour ce faire, nous devrons réaliser un montage réalisant un brouillage sur la plage 863-870Mhz afin d'empêcher toute communication LoRa, en envoyant du bruit électronique sur toute la plage de fréquence.

Pour la suite du projet, nous perfectionnerons ce montage pour qu'il puisse détecter une communication LoRa à une fréquence donnée (grâce au "join-request message" de 18 octets envoyés par le end-point/node, ou bien grâce aux informations données dans le préambule des paquets), afin d'envoyer des données erronées et de bloquer uniquement cette communication.

Si le temps et le budget le permettent, nous pourrons aussi être amenés à brouiller la plage de fréquences autour des 433 MHz (aussi utilisé par le réseau LoRa).

Choix techniques : matériel et logiciel

Afin de réaliser ce système, nous allons utiliser un microcontrôleur cc430 muni d'un transceiver cc1101, d'un récepteur LoRa(868MHz) communicant via protocole SPI avec le microcontrôleur, 2 antennes, une batterie, quelques LEDs.

Calendrier prévisionnel

Liste des tâches à effectuer

  1. Documentation sur le réseau LoRa
    1. moyen de transmission
    2. format de modulation
    3. trame des paquets
  2. Réalisation du premier montage brouillant toute la plage
    1. contrôler l'émetteur RF par un arduino
    2. programmer un bruitage sur la plage 863-870MHz
    3. test et optimisation
  3. Ajout d'un récepteur LoRa pour détecter et brouiller une seule communication
    1. contrôler le récepteur LoRa avec l'arduino
    2. détecter une communication LoRa à une fréquence donnée
    3. contrôler l'émetteur RF afin de brouiller cette communication de manière brutale
    4. brouiller cette communication en tentant de changer les données du paquet
    5. test et optimisation

Calendrier

Avant le 19/12/16 - Élaboration du Cahier des charges et remplissage du Wiki

Avant fin Janvier - Complément du Cahier des Charges et listage du matériel nécessaire pour le projet

Répartition sur le S8 - 120h: Réalisation de la 1ere fonction (45h) / Réalisation de la 2e fonction (45h) / Test et débuguage (30h)

Feuille d'heures

Tâche Prélude Heures S1 Heures S2 Heures S3 Heures S4 Heures S5 Heures S6 Heures S7 Heures S8 Heures S9 Heures S10 Total
Cahier des charges / Wiki 4h 2h 3,5h 4h 1h 1h
Documentation sur le réseau LoRa 6h 1,5h 2h
1ère fonction 2h 1h 8h 6h 6h
2ème fonction
Test et débuguage 1h 1h 1h

Avancement du Projet

Phase préparatoire

Jeu 15/12/16

  • Rendez-vous de mise au point du cahier des charges avec les trois encadrants (M. Boé, M. Vantroys et M. Redon)
  • Elaboration du cahier des charges

Semaine 1

23/01/17 - 29/01/17

  • Revue du Cahier des Charges
  • Recherches approfondies sur les modes de transmissions du réseau LoRa
  • Recherche de matériel

Semaine 2

30/01/17 - 05/02/17

  • Précisions sur le cahier des charges
  • Listage du matériel
  • Recherche et détermination de solutions technologiques possibles pour les fonctions demandées

Semaine 3

06/02/17 - 12/02/17

  • validation du matériel

nous allons utiliser un cc430f5137 (MCU+RF) monté sur une carte optimisée pour les communications autours de 868Mhz

Semaine 4

13/02/17 - 19/02/17

  • Recherche de solutions pour répondre à la 1ère fonction (brouiller la plage 863-870Mhz).

Nous avons décider de définir une fréquence de base et d'incrémenter le canal du cc430 afin de produire une rampe balayant la plage de fréquence. Il nous faudra donc initialiser les 46 premiers registre du module RF du cc430 (les autres étant disponible en lecture uniquement).

Semaine 5

27/02/17 - 05/03/17

  • initialisation des registres

sachanf que Fxosc=26Mhz

  • fréquence de base : nous avons défini la fréquence de base en suivant la formule donnée dans la data sheetCarrier formula.png

ce qui nous a donné les valeurs FREQ2=0x21, FREQ1=0x31 et FREQ0=0x3A (FREQ=2 175 290) qui fixent f=862,999Mhz

  • espace des cannaux : nous avons suivi la formule Chanspace formula.png afin d'avoir un espacement d'environ 100Khz

ce qui nous a donné MDMCFG1=0x02 (CHANSPC_E=2) et MDMCFG0=0x00(CHANSPC_m=0)

  • nous avons aussi choisi de mettre la modulation en mode ASK : nous avons initialiser les registre MDMCFG2=0x30 (mode ASK/OOK) et FREND0=0x50(patable=0 donnant le mode ASK)

Semaine 6

06/03/17 - 12/03/17

  • Nous avons préparé un premier code réalisant une rampe sur la plage 863-870MHz. Ce code est basé sur une boucle infinie et incrémente le registre chann de 0 à 69 (pour passer de 863 à 870Mhz) et envoyant des paquets 0xFF grâce aux fonctions ChangeChannel(chann) et send_comand() (qui ont été défini dans le cadre d'un projet IMA5 de 2016).
  • Après quelques corrections du code nous avons pu le compiler grâce au Makefile.
  • Avec le Makefile et le montage suivant branché en usb sur le PC, nous avons upload le main sur le cc430.

Montage001.png

Semaine 7

13/03/17 - 19/03/17

Fichiers Rendus