Show Posts
|
|
Pages: [1] 2
|
|
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  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 ! 
|
|
|
|
|
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  PS: le code modifié // 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("------------------------------------------------------");
}
}
}
|
|
|
|
|
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?
|
|
|
|
|
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 .
|
|
|
|
|
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 : 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
|
|
|
|
|
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.
|
|
|
|
|
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.  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 
|
|
|
|
|