twitter adruino

hallo

ik hoop dat jullie mij kunnen helpen. ik probeer mijn adruino via twitter een led aan te laten gaan. nu heb ik deze gevonden Twitter Client=> naar eigen account veranderen [OPGELOST!] - Nederlands - Arduino Forum ik snap hier niks van. ik probeer alles, kan verbinding maken met twitter maar als ik de tweet verstuur dan doet niks. wat doe ik verkeerd? hebben jullie tips voor mij ? gr. jeroen

Jeroen
Ik denk dat het handig is als je aangeeft:
a) welke code je gebruikt
b) welke hardware
Nu hebben we weinig om aanvulling te kunnen geven.

hoi nicoverduin

ik heb een arduino uno ethernet shield

ik gebruik deze code

#include <SPI.h>
#include <Ethernet.h>
#include <TextFinder.h>

// Enter a MAC address and IP address for your controller below.
// The IP address will be dependent on your local network:
byte mac[] = { 0x90, 0xA2, 0xDA, 0x07, 0x00, 0x2B };
byte ip[] = { 10,25,32,90}; //change this
byte subnet[] = {255,255,0,0}; //change this
byte gateway[] = {10,25,255,254}; //change this

EthernetClient client;
String TwitterName ="adruinohome"; //change this to your own twittername, or follow me :wink:
char tweet[140];
String SearchString ="";
byte charsize;
char serverName[] = "api.twitter.com"; // twitter URL
int leD1 = 8;
int leD2 = 7;
int leD3 = 6;
int leD4 = 5;

void setup() {
pinMode(leD1, OUTPUT);
pinMode(leD2, OUTPUT);
pinMode(leD3, OUTPUT);
pinMode(leD4, OUTPUT);
// initialize serial:
Serial.begin(9600);
// attempt a DHCP connection:
Ethernet.begin(mac, ip, dns, gateway, subnet);
// connect to Twitter:
delay(3000);
}

void loop(){

Serial.println("connecting to server...");
if (client.connect(serverName, 80)) {
TextFinder finder( client,2 );
Serial.println("making HTTP request...");
// make HTTP GET request to twitter:
client.print("GET /1/statuses/user_timeline.rss?screen_name=");
client.print(TwitterName);
client.println("&count=1 HTTP/1.1");
client.println("HOST: api.twitter.com");
client.println();
Serial.println("sended HTTP request...");
memset (tweet,0x03,sizeof(tweet)); //we vullen de tweet met ETX (End of Text)
while (client.connected()) {
if (client.available()) {
Serial.println("looking for tweet...");
SearchString = SearchString + TwitterName + ": ";
charsize = SearchString.length() + 1;
char StartHere[charsize];
char EndHere[] = "";
SearchString.toCharArray(StartHere,charsize);
if((finder.find("")&&(finder.getString(StartHere,EndHere,tweet,140)!=0)))
Serial.println(tweet);
break;
}

}
delay(1);
client.stop();
}
Serial.println("start de verwerking ...");
if (tweet[0] != 0x03) { //als het eerste karakter in de char tweet niet gelijk is aan 0x03, dan staat er dus iets anders bv a of b of q
for (byte i = 0; i <140; i++){ // we zoeken de a op alle 140 plaatsen
if (tweet == 'a' ){

  • Serial.print("a verwerkt! op plaats: ");*
  • Serial.println(i); // laat ons zien op welke plaats je een a vond. want mogelijks is dat niet op de eerste plaats in de tweet*
  • digitalWrite (leD1, HIGH); //led 1 aan*
  • delay (1000); // laatste actie aanhouden*
  • digitalWrite (leD1, LOW); //led 1 uit en naar de volgende*
  • delay (100);*
  • digitalWrite (leD1, HIGH); //led 1 aan*
  • delay (1000); // laatste actie aanhouden*
  • digitalWrite (leD1, LOW); //led 1 uit en naar de volgende*
  • delay (100);*
  • digitalWrite (leD3, HIGH); //led 1 aan*
  • delay (1000); // laatste actie aanhouden*
  • digitalWrite (leD3 , LOW); //led 1 uit en naar de volgende*
  • delay (100);*
  • }*
    _ if (tweet == 'b' ){_
    * Serial.print("b verwerkt! op plaats: ");*
    * Serial.println(i); // index b printen*
    * }*
    * }*

* }*
Serial.println("delay...");
delay (60000);
// don't make this less than 30000 (30 secs), because you can't connect to the twitter servers faster (you'll be banned)
// off course it would be better to use the "Blink without delay", but I leave that to you.
}[/td]
[/tr]
[/table]
maar deze alls ik upload en tweet verstuurt doet niks
meschien doe ik wat verkeert of heeft u nog tips alvast bedankt
gr jeroen

