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.
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.
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.
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.
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("");
client.println("");
// 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("
");
}
client.println("");
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");
}
}