Besoin d'aide Shield Yun

Bonjour,

Je cherche un peu d'aide car après 2 jours de recherche tout seul je n'arrive toujours pas à comprendre ce qu'il se passe.

Pour commencer je présente mon projet : je suis en cours de création d'un module de récupération téléinfo EDF que je souhaite envoyer sur une base de données située sur un serveur nas dans mon logement afin d'afficher en final une IHM avec des graphiques.

Jusqu'à présent tout marche mais mon arduino UNO est alimenté par usb sur mon pc (les données récupérées passent également par là).

Je viens d'acquérir un shield Yun pour débranché ma UNO de mon pc, et c'est là qu'arrive les problèmes.

En effet j'ai réussi à détecter ce shield sur l'IDE et au départ il est bien détecté dans la liste des "ports" sous "arduino (192.168.1.XX)" mais quand j'y upload l'exemple "Bridge -> WifiStatus" j'obtiens un message d'erreur dans le moniteur de console : "Connection closed by foreign host"

J'ai essayé 2/3 trucs et d'un coup ma carte n'est plus détecté dans "port" ....

Je cherche donc quelqu'un qui pourra m'expliquer ce qu'il s'explique autant sur le message d'erreur que sur la non détection d'un coup....

Merci beaucoup !!!

Si je ne suis pas assez clair n'hésitez pas à demander :slight_smile:

Bonjour à tous,

je reviens vers vous car je suis désespéré ...

Après de multiples recherches et d'essai je suis arrivé à un point où je ne peux même plus uploadé de code sur mon arduinoUNO+Yun shield ...

J'obtiens le message d'erreur avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0xe0 ........

J'ai débranché le shield et tenter d'uploadé le code et tout est ok !!! Je ne comprends plus grand chose à vrai dire ...

Est-ce que quelqu'un pourrait m'aider s'il vous plait ?

Merci.

Y a t il quelque chose de branché sur les pins 0 et 1 (qui servent aussi au port série pour uploader ton code)?
Si c'est le cas ça entre en conflit.

Sur les ports 0 et 1 de ma carte UNO il y a des broches RX et TX du shield yun ce qui me parait normal, ça ne l'est pas ?

Ma carte est pour le moment branchée par usb pour l'alimentation ça peut poser problème ?

Merci pour ces infos mais ça m'apporte d'autres questions ...

Est-ce que je peux garder mon code sur la UNO qui fonctionne actuellement et utiliser le shield uniquement pour envoyer des données sur mon serveur NAS (qui est sur le même réseau wifi) ?

Ou est-ce qu'il vaut mieux que je fasse le "court-circuit" et que j'upload mon code sur le shield qui fera du coup tout ?

Merci pour ton aide en tout cas !

bonjour,
un truc que je pige pas trop.
pourquoi utiliser un uno en plus alors que le yun peut faire la même chose?

@infobarquee : Ce n'est qu'un shield et pas la carte Yùn ... il n'est donc pas autonome.

@pepe : Donc si je comprends bien, je court circuite processeur de communication, je court circuite les broches +5V et Vin, je plie une broche de mon shield Yun. J'avais déjà installer le truc qui permet d'avoir "Draguino Yun" dans les types de carte.
Je pourrais donc envoyer mon code normalement sur la carte comme si c'était sur la UNO classique ?

Alors là vous m'intéressez encore plus !!

Si je branche un coupleur de pile directement sur le shield il peut être autonome en alimentation ?
Et comment je fais pour le programmer du coup ?

Parce que j'ai déjà un code en python qui me permet de récupérer ma trame téléinfo et qui l'envoi sur mon serveur NAS pour stockage, j'aurais donc "juste" à la mettre dessus :slight_smile:

autant pour moi, j'avais zappé le mot shield

J'ai pu retravaillé un peu sur ce projet.

J'arrive maintenant à me connecter en ssh et ftp sur le serveur unix du Shield Yun.

J'y ai donc mis mon script Python qui récupère la trame téléinfo et l'envoi sur mon serveur nas.

Il m'a fallu installer les packages python, pyseriel et python-mysqldb.

Par contre j'ai un soucis d'ouverture de port, il me dit que le port /dev/ttyS0 n'est pas ouvert.

J'avais cru comprendre que c'était un des ports ouvert automatiquement sur les plateformes Linux ? ...

