Existe-t-il des solutions pour envoyer/recevoir des trames par radio avec une arduino ?
J'aimerais qu'une Arduino embarquée envoie des infos sur mon PC, éventuellement en utilisant une autre Arduino connectée au PC pour gérer le récepteur, si cela simplifie les choses.
Certaines personnes ont-elles déjà réalisé ce genre de montage ?
Quelles sont les solutions les plus simples ?
-Il s'agit d'un véhicule terrestre. (donc les ondes se propagent dans l'air)
La distance max est de 500 mètres, très peu ou pas d'obstacles.
Il faudrait pourvoir envoyer quelques paramètres, une dizaine d'int, une dizaine de float, assez régulièrement. disons toutes les 100ms. Je ne sais pas si c'est beaucoup ou pas.
Unidirectionnel pour le moment. (il n'est pas exclu que par la suite un mode bidirectionnel soit nécessaire)
Quelques, une dizaine de ci, une dizaine de ça... 100ms...
Tout ceci est bien trop flou. Il faut être largement plus précis afin de déterminer le volume d’information à transmettre et donc le débit et la cadence de transmission.
Au vue des contraintes de débit , de cadence , de distance, du fait que le 'véhicule terrestre' est probablement mobile (impossibilité d'antennes directives alignées )
je ne vois guère qu'une liaison par 3G ou 4G mais pas de possibilité de liaison point à point sur une bande ISM en respectant les contraintes de celles-ci (puissance maximale autorisée , taux d'occupation...)
En émettant sur l'une des parties de la bande des 868MHz autorisant une puissance relativement élevée (image jointe) en utlisant la modulation radio LoRa, avec des antennes omnidirectionnelles bien dimensionnées bien raccordées et bien dégagées distantes de 500m, sans obstacle , on peut espérer 1 à 2 ko/s.
Vérifier quand même le taux d'occupation autorisé (on ne peut pas occuper le canal en permanence)
simple estimation du débit espéré.... sans garantie, tant le 'terrain' peut changer la donne.
Si je m'arrange pour respecter ces contraintes, disons pour rester sous les 1 Ko/s, comment mettre en place une telle communication en Arduino ? J'ai déjà fait des petites choses, je connais un peu le c, c++. Mais je n'y connais pas grand chose en électronique. Existe-t-il des modules touts faits, ou des bibliothèques logicielles, qui facilitent la conversion analogique/numérique ?
Un tel module peut facilement être géré par une carte Arduino, l'autre géré par un PC à travers un adaptateur USB.Série Attention il n'y a pas d'exemple à suivre, il faut mettre au point soi-même en prenant en prenant en mains ces modules radio récents.
conversion analogique numérique, c'est un autre sujet....Voir les tutoriels 'Zeste de savoir' recommandés en tête du Forum, il y est question de conversion analogique/numérique
J'utilise un module cousin de celui de allfch, celui-ci.
Il travaille en 2,4GHz et son débit air est assez élevé.
Pour mon besoin, j'ai peu de données à transmettre, je ne peu donc pas en dire plus.
Mes modules sont distant d'environ 130m avec des arbres entre (pins, haie de cyprès) plus deux murs.
J'ai un module fixe (commande portail) avec antenne Yagi à 13 éléments (directionnelle) et un module mobile (télécommande) équipé d'une antenne omnidirectionnelle.
Question programmation il faut tout se faire à la main, mais ça fonctionne.
Merci du retour, je me posais des questions sur ces autres modules de la société CD Ebyte, basés , eux, sur des nRF24L01+.
Avec une antenne Yagi 13 éléments à un bout ça arrange bien les choses pt de vue portée !!
Avec des antennes omnidirectionelles aux deux bouts pas certain que ça couvre les 500m recherché par Umbre37
(LoRa 2,4 GHz est en approche (puces Semtech) si cela permet de gagner en sensibilté (par rapport aux nRF24L01+) ça promet par contre le débit air mlaxi sera sans doute moindre
Merci pour ces exemples. Concernant le code, comment utiliser ces modules ? Je souhaite envoyer des trames. Faut-il faire soi-même le passage numerique vers analogique et vice-versa ?
Analogique ? Au coeur de la partie radio de ces modules il y a de l'analogique haute fréquence, enfouie, mais c'est transparent pour l'utilisateur.
Ces modules des sortes de modems , Liaison de type TX -> RX
Ils se raccordent à une sortie série de carte Arduino ils reçoivent les données à émettre sous forme numérique (série asynchrone) ..... à l'autre bout des données numériques identiques sortent de l'autre module sur sa sortie Tx
On envoie la trame par un Serial.print() , on la reçoit par un Serial.read()
Tout se passe comme s'il ya avait un fil entre le TX d'une carte ARduino et le RX d'une autre
Une Arduino envoie la trame vers un module E32-868 de la même manière qu'elle l'enverrait au PC via USB vers la console de l'IDE Arduino, par un simple Serial.print() avec le contenu de la trame.
J'ai prévu de faire un petit tutoriel de prise en mains......pas garanti que ça vienne en 2019.
Bonjour al1fch, merci pour toutes les infos que tu m'as données. Du coup j'ai commandé les "modules transceivers E32 868T20D de CD Ebyte" que tu as conseillé sur l'autre conversation.
Côté antennes, j'ai pris des CDSENET TX868-JKD-20 SMA.
Pour l'usb côté ordinateur, j'ai commandé ça : USB UART CP2102 E15-USB-T2 CDSENET.
Un grand merci à tous pour vos conseils avisés. Je vous tiendrai au courant lorsque j'aurai reçu tout ça.
Bonne journée.
L'adaptateur USB Uart spécifique commandé, sans être indispensable, est utile avec ses cavaliers pour positionner rapidement M0 et M1 et avec son régulateur 3,3V conséquent. je m'en sert également .
On trouve (plus ou moins facilement...) sur le site CD Ebyte un utilitaire Windows facilitant la configuration des modules.( Pour me simplifier la vie je configure comme cela mes modules plutôt que de le faire par envoi de trames hexadécimalesspéciales à partir de la carte Arduino ou ESP)