Created
May 6, 2015 08:08
-
-
Save bjnhur/8a7a8646655d1566483b to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
Reference: | |
http://arduino.cc/en/Tutorial/WebClientRepeating | |
*/ | |
#include <SPI.h> | |
#include <Ethernet.h> | |
const int analogIn = A0; | |
int analogVal = 0; | |
byte mac[] = { | |
0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED | |
}; | |
IPAddress ip(192, 168, 1, 177); | |
// initialize the library instance: | |
EthernetClient client; | |
char server[] = "www.dweet.io"; | |
unsigned long lastConnectionTime = 0; // last time you connected to the server, in milliseconds | |
const unsigned long postingInterval = 10L * 1000L; // delay between updates, in milliseconds | |
// the "L" is needed to use long type numbers | |
void setup() { | |
// start serial port: | |
Serial.begin(9600); | |
Serial.println("--- Start ---"); | |
// give the ethernet module time to boot up: | |
delay(1000); | |
// start the Ethernet connection using a fixed IP address and DNS server: | |
Ethernet.begin(mac, ip); | |
// print the Ethernet board/shield's IP address: | |
Serial.print("My IP address: "); | |
Serial.println(Ethernet.localIP()); | |
} | |
void loop() { | |
// if there's incoming data from the net connection. | |
// send it out the serial port. This is for debugging | |
// purposes only: | |
if (client.available()) { | |
char c = client.read(); | |
Serial.write(c); | |
} | |
// if ten seconds have passed since your last connection, | |
// then connect again and send data: | |
if (millis() - lastConnectionTime > postingInterval) { | |
httpRequest(); | |
} | |
} | |
// this method makes a HTTP connection to the server: | |
void httpRequest() { | |
// close any connection before send a new request. | |
// This will free the socket on the WiFi shield | |
client.stop(); | |
// if there's a successful connection: | |
if (client.connect(server, 80)) { | |
Serial.println("connected"); | |
analogVal = analogRead(analogIn); | |
// Make a HTTP request: | |
String s = "POST /dweet/for/arduinotest?A0="; | |
s.concat(analogVal); | |
Serial.println(s); | |
client.println(s); | |
client.println("Host: www.dweet.io"); | |
client.println("Connection: close"); | |
client.println(); | |
// note the time that the connection was made: | |
lastConnectionTime = millis(); | |
} | |
else { | |
// if you couldn't make a connection: | |
Serial.println("connection failed"); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment