Show Posts
Pages: [1] 2
1  Forum 2005-2010 (read only) / Français / Re: Internet vers arduino on: January 23, 2011, 11:16:26 am
Salut,

Ton arduino devra être mobile? tu hébergeras toi même ton site?
Toutes ces questions sont importantes fain de faire un choix sur les technologies utilisée.

2  Forum 2005-2010 (read only) / Français / Re: Internet vers arduino on: June 06, 2010, 03:48:10 pm
Hop la j'ai fini

Tout fonctionne smiley-wink

Quand le flux RSS se met a jour , j'allume une led sur mon arduino pendant 3 secondes (on peut imaginer toute sorte d'action : LCD , relais, son ...)

J'attends ton retour pour te donner les deux bouts de code et des explication sur tout ça !  smiley-grin



3  Forum 2005-2010 (read only) / Français / Re: Internet vers arduino on: June 06, 2010, 02:28:28 pm
Salut

je viens de travailler su ton projet.

J'ai modifier le code source pour avoir un affichage clair.

Deux problèmes majeures arrivent :
  
     1) Le code ne rafraichit pas le flux , donc si il y a de nouvelle info , on ne le sait pas

     2) Quand on aura réglé le problème de rafraichissement, il faudra stocker la dernière news (la plus récente) et la comparer avec la plus récente après rafraichissement.


Par contre le passage de la commande de ton actionneur vers l'arduino ne sera pas un problème.

Je continu de chercher , ça m'a prit un quart d'heure ce soir , on avance bien smiley-wink

PS: le code modifié

Code:
// déclarer l'objet qui contiendra les données RSS
Channel channel;

void setup() {

  // lors de la création de la chaine, on passe l'adresse du flux RSS
  channel = new Channel(this, "http://www.assemblee-nationale.fr/rss/rss_presse.xml");
  channel.on_screen();
}


class Channel {

  String title, description;
  Cri[] cris = new Cri[0]; // créer une liste de Cri vide (chacun avec titre,date,descriptif)

  Channel(PApplet app, String s) {

    XMLElement document;


    try {
      document = new XMLElement(app, s);
    }
    catch (Exception e) {
      println(" erreur ):" + e);  
      return;
    }

    if (!document.getStringAttribute("version").equals("2.0")) return;
    if (0 == document.getChildCount() && !document.getChild(0).getName().equals("channel")) return;

    XMLElement channel = document.getChild(0);

    int nombre_items = channel.getChildCount();

    for (int i = 0; i < nombre_items; i++) {

      XMLElement enfant = channel.getChild(i);

      if (enfant.getName().equals("title")) {
        // chercher le titre (son contenu)
        title = enfant.getContent();
      }

      if (enfant.getName().equals("description")) {
        // chercher le descriptif
        title = enfant.getContent();
      }

      // on a trouvé un <item> (ce qui nous intéresse)
      if (enfant.getName().equals("item")) {

        String titre;
        String date;
        String descriptif;

        // créer des variables temporaires pour les données qui nous intéressent
        try {
          titre = enfant.getChild("title").getContent();
        }
        catch (Exception e) {
          titre = "";
          println(e);
        }

        try {
          date = enfant.getChild("pubDate").getContent();
        }
        catch (Exception e) {
          date = "";
          println(e);
        }

        try {
          descriptif = enfant.getChild("description").getContent();
        }
        catch (Exception e) {
          descriptif = "";
          println(e);
        }

        cris = (Cri[])append( cris, new Cri(titre, date, descriptif) );
      }

    }

  }

  void on_screen() {

    // le debugger


    // s'il n'y a pas eu de données
    if (0 == cris.length) {

      println("Je n'ai pas pu me connecter au flux rss");
      return;
    }  

    // sinon demander à chaque donner de s'afficher
    for(int i=0; i < cris.length; i++) {
      cris[i].read();
    }

  }

  class Cri {