Heb je de IP en Gateway adressen veranderd voor jouw eigen netwerk?

nicoverduin:
Heb je de IP en Gateway adressen veranderd voor jouw eigen netwerk?

Ik denk het niet

byte ip[] =  { 10,25,32,90}; //change this
byte subnet[] = {255,255,0,0}; //change this
byte gateway[] = {10,25,255,254}; //change this

Het is heeel onwaarschijnlijk dat dit ip adres goed is.
Het is ook heel onwaarschijnlijk dat de gateway past bij dit ip adres.

Jantje

hoi

sorry ik zag dat ik niet aan gepaste coden geupload naar deze forum ik heb alls aan gepast als ik een tweet verstuur ziek ik dit

connecting to server...
making HTTP request...
sended HTTP request...
start de verwerking ...
delay...
#include <SPI.h>
#include <Ethernet.h>
#include <TextFinder.h> 


// Enter a MAC address and IP address for your controller below.
// The IP address will be dependent on your local network:
byte mac[] = { 0x90, 0xA2, 0xDA, 0x07, 0x00, 0x2B };
byte ip[] =  { 192,168,1,199}; //change this
byte subnet[] = {255,255,255,0}; //change this
byte gateway[] = {192,168,1,1}; //change this

EthernetClient client;
String TwitterName ="adruinohome"; //change this to your own twittername, or follow me ;-)
char tweet[140];
String SearchString ="<title>";
byte charsize;
char serverName[] = "api.twitter.com";  // twitter URL
int leD1 = 8;                
int leD2 = 7;
int leD3 = 6;
int leD4 = 5;

void setup() {
 pinMode(leD1, OUTPUT);
 pinMode(leD2, OUTPUT);
 pinMode(leD3, OUTPUT); 
 pinMode(leD4, OUTPUT);
 // initialize serial:
 Serial.begin(9600);
 // attempt a DHCP connection:
 Ethernet.begin(mac, ip, dns, gateway, subnet);
 // connect to Twitter:
 delay(3000);
}

void loop(){
 
 Serial.println("connecting to server...");
 if (client.connect(serverName, 80)) {
   TextFinder  finder( client,2 );
   Serial.println("making HTTP request...");
   // make HTTP GET request to twitter:
   client.print("GET /1/statuses/user_timeline.rss?screen_name=");
   client.print(TwitterName);
   client.println("&count=1 HTTP/1.1");
   client.println("HOST: api.twitter.com");
   client.println();
   Serial.println("sended HTTP request...");
   memset (tweet,0x03,sizeof(tweet)); //we vullen de tweet met ETX (End of Text)
   while (client.connected()) {
     if (client.available()) {
       Serial.println("looking for tweet...");
       SearchString = SearchString + TwitterName + ": ";
       charsize = SearchString.length() + 1;
       char StartHere[charsize];
       char EndHere[] = "</title>";
       SearchString.toCharArray(StartHere,charsize);
       if((finder.find("<item>")&&(finder.getString(StartHere,EndHere,tweet,140)!=0)))
         Serial.println(tweet);
       break;
     }
     
     
   }
   delay(1);
   client.stop();
 }
 Serial.println("start de verwerking ...");
 if (tweet[0] != 0x03) { //als het eerste karakter in de char tweet niet gelijk is aan 0x03, dan staat er dus iets anders bv a of b of q
     for (byte i = 0; i <140; i++){ // we zoeken de a op alle 140 plaatsen
       if (tweet == 'a' ){
         Serial.print("a verwerkt! op plaats: ");
         Serial.println(i); // laat ons zien op welke plaats je een a vond. want mogelijks is dat niet op de eerste plaats in de tweet
                            digitalWrite (leD1, HIGH);        //led 1 aan
                            delay (1000);                     // laatste actie aanhouden
                            digitalWrite (leD1, LOW);         //led 1 uit en naar de volgende
                            delay (100);
                             digitalWrite (leD1, HIGH);        //led 1 aan
                            delay (1000);                     // laatste actie aanhouden
                            digitalWrite (leD1, LOW);         //led 1 uit en naar de volgende
                            delay (100);
                             digitalWrite (leD3, HIGH);        //led 1 aan
                            delay (1000);                     // laatste actie aanhouden
                            digitalWrite (leD3 , LOW);         //led 1 uit en naar de volgende
                            delay (100);
       }
       if (tweet == 'b' ){
         Serial.print("b verwerkt! op plaats: ");
         Serial.println(i); // index b printen
       }
     }
     
   }
 Serial.println("delay...");
 delay (60000); 
 // don't make this less than 30000 (30 secs), because you can't connect to the twitter servers faster (you'll be banned)
 // off course it would be better to use the "Blink without delay", but I leave that to you.
}

