Go Down

Topic: Twitter sendet 403 zurück (Read 1 time) previous topic - next topic

fisch336

Hallo zusammen,
ich versuche mit folgendem Code , die aktuelle Temperatur am LM35 zu twittern, bekomme aber nur ein 403 von Twitter zurück. Laut Twitter ist 403 die Meldung zu oft getweetet und die max Tweets (mit gleichem Inhalt) von 200 am Tag überschritten.
Code: [Select]
#include <Twitter.h>
#include <SPI.h>
#include <PString.h>
#include <EthernetDNS.h>
#include <Client.h>
#include <Ethernet.h>
#include <Server.h>
#include <Udp.h>
#define RATE 1800000

byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
byte ip[] = { 192, 168, 1, 44 };
byte gateway[] = { 192, 168, 1, 2 };
byte subnet[] = { 255, 255, 255, 0 };

Twitter twitter("mein Token");

float tempC;
int tempPin = 0;
char buffer[140];
PString string(buffer, sizeof(buffer));

void setup()
{
  Ethernet.begin(mac, ip, gateway, subnet);
  delay(1000);
  Serial.begin(115200);
 
 
  Serial.println("connecting ...");
  if (twitter.post(buffer)) {
    // Specify &Serial to output received response to Serial.
    // If no output is required, you can just omit the argument, e.g.
    // int status = twitter.wait();
    int status = twitter.wait();
    if (status == 200) {
      Serial.println("OK.");
    } else {
      Serial.print("failed : code ");
      Serial.println(status);
    }
  } else {
    Serial.println("connection failed.");
  }
}
void loop() {
  tempC = analogRead(tempPin);
  tempC = (5.0 * tempC +100.0)/1024.0;
  string.print("Die Temperatur ist ");
  string.println(tempC);
  string.print("Grad Celsius");
  delay(RATE);
}
 


Kann mir  jemand sagen wo der Haken in meinem Code ist ?
Danke Euch

udoklein

#1
Feb 23, 2011, 09:22 pm Last Edit: Feb 23, 2011, 09:26 pm by Udo Klein Reason: 1
Also ich würde in so einem Fall grundsätzlich immer schauen was "auf der Leitung" los ist. D.h. installiere einen Debug Proxy wie z.B. Fiddler http://www.fiddler2.com/fiddler2/ und leite Deine Requests durch den Proxy. Oder schau mit Wireshark nach. Fiddler ist hier aber die bessere Wahl. Dann siehst Du was Dein Code so treibt. Das ist in der Regel sehr erhellend ;)

Gruß, Udo
Check out my experiments http://blog.blinkenlight.net

fisch336

Gute Idee, muss mal Wireshark probieren, für Fiddler fehlt mir Gott sei Dank das Betriebssystem  :D . Ansonsten scheint der Code ja zu passen ? war mir mit der PString Sache nicht so sicher.

udoklein

#3
Feb 23, 2011, 09:42 pm Last Edit: Feb 23, 2011, 09:45 pm by Udo Klein Reason: 1
Kein Problem, auch für den Rest der Gemeinde ist gesorgt:

http://de.wikipedia.org/wiki/Netcat
http://en.wikipedia.org/wiki/WebScarab

Wobei Fiddler2 wirklich außerordentlich gut ist. Eins der wenigen Tools die mir aus der Windowswelt bei Linux fehlen.
Für Dein einfaches Problem reicht aber nc locker aus.

Was den Code angeht: dazu habe ich nichts gesagt. Mit den richtigen Tools kriegst Du das schon selber raus.

Udo
Check out my experiments http://blog.blinkenlight.net

Go Up