[RESOLU] ESP32/TTGO : à la recherche des pipes de NRF24L01+

Bonsoir,

voici ma question :

un des points forts des NRF24 est la possibilité de dispose de 6 canaux logiciels (pipes). C'est bien pratique lorsque l'on veut envoyer des données de plusieurs NRF24 travaillant en émetteur vers un seul NRF24 fonctionnant en récepteur. Ça marche très bien mais la portée des NRF24 quoi qu'on lise n'est pas fantastique. De plus, il faut (par exemple) du côté émetteur un MCU type arduino et du côté récepteur un MCU type esp8266 si on veut envoyer les données sur le net ou ailleurs via le WiFi. Cela dit ça fonctionne sans problème (et ce n'est pas cher).

L'utilisation de modules type esp32 ttgo lora a aussi de nombreux avantages, un seul élément assurant les fonctions de MCU et de transmetteur radio, aussi bien pour l'émission que pour la réception, une consommation faible, un RTC interne (donc plus de DS3231). De plus les portées sont meilleures qu'avec des transceivers NRF24.

Oui mais comment faire pour reproduire la fonctionnalité des NRF24 avec ses 6 pipes ? Je n'ai pas trouvé sur la toile de solution simple (hors création d'un réseau LoRa).

Je cherche quelque chose de simple, pas une usine à gaz :slight_smile:

Vous avez une idée ?

bonjour,
amha
peu de réponses, sans doute parce qu'on est dans une autre philosophie
tu codais genre nrf, tu coderas genre wifi

par ailleurs :
est-il prouvé que la portée des esp est meilleure que celle des nrf24l01+ ?
la famille nordic fait aussi des mcu intégrant le transceiver, c'est peut-être la solution, en compatibilité avec ce que tu as déjà fait

