Connexion multiple avec arduino

Bonjour;
Je voulais avoir votre avis dans ma recherche pour effectuer un transfert de données "trame", actuellement je communique en bluetooth avec un appareil Androïde et une carte arduino nano . Je souhaite faire évoluer mon projet en effectuant 2 voir trois connexions simultanées sur ma carte arduino . Donc j'ai trouvé deux solutions pour l'instant,soit l'ajout d'autres modules bluetooths pour augmenter le nombre de connexions possible ou un module Wi-Fi esp8266 (je n'est pas de box disponible donc je ne sais pas si la communication est possible) les appareils androïdes ne possède pas de réseaux mobile mais peuvent se connecter en Wi-Fi.
Si vous avez des suggestions ou des liens pour la mise en oeuvre du Wi-Fi en local je suis preneur.
Merci de m'avoir lu.
Bonne soirée

Le Bluetooth ne vous permettra pas de faire plusieurs connexion en même temps

Si vous prenez un module wifi, vous pouvez le mettte en mode « borne wifi » et vos téléphones peuvent joindre ce réseau wifi (de 4 à 20 suivant les configurations)

1 Like

Merci de votre réponse.
Effectivement je sais que plusieurs connections sur un module hc-06 n est pas possible c est pour sa que je compter en mettre plusieurs mais la solution de la borne wifi avec un esp8266 m intéresse, je ne sais pas encore comment ce passe la communication je vais cherché sa.
Edit:Je me demandé j'ai fait des recherches sur l'interface web qu'il est possible de crée avec l'esp8266 mais un question très important pour mon projet quels est le temps d'actualisation minimal d'une valeur en connexion direct ("par exemple actualiser un texte sur la page") esp -> page web

Pas simple de connecter plusieurs modules Bluetooth car il faut plusieurs ports séries et pour avoir 3 connexions simultanées il faudra passer sur une MEGA ou équivalent qui a plusieurs port série hardware materiel

Pour votre question de temps - faut precsier un peu les choses - je ne sais pas de quelle page web vous parlez...

Dans un esp8266 on peux faire un serveur web je voudrais faire grace a sans une page web qui permettrais d'afficher des valeurs en temps réel et des boutons ppur faire des interaction avec l arduino

Vous pouvez éventuellement explorer mon petit tuto sur le sujet (faudrait que je trouve le temps de le terminer d’ailleurs)

Effectivement j ai vu ton tuto je le trouve d ailleurs tres intéressant ma question est donc qu'elle est le temps minimal d actualisation d'une valeur sur la serveur web par exemple j affiche une valeur de pression mesurer sur l arduino es se que la valeur peux s afficher est s actualiser en temps réel temps de mise a jour inférieur a 250ms

Vous mesurez quel temps ?

Vous comprenez bien qu’il y a une composante qualité du « réseau » à prendre en compte ainsi que vitesse d’affichage sur le « client ». De quelle infrastructure parlez vous et de quelle durée ? Combien de temps prends votre mesure de pression ? Quelle approche prenez vous pour le transfert d’infos vers le client, quel protocole et quel client ? Un transfert sur des sockets ouverts en permanence avec un client dédié sera toujours bcp plus rapide que l’usage de HTTP/Ajax

Sinon permettez moi de questionner l’affichage 4 fois par seconde... d’où vient cette contrainte et quelle est la dynamique de variation ? Si c’est un humain qui lit l’info c’est sans doute inutile...

Donc un petit point
-J ai besoin de c'est donné le plus rapidement possible mon arduino obteindra des valeurs sur un pin d interruption donc très rapidement

-Pour l'état du réseaux je serais connecter entre une tablette et l esp en direct a 3metre de distance maximum

-Le type de communication je ne sais pas encore je choisirai le plus efficace

humex:
J ai besoin de ces données le plus rapidement possible

Répondre "parce que c'est comme cela" sans explication ne m'aide pas. Qui "consomme" ces informations ? comment êtes vous arrivé à 4 Hz en tant que spécifications fonctionnelles ? Pourquoi est-ce que 1Hz ou 0,1 Hz ne suffisent pas?

humex:
mon arduino obtiendra des valeurs sur un pin d interruption donc très rapidement

ça ne fait aucun sens... tout dépend de la fréquence de ces interruptions et du temps pour lire les données une fois que vous êtes notifié de la présence d'information.

humex:
-Pour l'état du réseaux je serais connecter entre une tablette et l esp en direct a 3metre de distance maximum

Désolé mais là encore ça ne répond pas à la question: s'il y a un mur d'acier, un aquarium rempli d'eau, un environnement industriel avec des moteurs ou rien du tout entre la tablette et l'ESP, ça peut tout changer.

humex:
-Le type de communication je ne sais pas encore je choisirai le plus efficace

le plus efficace c'est de mettre "un fil" sur cette distance.

Je vais essayer d être plus précis.

-250ms c est pour éviter la sensation de latence est avoir un affichage fluide de la donnée

-L'interruption se declenchement environ toute les 10ms

-La tablette se situe sur le pare-brise d'une voiture et le module dans le coffre

-Tout sauf un fils car il faut connecter plusieurs appareil mobile

OK

  1. "fluide" à oeil dans ce cas c'est plus de 15 fois par seconde plutôt (24 c'est la persistence rétinienne et au delà de 30 Hz encore mieux)

  2. donc vous allez avoir 100 données par secondes (si la lecture des données est quasi instantanée), pourquoi afficher uniquement 4 fois par seconde si la fluidité est importante ?

  3. donc beaucoup de métal et un moteur - ce n'est pas bon pour les ondes électromagnétiques. faudrait tester

  4. pas compris. il y a la tablette sur le pare-brise et le module dans le coffre. quels sont les autres appareils mobiles ?

  1. La fluidité est importante mes j effectue des calcules avant de renvoyé la valeur, il faut que je capte toute les valeurs renvoyé