dit is de code code die op me adruino staat

gr jeroen

Volgens mij komt er bij jouw geen tweet binnen. Heb je wel een tweet verstuurd?

Ja ik tweet naar de adruino toe led aan van alls niks doet het snap er niks van op twitter zie ik ze wel

Dat zou blijken dat er dus niets binnenkomt? Ik zou eerst maar mezelf beperken tot ik in staat ben om een tweet binnen te halen. Pas dan komen de fancy dingen......
De twittername heb je ook ingevuld?

ik hebben van alles geprobeerd krijg geen tweet naar me adruino ik heb de just naam in gevult hij ziet niks ik ben nu zo ver dat ik het niet meer weet heeft iemand een goede code of ander tip ?

ik kan wel twitter met me adruino

jeroenv27:
ik kan wel twitter met me adruino

Dus je ziet de tweet nu wel binnenkomen? En zo ja wat zie je dan?

ik zie geen tweet binnen komen kan het wel vertuuren via de adruino ontvangen wil dus niet

Als ik zo ff google op arduino en twitter hebben ze het wel allemaal over een token. Heb/gebruik jij die?

Misschien cru om te stellen, maar begin eens helemaal opnieuw.

Misschien helpt de volgende uitleg (23 steps).

Overigens ik zelf ben ook vaak opnieuw begonnen, vaak voortkomend uit het te veel in een keer willen programmeren c.q. veranderen.

Daarmee zeg ik niet dat dit bij jouw ook aan de hand kunnen zijn. Wat ik wel wil zeggen; pak een werkend sketch en breid het dan uit.

De tutorial zou een 2-way oplossing bieden. Ik heb het verder niet doorgenomen.

Yamas

Yamas:
Misschien cru om te stellen, maar begin eens helemaal opnieuw.

Misschien helpt de volgende uitleg (23 steps).

http://www.instructables.com/id/Twitter-controlled-Arduino-Outputs-no-PCLCD-Disp/

Overigens ik zelf ben ook vaak opnieuw begonnen, vaak voortkomend uit het te veel in een keer willen programmeren c.q. veranderen.

Daarmee zeg ik niet dat dit bij jouw ook aan de hand kunnen zijn. Wat ik wel wil zeggen; pak een werkend sketch en breid het dan uit.

De tutorial zou een 2-way oplossing bieden. Ik heb het verder niet doorgenomen.

Yamas

Klinkt inderdaad misschien wel cru maar het is IMHO de beste manier als je vast zit.
Met vriendelijke groet
Jantje

Het is gevaarlijk uitgerekend een instructables pagina te adviseren, zeker wanneer je die zelf niet hebt doorgenomen en het vergezeld gaat van het advies om er mee opnieuw te beginnen.
Instructables zijn meestal bijzonder slecht opgestelde verslagen van personen die zelf, zonder gehinderd te worden door enige kennis, iets hebben gebouwd.
Dat word dan gebracht als een "hoe moet dit".
Natuurlijk zijn er ook wel artikelen te vinden die wel correct zijn.
Maar de algehele kwaliteit van die site is gewoon niet aanwezig daar.

Ik heb de link niet gevolgd, en maak me daarmee en met deze post net zo schuldig aan wat er daar gebeurt.
Ik kan echter zonder schuldgevoel 1 ding aanraden wat betreft instructables: mijden als de pest !

deze link had ik ook al gezien

Misschien cru om te stellen, maar begin eens helemaal opnieuw.

Misschien helpt de volgende uitleg (23 steps).

http://www.instructables.com/id/Twitter-controlled-Arduino-Outputs-no-PCLCD-Disp/