(désolé de ne pas répondre à la question, c'est aussi pour me mettre au courant des réponses données)

Merci pour ce premier retour, je comprends tes arguments.

J'utilise les deux systèmes et si dans une de mes applications je me tourne vers l'esp32 c'est par simplicitéet surtout pour la portée. Concernant celle-ci, en milieu urbain, je constate que les esp32 ont une bien meilleure portée que le nrf24l01+. Il y a une certaine logique, plus on monte en fréquence, moins l'onde diffracte et diffuse et c'est souvent les ondes diffusées par les obstacle qui sont détectées. Donc un nrf24 en rase campagne ça doit être top, chez moi avec des murs épais, la portée reste insuffisante.

Bonsoir

ESP32 et nRF24L01 fonctionnent sur la même bande de fréquence !

C'est la puissance émise (+13dBm) qui donne un avantage de portée à l'ESP32, par rapport à un nRF24L01+ basique (0dBm)

L'avantage disparait probablement si on prend un nRF24L01+ avec PA et LNA (plus puissant et plus sensible)
PALNA.png

PALNA.png

Oui.
Chez moi j'utilise une passerelle MYSENSORS avec NRF24L01 PA+LNA (les capteurs sont équipés de NRF24L01 avec antenne imprimée) et mes murs intérieurs font 40cm d'épaisseur. Jusqu'à 8m ça passe.

Lacuzon:
Merci pour ce premier retour, je comprends tes arguments.

J'utilise les deux systèmes et si dans une de mes applications je me tourne vers l'esp32 c'est par simplicitéet surtout pour la portée. Concernant celle-ci, en milieu urbain, je constate que les esp32 ont une bien meilleure portée que le nrf24l01+. Il y a une certaine logique, plus on monte en fréquence, moins l'onde diffracte et diffuse et c'est souvent les ondes diffusées par les obstacle qui sont détectées. Donc un nrf24 en rase campagne ça doit être top, chez moi avec des murs épais, la portée reste insuffisante.

Bonjour Lacuzon
Comme répondu par al1fch esp32 ou nrf24l01 , la bande de fréquence utilisée est là la même
En radio il faut raisonner bilan de liaison entre émetteur et recepteur , en gardant ici à l'esprit qu'un esp32 ou un nrf24l01 est un transceiver (à la fois un émetteur et un récepteur)
une approche accessible est l' équation de Friis

Bonsoir,

Là je suis perdu... je suis bien d'accord que la bande de fréquence WiFi est identique (2,4 GHz) mais la bande de fréquence de l'émetteur LoRa est bien de 868 MHz ou je me trompe ?

En tout cas, j'ai fait un paquet d'essais avec nrf24 (que j'apprécie par ailleurs) tant que je suis en ligne droite ça marche quasiment sans données aberrantes ou perdue. Il tourne en routine depuis 2 ou 3 ans. Quand je ne suis plus à vue, j'ai des trous de réception. C'est pour cette raison que j'ai cherché une autre solution plus sensible.

J'ajoute que j'utilise les nrf24 avec ampli (PA +LNA),

C'est sans doute une question de puissance disponible peut être aussi une mise en oeuvre logicielle pas au top...

Merci des retours.

Lacuzon:
Bonsoir,

Là je suis perdu... je suis bien d'accord que la bande de fréquence WiFi est identique (2,4 GHz) mais la bande de fréquence de l'émetteur LoRa est bien de 868 MHz ou je me trompe ?

En tout cas, j'ai fait un paquet d'essais avec nrf24 (que j'apprécie par ailleurs) tant que je suis en ligne droite ça marche quasiment sans données aberrantes ou perdue. Il tourne en routine depuis 2 ou 3 ans. Quand je ne suis plus à vue, j'ai des trous de réception. C'est pour cette raison que j'ai cherché une autre solution plus sensible.

J'ajoute que j'utilise les nrf24 avec ampli (PA +LNA),

C'est sans doute une question de puissance disponible peut être aussi une mise en oeuvre logicielle pas au top...

Merci des retours.

Ok , là tu parle d'un module TTGO qui est basé sur une esp32 et qui embarque aussi un SX1276 (géré par l'esp32) pour faire de la com en protocole Lora?
le SX1276 à une gamme de fréquence allant de 137 à 1020 MHz (fréquence modifiable par le prog chargé dans l'esp32)
là il faut bien penser à mettre des antennes taillées/adaptées pour la fréquence choisie (137 ou 1020 ce n'est pas du tout la même chose)

Bonsoir

LoRa peut , en France, fonctionner sur les bandes 433MHz ou 868MHz (LoRa sur 2,4Ghz arrive bientôt)

L''antenne et sa liaison avec puce LoRa sont adaptées pour l'une OU l'autre des deux bandes.
Il faut donc une carte adaptée à la bande choisie.

Ouf, je croyais que je n'avais rien compris... oui c'est un esp32 ttgo SX1276 868 MHz. Pour ce que je fais (peu de données à la fois) ça me suffit et le côté sympa, c'est que j'utilise la transmission à "basse" fréquence, puis les données sont reçues sous le protocole LoRa et réémisent par WiFi vers mon raspberry et le web.

Seul souci, je ne sais effectivement pas recevoir sur un unique esp32 ttgo les données de plusieurs émetteurs (j'essaie de réduire le nombre de mes dispos.

al1fch:
Bonsoir

LoRa peut , en France, fonctionner sur les bandes 433MHz ou 868MHz (LoRa sur 2,4Ghz arrive bientôt)

L''antenne et sa liaison avec puce LoRa sont adaptées pour l'une OU l'autre des deux bandes.
Il faut donc une carte adaptée à la bande choisie.

Bonsoir Al1
oui
En France ce qui peut etre piegeux avec les semtech SX127x implanté ici où là
ce sont des antennes associées non/mal adaptées
Si le module livré avec une antenne est un SX1278 (137/525) la proba que l'antenne associée soit taillée pour du 434 est importante

En revanche si le module est un SX1276 (137/1020) , il y a sauf à avoir d'autres certitudes/garantie une grosse ambiguïté concernant l'antenne livrée : 434 ou 868 ? (meme si 434 X 2 çà donne 868 :grin: ) la taille/adaptation n'est pas la même

Lacuzon:
Ouf, je croyais que je n'avais rien compris... oui c'est un esp32 ttgo SX1276 868 MHz. Pour ce que je fais (peu de données à la fois) ça me suffit et le côté sympa, c'est que j'utilise la transmission à "basse" fréquence, puis les données sont reçues sous le protocole LoRa et réémisent par WiFi vers mon raspberry et le web.

Seul souci, je ne sais effectivement pas recevoir sur un unique esp32 ttgo les données de plusieurs émetteurs (j'essaie de réduire le nombre de mes dispos.

La méthode la plus simple est que tu incorpore dans ta charge utile un identifiant discriminant pour chaque point émetteur

puis les données sont reçues sous le protocole LoRa et réémises par WiFi vers

il y a peut être un souci, si l'esp32 envoie des trucs sur le wifi à ton insu, ça peut saturer l'entrée du SX1276, même si c'est pas la même fréquence : est-ce que le système rattrape automatiquement les couacs ?

Bonsoir

@lacuzon : dans le message #2 tu ne mentionnais pas LoRa ,par ailleurs j'avais oublié le message initial...d'ou la seule remarque sur la fréquence commune entre WiFi (ESP32) et nRF24L01+ !!

Bien entendu LoRa permet, à puissance émise identique , une portée supérieure à u nRF24L01+ en raison de sa plus grande sensibilité et donc son meilleur bilan de liaison
Sa fréquenc apporte par ailleurs une meilleure 'pénétration'

@trimarco232, tu mets le doigt sur un point à creuser !!

Les récepteurs des SX127x sont très sensibles et on ne peut compter que sur la qualité de l'antenne 868Mhz (ou 433 MHz) et de son adaptation d'impédance pour limiter à 10dBm ce qui arrive d'un signal WiFi émis à proximité


Valeurs limite spour un SX127x

@trimarco,

Je ne peux répondre, pour l'instant ça marche bien sans souci.

Seul souci, je ne sais effectivement pas recevoir sur un unique esp32 ttgo les données de plusieurs émetteurs (j'essaie de réduire le nombre de mes dispos.)

@artouste,

Oui mais d'après ma maigre expérience, les clés proposées ne semblent pas fonctionner (LoRa.setSyncWord(...). Pour éviter de détecter en même temps deux émissions issues de deux dispos différents, j'ai opté pour l'utilisation de deux bandes de fréquences distinctes 868 pour l'un et 869.5 pour le second. Bon ça sépare parfaitement les données mais ça ne répond pas à mon souhait.

@al1fch,

Oui désolé, ce n'était pas un détail...

Le 'mot de synchorisation' ne fonctionne peut être pas totalement comme il est censé fonctionner

Outre la fréquence tu peux individualiser tes liaisons LoRa par d'autres paramètre comme le facteur d'étalement

Ah oui, je n'avais pas vu dans les api de lora.h qu'il y avait cette solution. Cela dit, je ne comprends pas comment ça marche (spreading factor), idem pour le signal bandwidth. Si ce sont des solutions de discrimination je suis preneur.

Perso : j'utilise avec satisfaction la modulation radio LoRa sans avoir bien compris en détail son principe !! :slight_smile:

fais l'essai avec 2 SF distincts, le reste étant identique , c'est aussi discriminant que la fréquence

Mais ça ne peut remplacer le 'plus' d'un nRF24L01+ par rapport à un SX1276 :
la petite 'couche protocole' au dessus de la couche 'radio'

Ok,

Je vais faire un essai

al1fch:
Perso : j'utilise avec satisfaction la modulation radio LoRa sans avoir bien compris en détail son principe !! :slight_smile:

fais l'essai avec 2 SF distincts, le reste étant identique , c'est aussi discriminant que la fréquence

Mais ça ne peut remplacer le 'plus' d'un nRF24L01+ par rapport à un SX1276 :
la petite 'couche protocole' au dessus de la couche 'radio'

Bonjour Al1
attention avec un SF=6 , il me semble qu'il y a une specificité
perso dans le cas de Lacuzon qui veux juste faire de la recopie d'un message reçu
je choisirais pour une F0 donnée aprés avoir determiné le débit mini bps , un BW faible et un SF élévé
Le cas le plus défavorable pour Lacuzon serait son recepteur/passerelle mis devant l'émission simultanées de plusieurs emetteurs
Avec un BW faible et un SF élevé (12) , c'est la meilleure config SX127x pour que le recepteur sorte de l'info utile.
ça ne garantira pas que toutes les émissions Lora seront correctement récéptionnées (pas d'acquittement ici) , mais statistiquement ça augmente la proba.
Aprés c'est à Lacuzon et son systeme global ( qui doit maintenant commencer à ressembler à un jolie usine à gaz :grin: ) de réflechir à la robustesse de son systeme.

Il se passe quoi si un msg Lora émis n'arrive pas :

  • ça fait péter la planète ? 8)

  • C'est pas bien grave ? :wink:

  • Autre ?