4.J ai aussi un téléphone conecter de la même facon sur les genoux du passager avant

OK - le passager ne peut pas regarder la tablette comme tout le monde ? :slight_smile:

blague à part - je doute que la puissance wifi de l'antenne intégrée dans l'ESP soit suffisamment bonne pour une communication stable dans cet environnement mais faudrait tester.

le protocole HTPP avec le client (un navigateur web) qui demande une mise à jour 4 fois par seconde sur la valeur me parait limite - il vaudrait mieux un client dédié connecté en sockets en permanence avec un protocole dédié (donc une app spécifique pour la tablette/téléphone).

Bon je vais tester ça mais si j ai besoin d'une application mobile sa pert un peu d interrer je pense que vais rester sur le fonctionnement actuel avec 2 hc-06 si l esp ne fonctionne pas comme voulu

humex:
Bon je vais tester ça mais si j ai besoin d'une application mobile sa pert un peu d interrer je pense que vais rester sur le fonctionnement actuel avec 2 hc-06 si l esp ne fonctionne pas comme voulu

OK - il vous faudra 2 ports séries Hardware pour que ça fonctionne "proprement" (en codage simple) au niveau arduino. l'arduino nano n'en a qu'un. Un ESP32 en a 3 par exemple si vous voulez rester avec un petit composant

Le fonctionnement actuelle fonctionne bien avec deux hc 06 en port serie soft

humex:
Le fonctionnement actuelle fonctionne bien avec deux hc 06 en port serie soft

vous ne recevez aucune données en retour du client? car avec SoftwareSerial, un seul port virtuel peut être en lecture à un instant T. Si ce n'est que pour émettre et en séquentiel alors oui c'est plus simple - mais bien sûr vous serez limité par la vitesse en bauds pour les updates

Hc-06 envoie des données en permanence a la tablette et au téléphone

Seul la tablette envoie des données a l hc-06

humex:
Hc-06 envoie des données en permanence a la tablette et au téléphone
Seul la tablette envoie des données a l hc-06

OK - ça peut marcher. et vous pouvez éventuellement utiliser le port série hardware pour celui de la tablette pour que ce soit plus robuste (je suppose que vous n'avez pas un PC connecté à l'interface USB dans le coffre)

si vous devez passer à plus de clients ça va être plus difficile cela dit. considerer des puces avec une interface "broadcast" peut-être dans ce cas nécessaire.

je suppose aussi que vous vous fichez de la partie "sécurisation de la transmission" ?