    String titre, date, descriptif;

    // le constructeur de chaque CRI
    Cri(String _titre, String _date, String _descriptif) {
      titre = _titre;
      date = _date;
      if (null == _descriptif) descriptif = "";
      else descriptif = _descriptif;

    }

    // dessiner cette dépêche
    void read() {

      println(titre);

      println(date);

      println(descriptif);
      println("------------------------------------------------------");

    }

  }

}
4  Forum 2005-2010 (read only) / Français / Re: Internet vers arduino on: May 31, 2010, 04:51:13 am
Pour qu'il y est detection de changement d'état , il faut stocker l'etat predecent quelque part ... je ne vois pas comment tu va t'y prendre.
5  Forum 2005-2010 (read only) / Français / Re: Internet vers arduino on: May 26, 2010, 03:43:20 am
Si tout à fait.
J'ai utiliser php et un serveur web car je désire contrôler mon arduino via internet.

Dans ton cas tu récupère des infos déjà publiées pour agir en conséquence.
Ta méthode est la meilleur pour ton application.

Et j'avoue tres humblement que je ne maitrise pas assez processing comparé à php.  :-[

Sur quel point bloques tu ? tu arrives a éclater ton rss et à trouver ce que tu veux dedans ? c'est la partie communication avec l'arduino qui bloque?





6  Forum 2005-2010 (read only) / Français / Re: Internet vers arduino on: May 25, 2010, 06:35:21 am
Pas de problème , si il te faut du code ou des exemples je suis la
7  Forum 2005-2010 (read only) / Français / Re: Internet vers arduino on: May 24, 2010, 04:03:35 pm
Tout dépend si l'arduino doit être autonome ou pas.

je suis sous Windows et j'utilise serproxy et php pour publier et interroger mon arduino à distance sur internet.

serproxy sert à router un flux serie (port COM) en créant un socket TCP/IP sur ton pc (interrogeable en php etc ..)

Tu pourrais faire tourner un serveur web sur ton pc avec un script qui se déclenche tout les X temps et qui vérifie ton flux rss et ses publications.
Tu n'aura ensuite qu'a envoyer une commande à l'arduino via ton script php par le biais de serproxy et de son socket<=>com .




8  Forum 2005-2010 (read only) / Français / Re: faire un tableau on: June 10, 2010, 02:58:04 pm
Perso j'ai pas tester ta maniere, je devrais peut etre le faire avec la routine pour l'affichage de float pour mon lcd  smiley-grin
9  Forum 2005-2010 (read only) / Français / Re: faire un tableau on: June 10, 2010, 01:12:09 pm
Pour ma part j'utilise ce code pour afficher des nombres décimaux sur mon lcd. (ce n'est pas de moi)

Voila ce que ça donne pour une écriture sur le port série :
Code:

char buf[12];
double var=1.11;

void setup() {
  Serial.begin(9600);
}

void loop() {
  PrintDouble(var,2);
}


void PrintDouble( double val, byte precision){

  if(val < 0.0){
    Serial.println('-');
    val = -val;
  }

  Serial.print(itoa(val,buf,10));  //prints the int part
  if( precision > 0) {
    Serial.print("."); // print the decimal point
    unsigned long frac;
    unsigned long mult = 1;
    byte padding = precision -1;
    while(precision--)
      mult *=10;

    if(val >= 0)
      frac = (val - int(val)) * mult;
    else
      frac = (int(val)- val ) * mult;
    unsigned long frac1 = frac;
    while( frac1 /= 10 )
      padding--;
    while(  padding--)
      Serial.print("0");
    Serial.println(itoa(frac,buf,10)) ;
  }
}

Si tu as des questions , n'hésite pas


10  Forum 2005-2010 (read only) / Français / Re: Présentation et projet de gestion climatique serre on: May 26, 2010, 04:33:11 am
Bonjour smiley

Je suis aussi sur un projet d'automatisation (aquarium)

