Go Down

Topic: Twitter Client=> naar eigen account veranderen [OPGELOST!] (Read 5 times) previous topic - next topic

Jantje

De code uit je post kan volgens mij niet compileren.
Ik zie volgende fouten
Code: [Select]
if (tweet == '97' ) 
'97' slaat nergens op in C.
Code: [Select]
Serial.println(tweet);
                          char tweet;

Je gebruikt tweet voor je het declareerd wat niet kan in C.
Code: [Select]
                          char tweet;
                        {   while (tweet > 0);     // pas reageren als er iets is in de tweet zit

tweet kan van alles bevatten.
Code: [Select]
while (tweet > 0);
als tweet ==0 is dit een oneindige lus.

Ik snap ook niet hoe deze code kan leiden tot de output die je geeft.

Met vriendelijke groet
Jantje

Code: [Select]
                      if (tweet == '97' )                       //is de ingegeven waarde a dan... Telt enkel voor chars
                            {//digitalWrite (leD1, HIGH);        //led 1 aan
                             //delay (1000);                     // laatste actie aanhouden
                             //digitalWrite (leD1, LOW);         //led 1 uit en naar de volgende
                             //delay (100);
                              Serial.println("97 verwerkt!");}

Je mist een ; op het einde

voeg ook een
Code: [Select]
Serial.println(tweet);
toe onder
Code: [Select]
Serial.println("in de while lus");
Dan weet je wat je binnen krijgt. Misschien krijg je gewoon een 'A' binnen in plaats van een 'a'.
Do not PM me a question unless you are prepared to pay for consultancy.
Nederlandse sectie - http://arduino.cc/forum/index.php/board,77.0.html -

JO3RI

Lees alle opmerkingen van Jantje aandachtig, want ze zijn terecht.

MAAR ...

eerst moet je de code die je gebruikt om te vergelijken, uit de code om de tweet te zoeken, halen.

Laat eerste de tweet ophalen (while connected).
en als dat gebeurt is, vergelijk dan wat er in tweet staat met je voorwaarden.

while (tweet > 0); is nutteloos want de char tweet is altijd > 0.

probeer dit eens voor de void loop:

Code: [Select]

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[i] == '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
        }
      }
    }
  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.
}


KINGsize

Met jullie hulp werkt het zo goed als perfect!
Mijn voorlopig tussen test zijn voor de rest ook super. Van retweet's trek hij hem niets aan en van antwoorden op de tweeds ook niet. En dat was wel de bedoeling.  :smiley-mr-green:
Enkel leest hij eenmalig de tweet zelf in en als er een nieuwe verschijnt trek de arduino er zich niks van aan en doet gewoon lustig voort.
@jantje en JO3RI: Willen jullie met naam en toenaam in mijn eindproject ? Want dankzij jullie kreeg ik weer op de rails. Stuur me dan een prive-bericht.

Echt merci!  :D

JO3RI

Goed om te horen dat het gelukt is. Zou je zo vriendelijk willen zijn, om het eindresultaat met ons te delen? eventueel met een filmpje (in een nieuwe topic :) )

Jantje


Goed om te horen dat het gelukt is. Zou je zo vriendelijk willen zijn, om het eindresultaat met ons te delen? eventueel met een filmpje (in een nieuwe topic :) )

Ik vind dat beter dan een vermelding.

Groeten uit Belgie
Jantje
Do not PM me a question unless you are prepared to pay for consultancy.
Nederlandse sectie - http://arduino.cc/forum/index.php/board,77.0.html -

Go Up