Étape 7: Parallaxe et Twitter
1. obtenir un jeton pour écrire un message à l’aide de OAuth. http://Arduino-tweet.appspot.com
2. pour configurer les informations de réseau dans le code, commencez par regarder les paramètres réseau de votre ordinateur. Sur le Mac, allez aux préférences système/réseau, puis cliquez sur le bouton Avancé et sélectionnez l’onglet TCP/IP.
3. pour l’adresse IP libre par les dispositions du code, vous pouvez habituellement juste prendre votre configuration réseau et augmenter le dernier numéro un peu. Si votre adresse IP est : 192.168.1.2, vous pouvez essayer 192.168.2.12
4. Télécharger la bibliothèque Twitter http://www.arduino.cc/playground/Code/TwitterLibrary
5. créer une nouvelle esquisse. Collez ce code. apporter les modifications nécessaires :
#include < Wire.h > #define rxPin 2 octet r = 0, g = 0, b = 0 ; int count = 0 ; prog_char rouge [] PROGMEM = "[votre « RFID tag number]" ; Les const char PROGMEM * [] colorTags_table = {} char tags_buffer [12] ; NewSoftSerial RFID = NewSoftSerial(rxPin,txPin) ; ctt booléen = false ; modifier les deux derniers octets-it n’a pas dimportance modifier le dernier numéro de sorte que l’adresse ip est unique Twitter twitter ("[votre jeton ici]") ; Poème de chaîne ; long randNum2 ; poème prog_char words2_0 [] PROGMEM = "nuages" ; prog_char words3_0 [] PROGMEM = "vies." ; prog_char words4_0 [] PROGMEM = "cochons voleront mais les hommes ne seront pas." ; Les const char PROGMEM * [] words1_table = {} Les const char PROGMEM * [] words2_table = {} Les const char PROGMEM * [] words3_table = {} Les const char PROGMEM * [] words4_table = {} char word1_buffer [8] ; /// Serial.Begin(9600) ; lastColor = 7 ; Ethernet.Begin (mac, ip) ; commence la connexion Ethernet }
#include < BlinkM_funcs.h >
#include < NewSoftSerial.h >
#include < avr/pgmspace.h >
#include < Ethernet.h >
#include < EthernetDNS.h >
#include < Twitter.h >
#define txPin 3
int blinkm_addr = 0 x 09 ;
longue pt ;
prog_char vert [] PROGMEM = "votre numéro de tag RFID]" ;
prog_char bleu [] PROGMEM = "votre numéro de tag RFID]" ;
rouge, vert, bleu} ;
char testFN [80] ;
la mac de Byte [] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFF, 0xFF} ;
la propriété intellectuelle de Byte [] = {10,0,1,29} ;
couleur intérieurs = 7 ;
int lastColor = 7 ;
long randNum3 ;
long randNum4 ;
prog_char words1_0 [] PROGMEM = "Red" ;
prog_char words1_1 [] PROGMEM = "Vert" ;
prog_char words1_2 [] PROGMEM = "Blue" ;
prog_char words1_3 [] PROGMEM = "Magenta" ;
prog_char words1_4 [] PROGMEM = "Cyan" ;
prog_char words1_5 [] PROGMEM = "Jaune" ;
prog_char words1_6 [] PROGMEM = "Blanc" ;
prog_char words2_1 [] PROGMEM = "sceaux" ;
prog_char words2_2 [] PROGMEM = "gratte-ciel" ;
prog_char words3_1 [] PROGMEM = "voler." ;
prog_char words3_2 [] PROGMEM = "sommeil." ;
prog_char words3_3 [] PROGMEM = "entourent." ;
prog_char words3_4 [] PROGMEM = "imploser." ;
prog_char words4_1 [] PROGMEM = "Les rouges smashes roses dans l’oubli." ;
prog_char words4_2 [] PROGMEM = "Légendes vivantes mais heros meurent." ;
prog_char words4_3 [] PROGMEM = "Small talk est grand dans la langue de la vie." ;
words1_0,
words1_1,
words1_2,
words1_3,
words1_4,
words1_5,
words1_6} ;
words2_0,
words2_1,
words2_2
};
words3_0,
words3_1,
words3_2,
words3_3,
words3_4
};
words4_0,
words4_1,
words4_2,
words4_3} ;
char word2_buffer [12] ;
char word3_buffer [10] ;
char word4_buffer [44] ;
void setup() {}
BlinkM_begin() ;
RFID.begin(9600); / / RFID reader SOUT broche reliée à la broche RX série à 9600bps
BlinkM_setRGB (blinkm_addr, 0, 0, 0); //call qui disparaît à désiré couleur
Delay(1000) ;
connectToTwitter() ;
{if(CTT)}
Serial.println ("Démarrer tout") ;
}
void connectToTwitter() {/ / imprimer une ligne vide, utilisée pour le débogage
Serial.println ("connexion à Twitter...") ; imprimer, utilisé pour le débogage
char testFN1[4]={int(random(1000,2000))} ;
Si (twitter.post(testFN1)) {/ / Twitter que nous sommes en cours d’exécution
int status = twitter.wait (& série) ; attendre une réponse de twitter
Si (statut == 200) {/ / Si Twitter répond 200
Serial.println ("Tweet OK!") ; succès d’impression / / imprimer une ligne vide, utilisée pour le débogage
CTT = true ;
} else {}
Serial.Print ("Tweet a échoué : code") ;
Serial.println(Status) ; code d’erreur d’impression
connectToTwitter() ; imprimer une ligne vide, utilisée pour le débogage
}
} else {}
Serial.println ("connexion a échoué.") ;
connectToTwitter() ;
}
}
void loop() {}
BlinkM_setRGB(blinkm_addr,r,g,b) ;
sendRead() ;
readTag() ;
}
void sendRead() {}
RFID.flush() ;
RFID.print("!RW") ;
RFID.print (0x0F, BYTE) ;
}
void readTag() {}
if(Count<2) {}
byte-code [12] ;
bytesread int = 0 ;
String msg ;
while(bytesRead<12) {/ / lecture de 10 chiffres
cela bloque et devrait idéalement avoir un timeout
Si (RFID.available()) {}
Code [bytesread] = RFID.read() ;
bytesRead ++ ;
}
else {}
Cela a résolu le problème
BlinkM_fadeToRGB (blinkm_addr, r, g, b); //call qui disparaît à désiré couleur
}
if(bytesRead == 12) {}
Si (code[0]==0x0A) {}
pour (int i = 1; i < 11; i ++) {}
Serial.Print (code [i], HEX) ;
MSG = msg + code [i] ;
}
{if(Count==0)}
r = 0 ;
b = 0 ;
g = 0 ;
}
pour (int i = 0; i < 3; i ++) {}
strcpy_P (tags_buffer, (char *) pgm_read_word (&(colorTags_table[i])));
{if(MSG==tags_buffer)}
{Switch(i)}
case 0 :
r = 255 ;
rupture ;
cas 1 :
g = 255 ;
rupture ;
cas 2 :
b = 255 ;
rupture ;
}
}
} //end boucle for
} //end code [0] == 0x0A
} //end bytesread == 12
}
displayColor() ;
Si (millis ()-pt > 1500) {}
Count ++ ;
PT=Millis() ;
}
} //end si comte
else {}
Count = 0 ;
}
}
Writting Sub {}
Concatène les poème
poème = strcpy_P (word1_buffer, (char *) pgm_read_word (&(words1_table[color])));
poème = poème + strcpy_P (word2_buffer, (char *) pgm_read_word (&(words2_table[randNum2])));
poème = poème + strcpy_P (word3_buffer, (char *) pgm_read_word (&(words3_table[randNum3])));
poème = poème + strcpy_P (word4_buffer, (char *) pgm_read_word (&(words4_table[randNum4])));
poème = poème + "-Lukas" ;
}
void getPoem() {}
randNum2 = random(3) ;
randNum3 = random(5) ;
randNum4 = random(4) ;
Writting ;
Tweet(poem) ;
lastColor = couleur ;
}
void displayColor() {}
Si (r == 255 & & g == 0 & & b == 0) {}
couleur = 0 ;
}
ElseIf (r == 0 & & g == 255 & & b == 0) {}
couleur = 1 ;
}
ElseIf (r == 0 & & g == 0 & & b == 255) {}
couleur = 2 ;
}
ElseIf (r == 255 & & g == 0 & & b == 255) {}
couleur = 3 ;
}
ElseIf (r == 0 & & g == 255 & & b == 255) {}
couleur = 4 ;
}
ElseIf (r == 255 & & g == 255 & & b == 0) {}
couleur = 5 ;
}
ElseIf (r == 255 & & g == 255 & & b == 255) {}
couleur = 6 ;
}
ElseIf (r == 0 & & g == 0 & & b == 0) {}
couleur = 7 ;
}
{if(Color!=lastColor)}
getPoem() ;
BlinkM_fadeToRGB (blinkm_addr, r, g, b) ;
}
}
tweet Sub (poème de String) {}
poem.toCharArray (testFN, 80) ;
Serial.println(poem) ;
---pour twitter---
Serial.println ("connexion à Twitter...") ; imprimer, utilisé pour le débogage
Serial.println() ; imprimer une ligne vide, utilisée pour le débogage
Si (twitter.post(testFN)) {/ / tweet le datastring rempli de mots
Serial.Print ("Tweeting--") ; imprimer, utilisé pour le débogage
État int = twitter.wait() ;
Si (statut == 200) {}
Serial.println("successful!") ;
Serial.println() ;
}
else {}
Serial.Print ("Tweet a échoué : code") ; code d’erreur d’impression
Serial.println(Status) ; code d’erreur d’impression
}
}
else {}
Serial.println ("Connection to Twitter a échoué.") ; code d’erreur d’impression
Delay(500) ;
Tweet(poem) ;
}
digitalWrite (statusPin, basse) ; le voyant d’État se met
Serial.println("Ready") ; imprimer, utilisé pour le débogage
Serial.println() ; imprimer une ligne vide, utilisée pour le débogage
---pour twitter---
}
5. Branchez l’alimentation et le câble Ethernet et appuyer sur l’interrupteur. Le voyant d’alimentation devrait venir sur et en quelques secondes, l’état du réseau LED, aussi. Le code tweets pour un message « Up and Running » pour vous faire savoir que tout est OK. Vous pouvez brancher un câble USB dans l’Arduino et d’écouter sur le port série pour du débogage.