|
-
-
- #include <SPI.h>
- #include <Ethernet.h>
-
-
- #define APIKEY "YOUR API KEY GOES HERE"
- #define FEEDID 00000
- #define USERAGENT "My Project"
-
-
-
-
- byte mac[] = {
- 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED
- };
-
-
-
- IPAddress ip(10, 0, 1, 20);
-
-
- EthernetClient client;
-
-
-
- IPAddress server(216, 52, 233, 121);
-
-
- unsigned long lastConnectionTime = 0;
- boolean lastConnected = false;
- const unsigned long postingInterval = 10*1000;
-
- void setup() {
-
-
-
-
-
-
-
-
-
- Serial.begin(9600);
- while (!Serial) {
- ;
- }
-
-
-
- delay(1000);
-
- if (Ethernet.begin(mac) == 0) {
- Serial.println("Failed to configure Ethernet using DHCP");
-
- Ethernet.begin(mac, ip);
- }
- }
-
- void loop() {
-
- int sensorReading = analogRead(A0);
-
-
- String dataString = "sensor1,";
- dataString += sensorReading;
-
-
-
- int otherSensorReading = analogRead(A1);
- dataString += "\nsensor2,";
- dataString += otherSensorReading;
-
-
-
-
- if (client.available()) {
- char c = client.read();
- Serial.print(c);
- }
-
-
-
- if (!client.connected() && lastConnected) {
- Serial.println();
- Serial.println("disconnecting.");
- client.stop();
- }
-
-
-
- if(!client.connected() && (millis() - lastConnectionTime > postingInterval)) {
- sendData(dataString);
- }
-
-
- lastConnected = client.connected();
- }
-
-
- void sendData(String thisData) {
-
- if (client.connect(server, 80)) {
- Serial.println("connecting...");
-
- client.print("PUT /v2/feeds/");
- client.print(FEEDID);
- client.println(".csv HTTP/1.1");
- client.println("Host: api.xively.com");
- client.print("X-xivelyApiKey: ");
- client.println(APIKEY);
- client.print("User-Agent: ");
- client.println(USERAGENT);
- client.print("Content-Length: ");
- client.println(thisData.length());
-
-
- client.println("Content-Type: text/csv");
- client.println("Connection: close");
- client.println();
-
-
- client.println(thisData);
- }
- else {
-
- Serial.println("connection failed");
- Serial.println();
- Serial.println("disconnecting.");
- client.stop();
- }
-
- lastConnectionTime = millis();
- }
|