Go Down

Topic: Wifi/Ethernet Shield Examples - Twitter Control (Read 915 times) previous topic - next topic

stevetreeph

Looking at the twitter client page on the site, prior to the code is the message is:

"This example doesn't work anymore because the Twitter authentication mode is now different and not compatible with Arduino libraries."

I was wonder if i) the libraries will be updated ii) there are any resources or any code being generated to swap out and handle the Oauth twitter API with the current examples iii) any resources you could point me towards

I've searched but most seem a little beyond my scope.

I was really into some of the twitter-controlled projects I'd seen, but now my project seems dead in the water.

Thanks for any help you can provide.

SurferTim

Twitter requires a Secure Socket Layer (SSL) connection (https rather than http). The Arduino ethernet and wifi libraries do not support that protocol. I think it is a matter of memory. The larger devices that Arduino has in the works may have enough to do that eventually.

pico

#2
Oct 24, 2013, 05:10 pm Last Edit: Oct 24, 2013, 05:15 pm by pico Reason: 1

Twitter requires a Secure Socket Layer (SSL) connection (https rather than http). The Arduino ethernet and wifi libraries do not support that protocol. I think it is a matter of memory. The larger devices that Arduino has in the works may have enough to do that eventually.



Or, you can use the  RFXduino gateway system which allows SSL connections from Arduinos. Even has a "Send a tweet to Twitter via https" routine already built-in to the library (see doc pages for code snippets.)

WiFi from an Arduino is actually easy, as well as inexpensive, if you take the right approach.
WiFi shields/Yun too expensive? Embeddedcoolness.com is now selling the RFXduino nRF24L01+ <-> TCP/IP Linux gateway: Simpler, more affordable, and even more powerful wireless Internet connectivity for *all* your Arduino projects! (nRF24L01+ shield and dev board kits available too.)

atarwate

problem in output of ethernet shield
getting 0.0.0.0 at serial output
from following program:
/*
 Web Server

A simple web server that shows the value of the analog input pins.
using an Arduino Wiznet Ethernet shield.

Circuit:
* Ethernet shield attached to pins 10, 11, 12, 13
* Analog inputs attached to pins A0 through A5 (optional)

created 18 Dec 2009
by David A. Mellis
modified 9 Apr 2012
by Tom Igoe

*/

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

// Enter a MAC address and IP address for your controller below.
// The IP address will be dependent on your local network:
byte mac[] = {
 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED
};
IPAddress ip(192, 168, 1, 177);

// Initialize the Ethernet server library
// with the IP address and port you want to use
// (port 80 is default for HTTP):
EthernetServer server(80);

void setup() {
 // Open serial communications and wait for port to open:
 Serial.begin(9600);
 while (!Serial) {
   ; // wait for serial port to connect. Needed for Leonardo only
 }


 // start the Ethernet connection and the server:
 Ethernet.begin(mac, ip);
 server.begin();
 Serial.print("server is at ");
 Serial.println(Ethernet.localIP());
}


void loop() {
 // listen for incoming clients
 EthernetClient client = server.available();
 if (client) {
   Serial.println("new client");
   // an http request ends with a blank line
   boolean currentLineIsBlank = true;
   while (client.connected()) {
     if (client.available()) {
       char c = client.read();
       Serial.write(c);
       // if you've gotten to the end of the line (received a newline
       // character) and the line is blank, the http request has ended,
       // so you can send a reply
       if (c == '\n' && currentLineIsBlank) {
         // send a standard http response header
         client.println("HTTP/1.1 200 OK");
         client.println("Content-Type: text/html");
         client.println("Connection: close");  // the connection will be closed after completion of the response
         client.println("Refresh: 5");  // refresh the page automatically every 5 sec
         client.println();
         client.println("<!DOCTYPE HTML>");
         client.println("<html>");
         // output the value of each analog input pin
         for (int analogChannel = 0; analogChannel < 6; analogChannel++) {
           int sensorReading = analogRead(analogChannel);
           client.print("analog input ");
           client.print(analogChannel);
           client.print(" is ");
           client.print(sensorReading);
           client.println("<br />");
         }
         client.println("</html>");
         break;
       }
       if (c == '\n') {
         // you're starting a new line
         currentLineIsBlank = true;
       }
       else if (c != '\r') {
         // you've gotten a character on the current line
         currentLineIsBlank = false;
       }
     }
   }
   // give the web browser time to receive the data
   delay(1);
   // close the connection:
   client.stop();
   Serial.println("client disconnected");
 }
}

Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy