Outils pour utilisateurs

Outils du site


wiki:projets:spectrumanalyserdiy

Analyseur de spectre du pauvre

Avec les récents évènements de survole de centrales nucléaire par des drones, la question de la détection de ces engins, trop petits pour les radars conventionnel se pose une fois de plus.

Une solution serait de repérer le pilote grâce au signal émis par sa télécommande. Le dispositif imaginé combine 3 analyseurs de spectre et utilise le procédé de triangulation pour obtenir une position relative de la source du signal.

L'ennui est qu'un analyseur de spectre est un appareil très coûteux. La première étape est donc de s'en fabriquer un à moindre coût.

Pour cela nous utilisons le module wireless 2.4GHZ NRF24L01 (electrodragon) et un arduino.

  • NRF24L01 → Arduino
  • 1 GND → GND
  • 2 VCC → 3.3V
  • 3 CE → D8
  • 4 CSN → D10
  • 5 SCK → D13
  • 6 MOSI → D11
  • 7 MISO → D12
  • 8 IRQ → N/A

Nous utilisons la bibliothèque RadioHead pour communiquer avec le module.

#include <SPI.h>
#include <RH_NRF24.h>
 
RH_NRF24 nrf24;
 
int chan[128];
 
void setup() {
  Serial.begin(9600);
  while (!Serial);
 
  if (!nrf24.init())
    Serial.println("NRF24 init failed.");
 
  if (!nrf24.setRF(RH_NRF24::DataRate250kbps, RH_NRF24::TransmitPowerm18dBm))
    Serial.println("setRF failed.");
 
  Serial.println("NRF24L01 initialised.");
}
 
void loop() {
  for (int j=0 ; j<100 ; j++) { // On intègre sur 100 itérations
    for (int i=0 ; i<128 ; i++) { // On test les 128 canaux (chaque canal correspond à une fréquence)
      nrf24.setChannel(i);
      nrf24.setModeRx();
      delay(1);
      uint8_t rpd = nrf24.spiReadRegister(RH_NRF24_REG_09_RPD); // 1bit malheureusement
      if (rpd>0) chan[i]++;
    }
  }
 
  for (int i=0 ; i<128 ;i++) { // On affiche le résultat
    Serial.print(" ");
    Serial.print(chan[i], DEC);
    chan[i] = 0;
  }
  Serial.println();
  delay(1000);
}

Résultat:

NRF24L01 initialised.
 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 2 7 7 7 7 7 6 8 8 7 7 1 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 6 5 6 6 7 7 7 9 7 10 5 3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 8 7 9 10 7 8 7 7 6 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 7 7 9 8 7 7 7 7 6 6 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 4 3 3 4 4 5 6 6 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 0 8 6 7 10 8 7 8 7 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 4 7 6 9 9 9 10 6 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 1 6 7 7 6 7 4 4 4 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 0 6 7 7 7 7 4 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 4 5 6 7 6 4 3 4 2 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Nous pouvons voir ici les canaux utilisés par le routeur wifi du coin. Mais nous n'avons pas accès à une vrai valeur de puissance du signal, donc on peut oublier la triangulation avec cette méthode. Mais nous avons réalisé nous mêmes un analyseur de spectre 2.4GHz pour seulement quelques dollars.

wiki/projets/spectrumanalyserdiy.txt · Dernière modification: 2016/09/11 13:00 (modification externe)