Dans ton cas il faut savoir quelle seront les pin utilisées par chacun des shield.

Pour ce qui est de la communication reseau , j'ai vu un shield wifi.
Tu aurais le sans fil ET le reseau en un seul module.

http://www.asynclabs.com/store?page=shop.product_details&flypage=flypage.tpl&product_id=26&category_id=6

Pour les sonde de type DS18B20 elles se pilote avec un seul fil (One Wire Bus)

Pour ce qui est de multiplier les sorties et entrées "numerique" (On ou Off) il existe les composant nommés Shitf Register.

Avec 3 fil tu peux créer 8 sortie avec un 74HC595 et 8 entrée avec un CD4021

Shift Out : http://www.arduino.cc/en/Tutorial/ShiftOut
Shift In : http://www.arduino.cc/en/Tutorial/ShiftIn

Idem pour le LCD tu peux réduire le nombre de pin utilisées en le plaçant derrière un 74HC595 (3 fils) ou prendre un lcd serie.

Tu auras peut être aussi un problème d'espace pour ton programme.

Pour finir , un mega serait un plus en effet smiley (il me reste 3 pin ligne sur mon projet avec un 328)

Voila j'espère t'avoir eclairé

11  Forum 2005-2010 (read only) / Français / Re: Projet Arduino et aquarium, besoin de conseils ! on: June 11, 2010, 03:50:48 pm
Je suis a la phase de montage de mon automate dans un boitier (le circuit est en dur etc)

Si tu as des questions sur un point précis (horloge , relais , lcd , entrée , commande...) n'hésites pas.
12  Forum 2005-2010 (read only) / Français / Re: Projet Arduino et aquarium, besoin de conseils ! on: May 24, 2010, 03:51:54 pm
Bonjour,

J'arrive un peu tard sur ce sujet mais je suis aussi en train de faire un automate pour la gestion d'aquarium . (commande de sortie 220v , capteur de niveau ,gestion de la température , horloge , écran LCD etc ...)

Si tu as des questions n'hésite pas .
13  Forum 2005-2010 (read only) / Français / Re: Cartes petit prix on: June 07, 2010, 01:59:36 pm
Quand j'ai commandé mes cartes , Simpower était en déplacement.

Une autre personne doit s'occuper des commandes

J'ai un mail de contact qu'il avait donné dans un post précèdent :

                               info at simpower.fr

Il accepte les paiements par paypal.

Si ça peut vous aider.
14  Forum 2005-2010 (read only) / Français / Re: Cartes petit prix on: May 24, 2010, 03:31:19 pm
J'ai commandé 2 arduino et 2 kits xbee complets , le tout impeccablement emballé et vite reçu  8-)

Tout fonctionne à merveille ! allez y tant qu'il en reste smiley-wink
15  Forum 2005-2010 (read only) / Français / Re: Simulateur de fonctionnement on: February 28, 2010, 10:29:18 am
Pour avoir fait pas mal d'erreur et court circuit , et des re-programmation à la douzaine au quart d'heure je peux te dire que c'est tout de même assez robuste.  smiley-wink

Je n'ai trouvé aucun simulateur à l'époque de mes debuts.
Je crois que la seul façon de faire serait de simulé un atmega sur multisim ...

Ce n'est pas vraiment évident à utiliser. Je l'ai déjà fait pour des pic il y à quelque année , c'est intéressant mais ça fait usine à gaz  ;D ... et vu que les cartes arduino ne sont pas si chers pour avoir du test "réel" ,j'ai laissé tombé l'idée de simuler mes montages.

Au pire tu trouve une arduino chinoise sur ebay seule ou en kit pour tes essais .... (45€ livré avec un lcd  16x2 , un 74hc595 , une platine d'essai , des led , des switch , un ds1821 , un ds1307, une eeprom et j'oublie encore un ou deux  CI)

voila smiley





Pages: [1] 2