Choix canal NRF24

Bonjour

J'ai déjà une petite installe de deux arduinos qui tourne très bien avec une liaison NRF24.

J'en fais une autre, toujours avec des NRF24, mais le soucis est qu'elles se perturbent entre elles.
J'ai passé la seconde sur le canal 111 (pris au hasard), c'est ok, mais j'aimerais prendre un canal
dont je suis sur qu'il est le moins "bruité" possible.

Dans la bibliothèque RF24 il y a un exemple "scanner".
Je l'ai fait, mais je suis incapable d'interpréter le résultat pour faire un choix.
Pas trouvé d'infos sur la manière de lire ce scanner sur le net.

RF24/examples/scanner/
SPI Speedz	 = 10 Mhz
STATUS		 = 0x0e RX_DR=0 TX_DS=0 MAX_RT=0 RX_P_NO=7 TX_FULL=0
RX_ADDR_P0-1	 = 0xe7e7e7e7e7 0xc2c2c2c2c2
RX_ADDR_P2-5	 = 0xc3 0xc4 0xc5 0xc6
TX_ADDR		 = 0xe7e7e7e7e7
RX_PW_P0-6	 = 0x00 0x00 0x00 0x00 0x00 0x00
EN_AA		 = 0x00
EN_RXADDR	 = 0x03
RF_CH		 = 0x4c
RF_SETUP	 = 0x07
CONFIG		 = 0x0e
DYNPD/FEATURE	 = 0x00 0x00
Data Rate	 = 1MBPS
Model		 = nRF24L01+
CRC Length	 = 16 bits
PA Power	 = PA_MAX
ARC		 = 0
000000000000000011111111111111112222222222222222333333333333333344444444444444445555555555555555666666666666666677777777777777
0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCD
000000011100000000000000000000000000000101100010000000000000000000000000000000000000000000000000000000000000000000000000000000
000000021000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000102100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000021000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000021100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000


Si une bonne âme pouvais m'expliquer.

Merci

Si une bonne âme pouvais m'expliquer.

ce que vous voyez se lit comme cela:

sur les 2 premières lignes, en superposé (vertical), vous voyez les N° de canaux de 0x00 à 0x7D (de 0 à 125)

Ensuite vous avez des lignes qui se répètent et vous donnent un "niveau de bruit" pour un canal.

On voit par exemple que les canaux 07 et 08 sont occupés et qu'il y a aussi un peu de bruit sur les canaux entre 0x27 à 0x2E mais pas constant, juste au début.

la valeur que vous voyez c'est 1 digit en hexadécimal (0 à F donc) qui vous dit le nombre de fois où le canal a été vu comme occupé lors de 100 scans successifs pendant 128 µs. Donc plus le chiffre est grand, plus y'a du risque de conflit sur ce canal.

C'est un peu approximatif car leur code ne prend que les 4 bits de poids faibles du compte et donc is vous avez 16 hits ou 50 hits sur 100 par exemple vous verrez F..

Pour mieux voir changez la fin du code d'exemple en

    // Print out channel measurements, clamped to a single hex digit
    int i = 0;
    while ( i < num_channels )
    {
      if (values[i]  > 0xF) Serial.write('H'); // don't clamp if it's High, show 'H'
      else Serial.print(min(0xf, values[i]), HEX);
      ++i;
    }
    Serial.println();

comme ça dans les canaux où vous verrez un H c'est que c'est 16 ou au delà de 16. ça vous donne un point de granularité en plus :slight_smile: et on pourrait faire aussi toutes lettres de l’alphabet

J’espère que c’est clair avec un dessin ?

Merci beaucoup pour cette réponse très claire.

Bonne soirée

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.