Merci encore pour vos retours ! :slight_smile:

Personne n'a une petite idée ?

Merci.

Re,

Je viens de tester mais ça ne fonctionnait pas ... Du coup j'ai repris de 0 à tête reposée et je me suis aperçu que j'avais oublié de court-circuité ma UNO .....

Tout a l'air de fonctionner comme il faut maintenant car j'arrive à uploader des sketch sur ma carte Arduino UNO + Shield Yun depuis l'IDE.

J'ai testé l'exemple "ConsoleRead" qui fonction niquel je me suis mis à espérer que tout irait bien !!

Malheureusement en y mettant mon code rien ne s'affiche sur le moniteur de série '-_- ....

J'ai donc modifié mon code pour faire un truc le plus simple possible pour essayer de comprendre :
#include <Bridge.h>
#include <SoftwareSerial.h>
SoftwareSerial cptSerial(8,9);

void setup()
{
Bridge.begin();
Serial.begin(115200);
Serial.print("Fin Setup");
}

void loop()
{
Serial.print("Début loop");
}

Quand je l'upload => aucun soucis !
Quand je lance le "Moniteur Série" sur l'IDE => il ne se passe rien ?!?! ....

Je commence à croire que je n'y arriverais jamais '-_- qu'est ce que j'ai encore oublié ?

Merci pour votre aide

Bonjour et merci pepe pour prendre le temps de m'expliquer :slight_smile:

Je t'avoue ne pas tout comprendre tout de même ... En gros il y a deux moyens de faire communiquer mon ArduinoUNO avec le shield Yùn c'est ça ?

Le SoftwareSerial est la librairie que j'utilise dans mon code actuel pour récupérer la trame téléinfo EDF. J'ai supprimé toute la partie inutile sauf celle-là pour avoir le code minimum j'ai juste oublié de supprimer l'import.

Tu as l'air d'indiquer qu'il ne faut pas utiliser "Seriel" ... Sachant que c'est pas là que mon code actuel fonctionne pour récupérer la trame téléinfo je ne sais pas vraiment comment faire autrement ...

J'ai l'impression de faire absolument le contraire de ce qu'il faut ... Est-ce que tu peux me dire ce qu'il cloche dans ma logique/code ??

Au départ mon but est assez simple à priori ... Je veux récupérer la trame téléinfo de mon compte compteur EDF. Pour celà j'avais un 1er montage avec ma carte UNO seule qui me permet de le faire facilement. Je voulais juste ajouter un shield wifi pour envoyer les infos sur mon nas sans avoir mon pc d'allumer constamment ...
Du coup est-ce que le fait de programmer "comme d'habitude" est la bonne logique ? Qu'est ce que j'ai raté dans la construction de la phase 2 de mon projet ?

Merci beaucoup pour ta patience et ton aide :slight_smile:

Je ne vois pas en quoi la UNO ne serait pas capable de gérer mon NAS puisqu'elle le fait déjà actuellement ... Pour le moment ma UNO est alimentée/branchée via USB sur un pc et de l'autre je récupéré via la broche 8 le contenu de mes trames téléinfo.

Une fois la trame entièrement récupéré dans des variables je n'ai qu'à me connecter au réseau de ma maison (wifi, ethernet, etc.) et à lancer une simple requête SQL ...

En te lisant il y a quelque chose que je n'arrive pas à comprendre. Vu que j'ai court-circuiter la UNO le code que j'upload via l'IDE ne va pas sur le shield Yun ? Il va quand même sur la UNO ?

Le principe si je comprends bien c'est donc :

  1. Avoir un code qui récupère la trame téléinfo sur ma UNO
  2. Avoir un code sur la UNO qui via le Bridge (pour accéder au Yun) sur connecte en wifi à mon réseau domestique
  3. Avoir un code sur la UNO qui exécute ma requête d'insertion de données dans la base de données via le Yun également (bridge)
  4. Option : si je veux, je peux déclarer le Yun comme serveur web pour y mettre mon interface graphique qui affiche les données téléinfo

Est-ce que c'est bien ça ? Si c'est oui, alors mon code actuel devrait fonctionner avec une modification pour faire la connexion au réseau non pas par le port série USB mais via le Bridge du Yun ? Est-ce que j'ai compris/juste ? Ou est-ce que je me plante complètement et n'est rien compris ?

