Twitter.h Anpassung an ESP


hallo
ich bin verzweifeln,

ich habe versucht die twitter.h den esp anzupassen. hier die neue twitter.h
code: [select]
#include <inttypes.h>
#include <pgmspace.h>
#include <esp8266wifi.h>
#include <wificlient.h>
#include <wifiudp.h>

class twitter
{
private:
   uint8_t parsestatus;
   int statuscode;
   const char *token;

   wificlient client;;

public:
   twitter(const char *user_and_passwd);
   
   bool post(const char *msg);
   bool checkstatus(print *debug = null);
   int  wait(print *debug = null);
   int  status(void) { return statuscode; }
};




// see more at: http://www.esp8266.com/viewtopic.php?f=29&t=7276#sthash.bthuanld.0cgpv0gk.dpuf



mit folgenden sketch wollte ich einen tweet versenden
code: [select]
#include <esp8266wifi.h>
     
#include "twitter.h"
#include <wificlient.h>
#include <wifiudp.h>

 const char* ssid = "fritz!box fon wlan 7170";
 const char* password = "------------------";

wifiserver server(80);
  wificlient client;


twitter twitter("----------------------------------");
char msg[] = "hello, world! i'm arduino!super3";

void setup()
{


ich bekomme dann folgende fehlermeldung: es sieht aus als würde die neue twitter.h nicht richtig eingebunden?



arduino: 1.6.9 (windows 7), board: "generic esp8266 module, 80 mhz, 40mhz, dio, 115200, 512k (64k spiffs), ck, disabled, none"

sketch\esp_twitter_test.ino.cpp.o:(.text.setup+0x2c): undefined reference `twitter::post(char const*)'

sketch\esp_twitter_test.ino.cpp.o:(.text.setup+0x30): undefined reference `twitter::wait(print*)'

sketch\esp_twitter_test.ino.cpp.o: in function `setup':

c:\users\mb\documents\arduino\esp_twitter_test/esp_twitter_test.ino:28: undefined reference `twitter::post(char const*)'

sketch\esp_twitter_test.ino.cpp.o: in function `hardwareserial::begin(unsigned long)':

c:\users\mb\appdata\local\arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266/hardwareserial.h:75: undefined reference `twitter::wait(print*)'

sketch\esp_twitter_test.ino.cpp.o: in function `setup':

c:\users\mb\documents\arduino\esp_twitter_test/esp_twitter_test.ino:38: undefined reference `twitter::twitter(char const*)'

sketch\esp_twitter_test.ino.cpp.o: in function `__static_initialization_and_destruction_0':

c:\users\mb\documents\arduino\esp_twitter_test/esp_twitter_test.ino:14: undefined reference `twitter::twitter(char const*)'

collect2.exe: error: ld returned 1 exit status

exit status 1
fehler beim kompilieren für das board generic esp8266 module.


zur ergänzung die originale twitter.h und der sketch für den uno mit ethernet. mit dem uno und ethernet geht es wunderbar : vieleicht gibt es eine anpassung den esp oder habe ich falsch gemacht. wer kann meinen angepassten oben genannten code mit dem esp mal testen?

twitter.h :
code: [select]
/*
  twitter.cpp - arduino library post messages twitter using oauth.
  copyright (c) neocat 2010-2011. right reserved.
 
  library distributed in hope useful,
  without warranty; without implied warranty of
  merchantability or fitness particular purpose.
 */

// ver1.2 - use <udp.h> support ide 0019 or later
// ver1.3 - support ide 1.0

#ifndef twitter_h
#define twitter_h

#include <inttypes.h>
#include <avr/pgmspace.h>
#if defined(arduino) && arduino > 18   // arduino 0019 or later
#include <spi.h>
#endif
#include <ethernet.h>
#if defined(arduino) && arduino < 100  // earlier arduino 1.0
#include <ethernetdns.h>
#endif

class twitter
{
private:
uint8_t parsestatus;
int statuscode;
const char *token;
#if defined(arduino) && arduino < 100
client client;
#else
ethernetclient client;
#endif
public:
twitter(const char *user_and_passwd);

bool post(const char *msg);
bool checkstatus(print *debug = null);
int  wait(print *debug = null);
int  status(void) { return statuscode; }
};

#endif //twitter_h


sketch zum versenden vom test- tweet
code: [select]
#if defined(arduino) && arduino > 18   // arduino 0019 or later
#include <spi.h>
#endif
#include <ethernet.h>
//#include <ethernetdns.h>  needed in arduino 0022 or earlier
#include <twitter.h>

byte mac[] = { 0xde, 0xad, 0xbe, 0xef, 0xfe, 0xed };
byte ip[] = { 192, 168, 178, 101 };
twitter twitter("750719951103750144-fus537uzajegj21wtvi4mlgo5cg80m8");
char msg[] = "hello, world! i'm arduino!super2";

void setup()
{
  delay(1000);
  ethernet.begin(mac, ip);
  serial.begin(9600);
 
  serial.println("connecting ...");
  if (twitter.post(msg)) {
    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()
{
}
 


Arduino Forum > International > Deutsch (Moderator: uwefed) > Twitter.h Anpassung an ESP


arduino

Comments

Popular posts from this blog

Error: ‘for’ loop initial declarations are only allowed in C99 or C11 mode - Raspberry Pi Forums

class MPU6050 has no member named begin

missing filename after '-o'