Overigens ik zelf ben ook vaak opnieuw begonnen, vaak voortkomend uit het te veel in een keer willen programmeren c.q. veranderen.

Daarmee zeg ik niet dat dit bij jouw ook aan de hand kunnen zijn. Wat ik wel wil zeggen; pak een werkend sketch en breid het dan uit.

De tutorial zou een 2-way oplossing bieden. Ik heb het verder niet doorgenomen.

Yamas

punt bij plaatje klopt het niet

ik ben er achter gekomen dat ik geen verbinding kan maken twitter als ik een tweet stuur naar me adruino

dit lukt echter als ik met me adruino tweet verstuur naar twitter

ook heb ik bij het ontvangen een token bij gedaan maar ook dit help niet

ik ben nog steets aan kijken of nog wel lukt ik zag ook op google dat twitter adruino geblokkeerd

eerst kon je met rrs doen dat kan nu niet meer ben aan het kijken hoe dit wel moet

sorry voor mijn laten reactie

gr jeroen

MAS3:
Het is gevaarlijk uitgerekend een instructables pagina te adviseren, zeker wanneer je die zelf niet hebt doorgenomen en het vergezeld gaat van het advies om er mee opnieuw te beginnen.
Instructables zijn meestal bijzonder slecht opgestelde verslagen van personen die zelf, zonder gehinderd te worden door enige kennis, iets hebben gebouwd.
Dat word dan gebracht als een "hoe moet dit".
Natuurlijk zijn er ook wel artikelen te vinden die wel correct zijn.
Maar de algehele kwaliteit van die site is gewoon niet aanwezig daar.

Ik heb de link niet gevolgd, en maak me daarmee en met deze post net zo schuldig aan wat er daar gebeurt.
Ik kan echter zonder schuldgevoel 1 ding aanraden wat betreft instructables: mijden als de pest !

Ik vind instructables een bruikbare site. Volgens de wiki is er een systeem met een 'full-time' staff en vrijwilligers.
Regelmatig vind ik er bruikbare informatie. Als je de reacties onder een instructable leest dan kun je een indruk krijgen van het niveau/kwaliteit van het artikel. Ongetwijffeld zijn er minder goede artikelen op die site maar om nu te zeggen dat het merendeel bagger is die je moet mijden als de pest .... :fearful:

Je zou zelfs hetzelfde kunnen zeggen over forum.arduino.cc/ dat bestaat immers ook voor een groot deel uit " verslagen van personen die zelf, zonder gehinderd te worden door enige kennis, iets hebben gebouwd." waarna datzelfde forum wordt overstelpt met vragen van diezelfde personen die er helemaal niet meer uitkomen. :grin:

Dat is niet waar.
Bij de instructables worden niet positieve opmerking verwijderd, dat is bewezen door meerdere leden van dit Arduino board.
Als je daar een artikel leest en dan naar de reacties gaat, zie je er nooit eentje die je vertelt dat er onzin in het artikel staat.
De enige uitzondering die ik heb gezien is de pagina die was uitgekozen door verschillende leden van dit board, waar de commentaren werden verwijderd, en een paar dagen later weer terug gezet werden omdat men schijnbaar door kreeg wat er aan de hand was.

Als je hier op het board verkeerde informatie neerzet, dan word je daar op gewezen.
Niet altijd op een fijne manier, maar in ieder geval word een geïnteresseerde lezer niet het bos ingestuurd met verkeerde aanwijzingen.
En dat is op die andere site meer regel dan uitzondering.

Daar word meestal verteld welke stappen iemand heeft gezet om een bepaald doel te bereiken, maar niet waarom die stappen zijn gezet.
Dat zijn inderdaad instructies, maar geen lessen.
Je leert daar dus niet iets te maken wat net even afwijkt van het voorbeeld, omdat je geen idee hebt van wat er gebeurt.

Het idee voor een dergelijke site is leuk.
Maar die site wil zoveel mogelijk onderwerpen behandelen, van het strikken van je schoenveters tot het bouwen van raketten als het ware.

De full time staff is vermoedelijk heel druk met de wiki want je ziet ze verder nooit.
Als ze enig inzicht zouden hebben in wat er daar zoal besproken word, dan hadden ze het veel te druk om die site op te schonen.
Laat ze dan op z'n minst een mededeling neerzetten op elke pagina dat je daar niet moet komen om te leren, hooguit om instructies op te volgen en je dan te laten verrassen door het resultaat.