J'aurais peut être dû être plus précis dès le départ du coup ^^

Pour faire mes 1er tests je n'avais pas le shield Yun et ma UNO était branchée directement sur un PC par USB. Grâce à ce branchement, j'étais alimenté et j'avais accès à mon NAS.
Maintenant que ça fonctionne, je voudrais avoir quelque chose de plus "portable".

Le montage final que je voudrais avoir est celui-ci :

  1. Branchement physique via câbles (permettant d'avoir un module complètement autonome) :
    Alimentation par Piles -> Arduino UNO (+Shield Yun) <- Compteur EDF

  2. Branchement via Wifi :
    Arduino UNO (+ Shield Yun) => Serveur NAS Synology avec une base de données MySQL installé dessus

  3. Récupération des données du compteurs via la UNO et envoi des données sur le NAS grâce à la connexion wifi du Yun

  4. Interface graphique posée sur mon serveur NAS qui me fait hébergeur utilisant les données de la base MySQL pour afficher mes graphiques de consommation (ça je l'ai déjà faite : http://christellelacour.fr/teleinfo_edf/)

J'espère que c'est plus clair :slight_smile:

En tout cas, je ne pensais pas que cette partie serait la plus compliquée ....

Encore merci pour tes retours !!

Au vu des non réponses je dirais que ça ne l'est pas :slight_smile:

Bonjour,

Je viens de refaire des tests malheureusement pas complètement concluant ...

Grâce à ce que tu m'as indiqué pepe j'ai relu les docs que j'avais déjà lu sur le sujet en me disant que j'étais passé à côté de certaines choses ...

Je suis donc repartis dans la doc sur le site arduino : http://www.arduino.cc/en/Main/ArduinoBoardYun?from=Main.ArduinoYUN

J'ai regardé principalement le chapiter "Communication" qui dit : "A SoftwareSerial library allows for serial communication on any of the Yún's digital pins. Pins 0 and 1 should be avoided as they are used by the Bridge library."

J'ai donc été voir le lien "SoftWareSerial library" sur lequel j'ai pu lire : "If using multiple software serial ports, only one can receive data at a time.
Not all pins on the Mega and Mega 2560 support change interrupts, so only the following can be used for RX: 10, 11, 12, 13, 14, 15, 50, 51, 52, 53, A8 (62), A9 (63), A10 (64), A11 (65), A12 (66), A13 (67), A14 (68), A15 (69).
Not all pins on the Leonardo and Micro support change interrupts, so only the following can be used for RX: 8, 9, 10, 11, 14 (MISO), 15 (SCK), 16 (MOSI)."

Je me suis dit chouette j'ai trouvé le problème j'ai mis mon port de lecture sur le port digital 7 !! J'ai donc déplacé mon cable réceptionnant les données du compteur sur la broche 10. Malheureusement je n'ai rien de plus sur mon moniteur de série de l'IDE ....

Est-ce que vous trouvez un soucis dans le code ci-dessous :
#include <Bridge.h>
#include <SoftwareSerial.h>

SoftwareSerial mySerial(10, 11); // RX, TX

void setup()
{
Bridge.begin(); // Initialize Bridge
// Open serial communications and wait for port to open:
Serial.begin(9600);
Serial.println("Goodnight moon!");

// set the data rate for the SoftwareSerial port
mySerial.begin(1200);
mySerial.println("Hello, world?");
}

void loop() // run over and over
{
if (mySerial.available())
Serial.write(mySerial.read());
if (Serial.available())
mySerial.write(Serial.read());
}

Merci beaucoup pour vos futurs retours !

Plus personne ne peut m'aider ? :frowning:

Bonjour,

Alors pour faire un petit point d'avancement :slight_smile:

J'ai mis mon arduino+yun en alimentation par pile 9V et supprimer le cable usb => cela a réglé mon problème de moniteur de série !

Cependant après plusieurs minutes de tests et même plusieurs tentatives sur des jours différents j'ai maintenant un autre soucis ....

Mon shield yun a 2 led qui clignote sans cesse : LAN + SYS

J'ai l'impression que c'est très mauvais signe ... est-ce que vous auriez une idée de ce qu'il se passe ? Je n'arrive pas à trouver l'information sur le net :frowning:

Merci !