hola
estoy o soy (no me recurdo como se dice), frances y me pregunta como recuperar con arduino este codigo processing que captura el rss para accionar una led . Por ejemplo solo recuperar el item...
Muchas gracias para ayudarme
// RSS
Channel channel;
boolean DEBUG = true;
void setup() {
size(500,500);
// l'adresse du flux RSS
//channel = new Channel(this, "http://www.assemblee-nationale.fr/rss/rss_cri.xml");
}
void draw() {
background(255);
if (DEBUG) channel.draw();
}
class Channel {
PFont affichage;
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;
affichage = createFont("dialog",9);
try {
document = new XMLElement(app, s);
}
catch (Exception e) {
println("Une erreur + e);
return;
}
// faire le parano
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();
// aller au prochain enfant dans la boucle for()
continue;
}
if (enfant.getName().equals("description")) {
// chercher le descriptif
title = enfant.getContent();
// aller au prochain enfant dans la boucle for()
continue;
}
// 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 draw() {
// le debugger
textFont(affichage);
textAlign(CENTER,CENTER);
// s'il n'y a pas eu de données
if (0 == cris.length) {
fill(0);
text("Je n'ai pas pu me connecter au flux rss", random(18,20), random(18,20));
return;
}
// sinon demander à chaque donner de s'afficher
for(int i=0; i < cris.length; i++) {
cris[i].draw();
}
}
// CRI = Compte Rendu Intégral
class Cri {
float x,y;
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;
x = random(width);
y = random(height);
}
// dessiner cette dépêche
void draw() {
x += random(-1,1);
y += random(-1,1);
fill(255,0,0);
text(titre, x, y);
fill(0,255,0);
text(date, x, y+10);
fill(0,0,255);
text(descriptif, x, y+20);
}
}
}