mirror of
https://github.com/arduino/Arduino.git
synced 2024-12-01 12:24:14 +01:00
Updates to a number of Examples
removed pachube examples, added xively examples. changes to the Servo examples
This commit is contained in:
parent
89d6841ac0
commit
cb9686dc33
@ -1,136 +0,0 @@
|
|||||||
/*
|
|
||||||
Twitter Client with Strings
|
|
||||||
|
|
||||||
This sketch connects to Twitter using an Ethernet shield. It parses the XML
|
|
||||||
returned, and looks for <text>this is a tweet</text>
|
|
||||||
|
|
||||||
You can use the Arduino Ethernet shield, or the Adafruit Ethernet shield,
|
|
||||||
either one will work, as long as it's got a Wiznet Ethernet module on board.
|
|
||||||
|
|
||||||
This example uses the DHCP routines in the Ethernet library which is part of the
|
|
||||||
Arduino core from version 1.0 beta 1
|
|
||||||
|
|
||||||
This example uses the String library, which is part of the Arduino core from
|
|
||||||
version 0019.
|
|
||||||
|
|
||||||
Circuit:
|
|
||||||
* Ethernet shield attached to pins 10, 11, 12, 13
|
|
||||||
|
|
||||||
created 21 May 2011
|
|
||||||
modified 9 Apr 2012
|
|
||||||
by Tom Igoe
|
|
||||||
|
|
||||||
This code is in the public domain.
|
|
||||||
|
|
||||||
*/
|
|
||||||
#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[] = {
|
|
||||||
0x00, 0xAA, 0xBB, 0xCC, 0xDE, 0x01 };
|
|
||||||
IPAddress ip(192,168,1,20);
|
|
||||||
|
|
||||||
// initialize the library instance:
|
|
||||||
EthernetClient client;
|
|
||||||
|
|
||||||
const unsigned long requestInterval = 60000; // delay between requests
|
|
||||||
|
|
||||||
char serverName[] = "api.twitter.com"; // twitter URL
|
|
||||||
|
|
||||||
boolean requested; // whether you've made a request since connecting
|
|
||||||
unsigned long lastAttemptTime = 0; // last time you connected to the server, in milliseconds
|
|
||||||
|
|
||||||
String currentLine = ""; // string to hold the text from server
|
|
||||||
String tweet = ""; // string to hold the tweet
|
|
||||||
boolean readingTweet = false; // if you're currently reading the tweet
|
|
||||||
|
|
||||||
void setup() {
|
|
||||||
// reserve space for the strings:
|
|
||||||
currentLine.reserve(256);
|
|
||||||
tweet.reserve(150);
|
|
||||||
|
|
||||||
// Open serial communications and wait for port to open:
|
|
||||||
Serial.begin(9600);
|
|
||||||
while (!Serial) {
|
|
||||||
; // wait for serial port to connect. Needed for Leonardo only
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// attempt a DHCP connection:
|
|
||||||
Serial.println("Attempting to get an IP address using DHCP:");
|
|
||||||
if (!Ethernet.begin(mac)) {
|
|
||||||
// if DHCP fails, start with a hard-coded address:
|
|
||||||
Serial.println("failed to get an IP address using DHCP, trying manually");
|
|
||||||
Ethernet.begin(mac, ip);
|
|
||||||
}
|
|
||||||
Serial.print("My address:");
|
|
||||||
Serial.println(Ethernet.localIP());
|
|
||||||
// connect to Twitter:
|
|
||||||
connectToServer();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void loop()
|
|
||||||
{
|
|
||||||
if (client.connected()) {
|
|
||||||
if (client.available()) {
|
|
||||||
// read incoming bytes:
|
|
||||||
char inChar = client.read();
|
|
||||||
|
|
||||||
// add incoming byte to end of line:
|
|
||||||
currentLine += inChar;
|
|
||||||
|
|
||||||
// if you get a newline, clear the line:
|
|
||||||
if (inChar == '\n') {
|
|
||||||
currentLine = "";
|
|
||||||
}
|
|
||||||
// if the current line ends with <text>, it will
|
|
||||||
// be followed by the tweet:
|
|
||||||
if ( currentLine.endsWith("<text>")) {
|
|
||||||
// tweet is beginning. Clear the tweet string:
|
|
||||||
readingTweet = true;
|
|
||||||
tweet = "";
|
|
||||||
}
|
|
||||||
// if you're currently reading the bytes of a tweet,
|
|
||||||
// add them to the tweet String:
|
|
||||||
if (readingTweet) {
|
|
||||||
if (inChar != '<') {
|
|
||||||
tweet += inChar;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
// if you got a "<" character,
|
|
||||||
// you've reached the end of the tweet:
|
|
||||||
readingTweet = false;
|
|
||||||
Serial.println(tweet);
|
|
||||||
// close the connection to the server:
|
|
||||||
client.stop();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if (millis() - lastAttemptTime > requestInterval) {
|
|
||||||
// if you're not connected, and two minutes have passed since
|
|
||||||
// your last connection, then attempt to connect again:
|
|
||||||
connectToServer();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void connectToServer() {
|
|
||||||
// attempt to connect, and wait a millisecond:
|
|
||||||
Serial.println("connecting to server...");
|
|
||||||
if (client.connect(serverName, 80)) {
|
|
||||||
Serial.println("making HTTP request...");
|
|
||||||
// make HTTP GET request to twitter:
|
|
||||||
client.println("GET /1/statuses/user_timeline.xml?screen_name=arduino&count=1 HTTP/1.1");
|
|
||||||
client.println("HOST: api.twitter.com");
|
|
||||||
client.println("Connection: close");
|
|
||||||
client.println();
|
|
||||||
}
|
|
||||||
// note the time of this connect attempt:
|
|
||||||
lastAttemptTime = millis();
|
|
||||||
}
|
|
||||||
|
|
@ -1,12 +1,12 @@
|
|||||||
/*
|
/*
|
||||||
Pachube sensor client
|
Xively sensor client
|
||||||
|
|
||||||
This sketch connects an analog sensor to Pachube (http://www.pachube.com)
|
This sketch connects an analog sensor to Xively (http://www.xively.com)
|
||||||
using a Wiznet Ethernet shield. You can use the Arduino Ethernet shield, or
|
using a Wiznet Ethernet shield. You can use the Arduino Ethernet shield, or
|
||||||
the Adafruit Ethernet shield, either one will work, as long as it's got
|
the Adafruit Ethernet shield, either one will work, as long as it's got
|
||||||
a Wiznet Ethernet module on board.
|
a Wiznet Ethernet module on board.
|
||||||
|
|
||||||
This example has been updated to use version 2.0 of the Pachube.com API.
|
This example has been updated to use version 2.0 of the Xively.com API.
|
||||||
To make it work, create a feed with a datastream, and give it the ID
|
To make it work, create a feed with a datastream, and give it the ID
|
||||||
sensor1. Or change the code below to match your feed.
|
sensor1. Or change the code below to match your feed.
|
||||||
|
|
||||||
@ -19,7 +19,7 @@
|
|||||||
modified 9 Apr 2012
|
modified 9 Apr 2012
|
||||||
by Tom Igoe with input from Usman Haque and Joe Saavedra
|
by Tom Igoe with input from Usman Haque and Joe Saavedra
|
||||||
|
|
||||||
http://arduino.cc/en/Tutorial/PachubeClient
|
http://arduino.cc/en/Tutorial/XivelyClient
|
||||||
This code is in the public domain.
|
This code is in the public domain.
|
||||||
|
|
||||||
*/
|
*/
|
||||||
@ -27,7 +27,7 @@ http://arduino.cc/en/Tutorial/PachubeClient
|
|||||||
#include <SPI.h>
|
#include <SPI.h>
|
||||||
#include <Ethernet.h>
|
#include <Ethernet.h>
|
||||||
|
|
||||||
#define APIKEY "YOUR API KEY GOES HERE" // replace your pachube api key here
|
#define APIKEY "YOUR API KEY GOES HERE" // replace your xively api key here
|
||||||
#define FEEDID 00000 // replace your feed ID
|
#define FEEDID 00000 // replace your feed ID
|
||||||
#define USERAGENT "My Project" // user agent is the project name
|
#define USERAGENT "My Project" // user agent is the project name
|
||||||
|
|
||||||
@ -45,12 +45,12 @@ EthernetClient client;
|
|||||||
|
|
||||||
// if you don't want to use DNS (and reduce your sketch size)
|
// if you don't want to use DNS (and reduce your sketch size)
|
||||||
// use the numeric IP instead of the name for the server:
|
// use the numeric IP instead of the name for the server:
|
||||||
IPAddress server(216,52,233,122); // numeric IP for api.pachube.com
|
IPAddress server(216,52,233,122); // numeric IP for api.xively.com
|
||||||
//char server[] = "api.pachube.com"; // name address for pachube API
|
//char server[] = "api.xively.com"; // name address for xively API
|
||||||
|
|
||||||
unsigned long lastConnectionTime = 0; // last time you connected to the server, in milliseconds
|
unsigned long lastConnectionTime = 0; // last time you connected to the server, in milliseconds
|
||||||
boolean lastConnected = false; // state of the connection last time through the main loop
|
boolean lastConnected = false; // state of the connection last time through the main loop
|
||||||
const unsigned long postingInterval = 10*1000; //delay between updates to Pachube.com
|
const unsigned long postingInterval = 10*1000; //delay between updates to Xively.com
|
||||||
|
|
||||||
void setup() {
|
void setup() {
|
||||||
// Open serial communications and wait for port to open:
|
// Open serial communications and wait for port to open:
|
||||||
@ -107,8 +107,8 @@ void sendData(int thisData) {
|
|||||||
client.print("PUT /v2/feeds/");
|
client.print("PUT /v2/feeds/");
|
||||||
client.print(FEEDID);
|
client.print(FEEDID);
|
||||||
client.println(".csv HTTP/1.1");
|
client.println(".csv HTTP/1.1");
|
||||||
client.println("Host: api.pachube.com");
|
client.println("Host: api.xively.com");
|
||||||
client.print("X-PachubeApiKey: ");
|
client.print("X-XivelyApiKey: ");
|
||||||
client.println(APIKEY);
|
client.println(APIKEY);
|
||||||
client.print("User-Agent: ");
|
client.print("User-Agent: ");
|
||||||
client.println(USERAGENT);
|
client.println(USERAGENT);
|
@ -1,12 +1,12 @@
|
|||||||
/*
|
/*
|
||||||
Pachube sensor client with Strings
|
Xively sensor client with Strings
|
||||||
|
|
||||||
This sketch connects an analog sensor to Pachube (http://www.pachube.com)
|
This sketch connects an analog sensor to Xively (http://www.xively.com)
|
||||||
using a Wiznet Ethernet shield. You can use the Arduino Ethernet shield, or
|
using a Wiznet Ethernet shield. You can use the Arduino Ethernet shield, or
|
||||||
the Adafruit Ethernet shield, either one will work, as long as it's got
|
the Adafruit Ethernet shield, either one will work, as long as it's got
|
||||||
a Wiznet Ethernet module on board.
|
a Wiznet Ethernet module on board.
|
||||||
|
|
||||||
This example has been updated to use version 2.0 of the pachube.com API.
|
This example has been updated to use version 2.0 of the xively.com API.
|
||||||
To make it work, create a feed with two datastreams, and give them the IDs
|
To make it work, create a feed with two datastreams, and give them the IDs
|
||||||
sensor1 and sensor2. Or change the code below to match your feed.
|
sensor1 and sensor2. Or change the code below to match your feed.
|
||||||
|
|
||||||
@ -23,7 +23,7 @@
|
|||||||
modified 8 September 2012
|
modified 8 September 2012
|
||||||
by Scott Fitzgerald
|
by Scott Fitzgerald
|
||||||
|
|
||||||
http://arduino.cc/en/Tutorial/PachubeClientString
|
http://arduino.cc/en/Tutorial/XivelyClientString
|
||||||
This code is in the public domain.
|
This code is in the public domain.
|
||||||
|
|
||||||
*/
|
*/
|
||||||
@ -32,7 +32,7 @@
|
|||||||
#include <Ethernet.h>
|
#include <Ethernet.h>
|
||||||
|
|
||||||
|
|
||||||
#define APIKEY "YOUR API KEY GOES HERE" // replace your Pachube api key here
|
#define APIKEY "YOUR API KEY GOES HERE" // replace your Xively api key here
|
||||||
#define FEEDID 00000 // replace your feed ID
|
#define FEEDID 00000 // replace your feed ID
|
||||||
#define USERAGENT "My Project" // user agent is the project name
|
#define USERAGENT "My Project" // user agent is the project name
|
||||||
|
|
||||||
@ -51,12 +51,12 @@ EthernetClient client;
|
|||||||
|
|
||||||
// if you don't want to use DNS (and reduce your sketch size)
|
// if you don't want to use DNS (and reduce your sketch size)
|
||||||
// use the numeric IP instead of the name for the server:
|
// use the numeric IP instead of the name for the server:
|
||||||
IPAddress server(216,52,233,121); // numeric IP for api.pachube.com
|
IPAddress server(216,52,233,121); // numeric IP for api.xively.com
|
||||||
//char server[] = "api.pachube.com"; // name address for pachube API
|
//char server[] = "api.xively.com"; // name address for xively API
|
||||||
|
|
||||||
unsigned long lastConnectionTime = 0; // last time you connected to the server, in milliseconds
|
unsigned long lastConnectionTime = 0; // last time you connected to the server, in milliseconds
|
||||||
boolean lastConnected = false; // state of the connection last time through the main loop
|
boolean lastConnected = false; // state of the connection last time through the main loop
|
||||||
const unsigned long postingInterval = 10*1000; //delay between updates to pachube.com
|
const unsigned long postingInterval = 10*1000; //delay between updates to xively.com
|
||||||
|
|
||||||
void setup() {
|
void setup() {
|
||||||
// Open serial communications and wait for port to open:
|
// Open serial communications and wait for port to open:
|
||||||
@ -85,7 +85,7 @@ void loop() {
|
|||||||
dataString += sensorReading;
|
dataString += sensorReading;
|
||||||
|
|
||||||
// you can append multiple readings to this String if your
|
// you can append multiple readings to this String if your
|
||||||
// pachube feed is set up to handle multiple values:
|
// xively feed is set up to handle multiple values:
|
||||||
int otherSensorReading = analogRead(A1);
|
int otherSensorReading = analogRead(A1);
|
||||||
dataString += "\nsensor2,";
|
dataString += "\nsensor2,";
|
||||||
dataString += otherSensorReading;
|
dataString += otherSensorReading;
|
||||||
@ -125,8 +125,8 @@ void sendData(String thisData) {
|
|||||||
client.print("PUT /v2/feeds/");
|
client.print("PUT /v2/feeds/");
|
||||||
client.print(FEEDID);
|
client.print(FEEDID);
|
||||||
client.println(".csv HTTP/1.1");
|
client.println(".csv HTTP/1.1");
|
||||||
client.println("Host: api.pachube.com");
|
client.println("Host: api.xively.com");
|
||||||
client.print("X-pachubeApiKey: ");
|
client.print("X-xivelyApiKey: ");
|
||||||
client.println(APIKEY);
|
client.println(APIKEY);
|
||||||
client.print("User-Agent: ");
|
client.print("User-Agent: ");
|
||||||
client.println(USERAGENT);
|
client.println(USERAGENT);
|
@ -1,10 +1,10 @@
|
|||||||
/*
|
/*
|
||||||
GSM Pachube client
|
GSM Xively client
|
||||||
|
|
||||||
This sketch connects an analog sensor to Pachube (http://www.pachube.com)
|
This sketch connects an analog sensor to Xively (http://www.xively.com)
|
||||||
using a Telefonica GSM/GPRS shield.
|
using a Telefonica GSM/GPRS shield.
|
||||||
|
|
||||||
This example has been updated to use version 2.0 of the Pachube.com API.
|
This example has been updated to use version 2.0 of the Xively.com API.
|
||||||
To make it work, create a feed with a datastream, and give it the ID
|
To make it work, create a feed with a datastream, and give it the ID
|
||||||
sensor1. Or change the code below to match your feed.
|
sensor1. Or change the code below to match your feed.
|
||||||
|
|
||||||
@ -19,15 +19,15 @@
|
|||||||
|
|
||||||
This code is in the public domain.
|
This code is in the public domain.
|
||||||
|
|
||||||
http://arduino.cc/en/Tutorial/GSMExamplesPachubeClient
|
http://arduino.cc/en/Tutorial/GSMExamplesXivelyClient
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// libraries
|
// libraries
|
||||||
#include <GSM.h>
|
#include <GSM.h>
|
||||||
|
|
||||||
// Pachube Client data
|
// Xively Client data
|
||||||
#define APIKEY "YOUR API KEY GOES HERE" // replace your pachube api key here
|
#define APIKEY "YOUR API KEY GOES HERE" // replace your xively api key here
|
||||||
#define FEEDID 00000 // replace your feed ID
|
#define FEEDID 00000 // replace your feed ID
|
||||||
#define USERAGENT "My Project" // user agent is the project name
|
#define USERAGENT "My Project" // user agent is the project name
|
||||||
|
|
||||||
@ -46,12 +46,12 @@ GSM gsmAccess;
|
|||||||
|
|
||||||
// if you don't want to use DNS (and reduce your sketch size)
|
// if you don't want to use DNS (and reduce your sketch size)
|
||||||
// use the numeric IP instead of the name for the server:
|
// use the numeric IP instead of the name for the server:
|
||||||
// IPAddress server(216,52,233,121); // numeric IP for api.pachube.com
|
// IPAddress server(216,52,233,121); // numeric IP for api.xively.com
|
||||||
char server[] = "api.pachube.com"; // name address for pachube API
|
char server[] = "api.xively.com"; // name address for xively API
|
||||||
|
|
||||||
unsigned long lastConnectionTime = 0; // last time you connected to the server, in milliseconds
|
unsigned long lastConnectionTime = 0; // last time you connected to the server, in milliseconds
|
||||||
boolean lastConnected = false; // state of the connection last time through the main loop
|
boolean lastConnected = false; // state of the connection last time through the main loop
|
||||||
const unsigned long postingInterval = 10*1000; //delay between updates to Pachube.com
|
const unsigned long postingInterval = 10*1000; //delay between updates to Xively.com
|
||||||
|
|
||||||
void setup()
|
void setup()
|
||||||
{
|
{
|
||||||
@ -126,7 +126,7 @@ void sendData(int thisData)
|
|||||||
client.print("PUT /v2/feeds/");
|
client.print("PUT /v2/feeds/");
|
||||||
client.print(FEEDID);
|
client.print(FEEDID);
|
||||||
client.println(".csv HTTP/1.1");
|
client.println(".csv HTTP/1.1");
|
||||||
client.println("Host: api.pachube.com");
|
client.println("Host: api.xively.com");
|
||||||
client.print("X-ApiKey: ");
|
client.print("X-ApiKey: ");
|
||||||
client.println(APIKEY);
|
client.println(APIKEY);
|
||||||
client.print("User-Agent: ");
|
client.print("User-Agent: ");
|
@ -1,10 +1,10 @@
|
|||||||
/*
|
/*
|
||||||
Pachube client with Strings
|
Xively client with Strings
|
||||||
|
|
||||||
This sketch connects two analog sensors to Pachube (http://www.pachube.com)
|
This sketch connects two analog sensors to Xively (http://www.xively.com)
|
||||||
through a Telefonica GSM/GPRS shield.
|
through a Telefonica GSM/GPRS shield.
|
||||||
|
|
||||||
This example has been updated to use version 2.0 of the Pachube.com API.
|
This example has been updated to use version 2.0 of the Xively.com API.
|
||||||
To make it work, create a feed with two datastreams, and give them the IDs
|
To make it work, create a feed with two datastreams, and give them the IDs
|
||||||
sensor1 and sensor2. Or change the code below to match your feed.
|
sensor1 and sensor2. Or change the code below to match your feed.
|
||||||
|
|
||||||
@ -27,8 +27,8 @@
|
|||||||
// Include the GSM library
|
// Include the GSM library
|
||||||
#include <GSM.h>
|
#include <GSM.h>
|
||||||
|
|
||||||
// Pachube login information
|
// Xively login information
|
||||||
#define APIKEY "YOUR API KEY GOES HERE" // replace your pachube api key here
|
#define APIKEY "YOUR API KEY GOES HERE" // replace your xively api key here
|
||||||
#define FEEDID 00000 // replace your feed ID
|
#define FEEDID 00000 // replace your feed ID
|
||||||
#define USERAGENT "My Project" // user agent is the project name
|
#define USERAGENT "My Project" // user agent is the project name
|
||||||
|
|
||||||
@ -47,12 +47,12 @@ GSM gsmAccess;
|
|||||||
|
|
||||||
// if you don't want to use DNS (and reduce your sketch size)
|
// if you don't want to use DNS (and reduce your sketch size)
|
||||||
// use the numeric IP instead of the name for the server:
|
// use the numeric IP instead of the name for the server:
|
||||||
// IPAddress server(216,52,233,121); // numeric IP for api.pachube.com
|
// IPAddress server(216,52,233,121); // numeric IP for api.xively.com
|
||||||
char server[] = "api.pachube.com"; // name address for Pachube API
|
char server[] = "api.xively.com"; // name address for Xively API
|
||||||
|
|
||||||
unsigned long lastConnectionTime = 0; // last time you connected to the server, in milliseconds
|
unsigned long lastConnectionTime = 0; // last time you connected to the server, in milliseconds
|
||||||
boolean lastConnected = false; // state of the connection last time through the main loop
|
boolean lastConnected = false; // state of the connection last time through the main loop
|
||||||
const unsigned long postingInterval = 10*1000; // delay between updates to Pachube.com
|
const unsigned long postingInterval = 10*1000; // delay between updates to Xively.com
|
||||||
|
|
||||||
void setup()
|
void setup()
|
||||||
{
|
{
|
||||||
@ -92,7 +92,7 @@ void loop()
|
|||||||
dataString += sensorReading;
|
dataString += sensorReading;
|
||||||
|
|
||||||
// you can append multiple readings to this String to
|
// you can append multiple readings to this String to
|
||||||
// send the pachube feed multiple values
|
// send the xively feed multiple values
|
||||||
int otherSensorReading = analogRead(A1);
|
int otherSensorReading = analogRead(A1);
|
||||||
dataString += "\nsensor2,";
|
dataString += "\nsensor2,";
|
||||||
dataString += otherSensorReading;
|
dataString += otherSensorReading;
|
||||||
@ -138,7 +138,7 @@ void sendData(String thisData)
|
|||||||
client.print("PUT /v2/feeds/");
|
client.print("PUT /v2/feeds/");
|
||||||
client.print(FEEDID);
|
client.print(FEEDID);
|
||||||
client.println(".csv HTTP/1.1");
|
client.println(".csv HTTP/1.1");
|
||||||
client.println("Host: api.pachube.com");
|
client.println("Host: api.xively.com");
|
||||||
client.print("X-ApiKey: ");
|
client.print("X-ApiKey: ");
|
||||||
client.println(APIKEY);
|
client.println(APIKEY);
|
||||||
client.print("User-Agent: ");
|
client.print("User-Agent: ");
|
@ -1,162 +0,0 @@
|
|||||||
/*
|
|
||||||
GSM Twitter Client with Strings
|
|
||||||
|
|
||||||
This sketch connects to Twitter using an Arduino GSM shield.
|
|
||||||
It parses the XML returned, and looks for the string <text>this is a tweet</text>
|
|
||||||
|
|
||||||
This example uses the String library, which is part of the Arduino core from
|
|
||||||
version 0019.
|
|
||||||
|
|
||||||
Circuit:
|
|
||||||
* GSM shield attached to an Arduino
|
|
||||||
* SIM card with a data plan
|
|
||||||
|
|
||||||
created 8 Mar 2012
|
|
||||||
by Tom Igoe
|
|
||||||
|
|
||||||
http://arduino.cc/en/Tutorial/GSMExamplesTwitterClient
|
|
||||||
|
|
||||||
This code is in the public domain.
|
|
||||||
|
|
||||||
*/
|
|
||||||
|
|
||||||
// libraries
|
|
||||||
#include <GSM.h>
|
|
||||||
|
|
||||||
// PIN Number
|
|
||||||
#define PINNUMBER ""
|
|
||||||
|
|
||||||
// APN data
|
|
||||||
#define GPRS_APN "APN" // replace your GPRS APN
|
|
||||||
#define GPRS_LOGIN "LOGIN" // replace with your GPRS login
|
|
||||||
#define GPRS_PASSWORD "PASSWORD" // replace with your GPRS password
|
|
||||||
|
|
||||||
// initialize the library instance
|
|
||||||
GSMClient client;
|
|
||||||
GPRS gprs;
|
|
||||||
GSM gsmAccess;
|
|
||||||
|
|
||||||
const unsigned long requestInterval = 30*1000; // delay between requests: 30 seconds
|
|
||||||
|
|
||||||
// API Twitter URL
|
|
||||||
char server[] = "api.twitter.com";
|
|
||||||
|
|
||||||
boolean requested; // whether you've made a request since connecting
|
|
||||||
unsigned long lastAttemptTime = 0; // last time you connected to the server, in milliseconds
|
|
||||||
|
|
||||||
String currentLine = ""; // string to hold the text from server
|
|
||||||
String tweet = ""; // string to hold the tweet
|
|
||||||
boolean readingTweet = false; // if you're currently reading the tweet
|
|
||||||
|
|
||||||
void setup()
|
|
||||||
{
|
|
||||||
// reserve space for the strings:
|
|
||||||
currentLine.reserve(256);
|
|
||||||
tweet.reserve(150);
|
|
||||||
|
|
||||||
// initialize serial communications and wait for port to open:
|
|
||||||
Serial.begin(9600);
|
|
||||||
while (!Serial) {
|
|
||||||
; // wait for serial port to connect. Needed for Leonardo only
|
|
||||||
}
|
|
||||||
|
|
||||||
// connection state
|
|
||||||
boolean notConnected = true;
|
|
||||||
|
|
||||||
// After starting the modem with GSM.begin()
|
|
||||||
// attach the shield to the GPRS network with the APN, login and password
|
|
||||||
while(notConnected)
|
|
||||||
{
|
|
||||||
if((gsmAccess.begin(PINNUMBER)==GSM_READY) &
|
|
||||||
(gprs.attachGPRS(GPRS_APN, GPRS_LOGIN, GPRS_PASSWORD)==GPRS_READY))
|
|
||||||
notConnected = false;
|
|
||||||
else
|
|
||||||
{
|
|
||||||
Serial.println("Not connected");
|
|
||||||
delay(1000);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Serial.println("Connected to GPRS network");
|
|
||||||
|
|
||||||
Serial.println("connecting...");
|
|
||||||
connectToServer();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void loop()
|
|
||||||
{
|
|
||||||
char c;
|
|
||||||
if (client.connected())
|
|
||||||
{
|
|
||||||
if (client.available())
|
|
||||||
{
|
|
||||||
// read incoming bytes:
|
|
||||||
char inChar = client.read();
|
|
||||||
|
|
||||||
// add incoming byte to end of line:
|
|
||||||
currentLine += inChar;
|
|
||||||
|
|
||||||
// if you get a newline, clear the line:
|
|
||||||
if (inChar == '\n')
|
|
||||||
{
|
|
||||||
currentLine = "";
|
|
||||||
}
|
|
||||||
|
|
||||||
// if the current line ends with <text>, it will
|
|
||||||
// be followed by the tweet:
|
|
||||||
if (currentLine.endsWith("<text>"))
|
|
||||||
{
|
|
||||||
// tweet is beginning. Clear the tweet string:
|
|
||||||
readingTweet = true;
|
|
||||||
tweet = "";
|
|
||||||
}
|
|
||||||
|
|
||||||
// if you're currently reading the bytes of a tweet,
|
|
||||||
// add them to the tweet String:
|
|
||||||
if (readingTweet)
|
|
||||||
{
|
|
||||||
if (inChar != '<')
|
|
||||||
{
|
|
||||||
tweet += inChar;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
// if you got a "<" character,
|
|
||||||
// you've reached the end of the tweet:
|
|
||||||
readingTweet = false;
|
|
||||||
Serial.println(tweet);
|
|
||||||
|
|
||||||
// close the connection to the server:
|
|
||||||
client.stop();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if (millis() - lastAttemptTime > requestInterval)
|
|
||||||
{
|
|
||||||
// if you're not connected, and two minutes have passed since
|
|
||||||
// your last connection, then attempt to connect again:
|
|
||||||
connectToServer();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
Connect to API Twitter server and do a request for timeline
|
|
||||||
*/
|
|
||||||
void connectToServer()
|
|
||||||
{
|
|
||||||
// attempt to connect, and wait a millisecond:
|
|
||||||
Serial.println("connecting to server...");
|
|
||||||
if (client.connect(server, 80))
|
|
||||||
{
|
|
||||||
Serial.println("making HTTP request...");
|
|
||||||
// make HTTP GET request to twitter:
|
|
||||||
client.println("GET /1/statuses/user_timeline.xml?screen_name=arduino&count=1 HTTP/1.1");
|
|
||||||
client.println("HOST: api.twitter.com");
|
|
||||||
client.println();
|
|
||||||
}
|
|
||||||
// note the time of this connect attempt:
|
|
||||||
lastAttemptTime = millis();
|
|
||||||
}
|
|
@ -1,5 +1,11 @@
|
|||||||
// Controlling a servo position using a potentiometer (variable resistor)
|
/*
|
||||||
// by Michal Rinott <http://people.interaction-ivrea.it/m.rinott>
|
Controlling a servo position using a potentiometer (variable resistor)
|
||||||
|
by Michal Rinott <http://people.interaction-ivrea.it/m.rinott>
|
||||||
|
|
||||||
|
modified on 8 Nov 2013
|
||||||
|
by Scott Fitzgerald
|
||||||
|
http://arduino.cc/en/Tutorial/Knob
|
||||||
|
*/
|
||||||
|
|
||||||
#include <Servo.h>
|
#include <Servo.h>
|
||||||
|
|
||||||
@ -16,7 +22,7 @@ void setup()
|
|||||||
void loop()
|
void loop()
|
||||||
{
|
{
|
||||||
val = analogRead(potpin); // reads the value of the potentiometer (value between 0 and 1023)
|
val = analogRead(potpin); // reads the value of the potentiometer (value between 0 and 1023)
|
||||||
val = map(val, 0, 1023, 0, 179); // scale it to use it with the servo (value between 0 and 180)
|
val = map(val, 0, 1023, 0, 180); // scale it to use it with the servo (value between 0 and 180)
|
||||||
myservo.write(val); // sets the servo position according to the scaled value
|
myservo.write(val); // sets the servo position according to the scaled value
|
||||||
delay(15); // waits for the servo to get there
|
delay(15); // waits for the servo to get there
|
||||||
}
|
}
|
||||||
|
@ -1,12 +1,16 @@
|
|||||||
// Sweep
|
/* Sweep
|
||||||
// by BARRAGAN <http://barraganstudio.com>
|
by BARRAGAN <http://barraganstudio.com>
|
||||||
// This example code is in the public domain.
|
This example code is in the public domain.
|
||||||
|
|
||||||
|
modified 8 Nov 2013
|
||||||
|
by Scott Fitzgerald
|
||||||
|
http://arduino.cc/en/Tutorial/Sweep
|
||||||
|
*/
|
||||||
|
|
||||||
#include <Servo.h>
|
#include <Servo.h>
|
||||||
|
|
||||||
Servo myservo; // create servo object to control a servo
|
Servo myservo; // create servo object to control a servo
|
||||||
// a maximum of eight servo objects can be created
|
// twelve servo objects can be created on most boards
|
||||||
|
|
||||||
int pos = 0; // variable to store the servo position
|
int pos = 0; // variable to store the servo position
|
||||||
|
|
||||||
@ -15,15 +19,14 @@ void setup()
|
|||||||
myservo.attach(9); // attaches the servo on pin 9 to the servo object
|
myservo.attach(9); // attaches the servo on pin 9 to the servo object
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void loop()
|
void loop()
|
||||||
{
|
{
|
||||||
for(pos = 0; pos < 180; pos += 1) // goes from 0 degrees to 180 degrees
|
for(pos = 0; pos <= 180; pos += 1) // goes from 0 degrees to 180 degrees
|
||||||
{ // in steps of 1 degree
|
{ // in steps of 1 degree
|
||||||
myservo.write(pos); // tell servo to go to position in variable 'pos'
|
myservo.write(pos); // tell servo to go to position in variable 'pos'
|
||||||
delay(15); // waits 15ms for the servo to reach the position
|
delay(15); // waits 15ms for the servo to reach the position
|
||||||
}
|
}
|
||||||
for(pos = 180; pos>=1; pos-=1) // goes from 180 degrees to 0 degrees
|
for(pos = 180; pos>=0; pos-=1) // goes from 180 degrees to 0 degrees
|
||||||
{
|
{
|
||||||
myservo.write(pos); // tell servo to go to position in variable 'pos'
|
myservo.write(pos); // tell servo to go to position in variable 'pos'
|
||||||
delay(15); // waits 15ms for the servo to reach the position
|
delay(15); // waits 15ms for the servo to reach the position
|
||||||
|
@ -1,163 +0,0 @@
|
|||||||
/*
|
|
||||||
Wifi Twitter Client with Strings
|
|
||||||
|
|
||||||
This sketch connects to Twitter using using an Arduino WiFi shield.
|
|
||||||
It parses the XML returned, and looks for <text>this is a tweet</text>
|
|
||||||
|
|
||||||
This example is written for a network using WPA encryption. For
|
|
||||||
WEP or WPA, change the Wifi.begin() call accordingly.
|
|
||||||
|
|
||||||
This example uses the String library, which is part of the Arduino core from
|
|
||||||
version 0019.
|
|
||||||
|
|
||||||
Circuit:
|
|
||||||
* WiFi shield attached to pins 10, 11, 12, 13
|
|
||||||
|
|
||||||
created 23 apr 2012
|
|
||||||
modified 31 May 2012
|
|
||||||
by Tom Igoe
|
|
||||||
|
|
||||||
This code is in the public domain.
|
|
||||||
|
|
||||||
*/
|
|
||||||
#include <SPI.h>
|
|
||||||
#include <WiFi.h>
|
|
||||||
|
|
||||||
char ssid[] = "yourNetwork"; // your network SSID (name)
|
|
||||||
char pass[] = "password"; // your network password (use for WPA, or use as key for WEP)
|
|
||||||
int keyIndex = 0; // your network key Index number (needed only for WEP)
|
|
||||||
|
|
||||||
int status = WL_IDLE_STATUS; // status of the wifi connection
|
|
||||||
|
|
||||||
// initialize the library instance:
|
|
||||||
WiFiClient client;
|
|
||||||
|
|
||||||
const unsigned long requestInterval = 30*1000; // delay between requests; 30 seconds
|
|
||||||
|
|
||||||
// if you don't want to use DNS (and reduce your sketch size)
|
|
||||||
// use the numeric IP instead of the name for the server:
|
|
||||||
//IPAddress server(199,59,149,200); // numeric IP for api.twitter.com
|
|
||||||
char server[] = "api.twitter.com"; // name address for twitter API
|
|
||||||
|
|
||||||
boolean requested; // whether you've made a request since connecting
|
|
||||||
unsigned long lastAttemptTime = 0; // last time you connected to the server, in milliseconds
|
|
||||||
|
|
||||||
String currentLine = ""; // string to hold the text from server
|
|
||||||
String tweet = ""; // string to hold the tweet
|
|
||||||
boolean readingTweet = false; // if you're currently reading the tweet
|
|
||||||
|
|
||||||
void setup() {
|
|
||||||
// reserve space for the strings:
|
|
||||||
currentLine.reserve(256);
|
|
||||||
tweet.reserve(150);
|
|
||||||
//Initialize serial and wait for port to open:
|
|
||||||
Serial.begin(9600);
|
|
||||||
while (!Serial) {
|
|
||||||
; // wait for serial port to connect. Needed for Leonardo only
|
|
||||||
}
|
|
||||||
|
|
||||||
// check for the presence of the shield:
|
|
||||||
if (WiFi.status() == WL_NO_SHIELD) {
|
|
||||||
Serial.println("WiFi shield not present");
|
|
||||||
// don't continue:
|
|
||||||
while(true);
|
|
||||||
}
|
|
||||||
|
|
||||||
// attempt to connect to Wifi network:
|
|
||||||
while ( status != WL_CONNECTED) {
|
|
||||||
Serial.print("Attempting to connect to SSID: ");
|
|
||||||
Serial.println(ssid);
|
|
||||||
// Connect to WPA/WPA2 network. Change this line if using open or WEP network:
|
|
||||||
status = WiFi.begin(ssid, pass);
|
|
||||||
|
|
||||||
// wait 10 seconds for connection:
|
|
||||||
delay(10000);
|
|
||||||
}
|
|
||||||
// you're connected now, so print out the status:
|
|
||||||
printWifiStatus();
|
|
||||||
connectToServer();
|
|
||||||
}
|
|
||||||
|
|
||||||
void loop()
|
|
||||||
{
|
|
||||||
if (client.connected()) {
|
|
||||||
if (client.available()) {
|
|
||||||
// read incoming bytes:
|
|
||||||
char inChar = client.read();
|
|
||||||
|
|
||||||
// add incoming byte to end of line:
|
|
||||||
currentLine += inChar;
|
|
||||||
|
|
||||||
// if you get a newline, clear the line:
|
|
||||||
if (inChar == '\n') {
|
|
||||||
currentLine = "";
|
|
||||||
}
|
|
||||||
// if the current line ends with <text>, it will
|
|
||||||
// be followed by the tweet:
|
|
||||||
if ( currentLine.endsWith("<text>")) {
|
|
||||||
// tweet is beginning. Clear the tweet string:
|
|
||||||
readingTweet = true;
|
|
||||||
tweet = "";
|
|
||||||
// break out of the loop so this character isn't added to the tweet:
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
// if you're currently reading the bytes of a tweet,
|
|
||||||
// add them to the tweet String:
|
|
||||||
if (readingTweet) {
|
|
||||||
if (inChar != '<') {
|
|
||||||
tweet += inChar;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
// if you got a "<" character,
|
|
||||||
// you've reached the end of the tweet:
|
|
||||||
readingTweet = false;
|
|
||||||
Serial.println(tweet);
|
|
||||||
// close the connection to the server:
|
|
||||||
client.stop();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if (millis() - lastAttemptTime > requestInterval) {
|
|
||||||
// if you're not connected, and two minutes have passed since
|
|
||||||
// your last connection, then attempt to connect again:
|
|
||||||
connectToServer();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void connectToServer() {
|
|
||||||
// attempt to connect, and wait a millisecond:
|
|
||||||
Serial.println("connecting to server...");
|
|
||||||
if (client.connect(server, 80)) {
|
|
||||||
Serial.println("making HTTP request...");
|
|
||||||
// make HTTP GET request to twitter:
|
|
||||||
client.println("GET /1/statuses/user_timeline.xml?screen_name=arduino HTTP/1.1");
|
|
||||||
client.println("Host: api.twitter.com");
|
|
||||||
client.println("Connection: close");
|
|
||||||
client.println();
|
|
||||||
}
|
|
||||||
// note the time of this connect attempt:
|
|
||||||
lastAttemptTime = millis();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void printWifiStatus() {
|
|
||||||
// print the SSID of the network you're attached to:
|
|
||||||
Serial.print("SSID: ");
|
|
||||||
Serial.println(WiFi.SSID());
|
|
||||||
|
|
||||||
// print your WiFi shield's IP address:
|
|
||||||
IPAddress ip = WiFi.localIP();
|
|
||||||
Serial.print("IP Address: ");
|
|
||||||
Serial.println(ip);
|
|
||||||
|
|
||||||
// print the received signal strength:
|
|
||||||
long rssi = WiFi.RSSI();
|
|
||||||
Serial.print("signal strength (RSSI):");
|
|
||||||
Serial.print(rssi);
|
|
||||||
Serial.println(" dBm");
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1,13 +1,13 @@
|
|||||||
/*
|
/*
|
||||||
Wifi Pachube sensor client
|
Wifi Xively sensor client
|
||||||
|
|
||||||
This sketch connects an analog sensor to Pachube (http://www.pachube.com)
|
This sketch connects an analog sensor to Xively (http://www.xively.com)
|
||||||
using an Arduino Wifi shield.
|
using an Arduino Wifi shield.
|
||||||
|
|
||||||
This example is written for a network using WPA encryption. For
|
This example is written for a network using WPA encryption. For
|
||||||
WEP or WPA, change the Wifi.begin() call accordingly.
|
WEP or WPA, change the Wifi.begin() call accordingly.
|
||||||
|
|
||||||
This example has been updated to use version 2.0 of the Pachube API.
|
This example has been updated to use version 2.0 of the Xively API.
|
||||||
To make it work, create a feed with a datastream, and give it the ID
|
To make it work, create a feed with a datastream, and give it the ID
|
||||||
sensor1. Or change the code below to match your feed.
|
sensor1. Or change the code below to match your feed.
|
||||||
|
|
||||||
@ -18,7 +18,7 @@
|
|||||||
created 13 Mar 2012
|
created 13 Mar 2012
|
||||||
modified 31 May 2012
|
modified 31 May 2012
|
||||||
by Tom Igoe
|
by Tom Igoe
|
||||||
modified 8 Sept 2012
|
modified 8 Nov 2013
|
||||||
by Scott Fitzgerald
|
by Scott Fitzgerald
|
||||||
|
|
||||||
This code is in the public domain.
|
This code is in the public domain.
|
||||||
@ -27,7 +27,7 @@
|
|||||||
#include <SPI.h>
|
#include <SPI.h>
|
||||||
#include <WiFi.h>
|
#include <WiFi.h>
|
||||||
|
|
||||||
#define APIKEY "YOUR API KEY GOES HERE" // replace your pachube api key here
|
#define APIKEY "YOUR API KEY GOES HERE" // replace your xively api key here
|
||||||
#define FEEDID 00000 // replace your feed ID
|
#define FEEDID 00000 // replace your feed ID
|
||||||
#define USERAGENT "My Arduino Project" // user agent is the project name
|
#define USERAGENT "My Arduino Project" // user agent is the project name
|
||||||
|
|
||||||
@ -40,12 +40,12 @@ int status = WL_IDLE_STATUS;
|
|||||||
WiFiClient client;
|
WiFiClient client;
|
||||||
// if you don't want to use DNS (and reduce your sketch size)
|
// if you don't want to use DNS (and reduce your sketch size)
|
||||||
// use the numeric IP instead of the name for the server:
|
// use the numeric IP instead of the name for the server:
|
||||||
IPAddress server(216,52,233,121); // numeric IP for api.pachube.com
|
IPAddress server(216,52,233,121); // numeric IP for api.xively.com
|
||||||
//char server[] = "api.pachube.com"; // name address for pachube API
|
//char server[] = "api.xively.com"; // name address for xively API
|
||||||
|
|
||||||
unsigned long lastConnectionTime = 0; // last time you connected to the server, in milliseconds
|
unsigned long lastConnectionTime = 0; // last time you connected to the server, in milliseconds
|
||||||
boolean lastConnected = false; // state of the connection last time through the main loop
|
boolean lastConnected = false; // state of the connection last time through the main loop
|
||||||
const unsigned long postingInterval = 10*1000; //delay between updates to pachube.com
|
const unsigned long postingInterval = 10*1000; //delay between updates to xively.com
|
||||||
|
|
||||||
void setup() {
|
void setup() {
|
||||||
//Initialize serial and wait for port to open:
|
//Initialize serial and wait for port to open:
|
||||||
@ -115,7 +115,7 @@ void sendData(int thisData) {
|
|||||||
client.print("PUT /v2/feeds/");
|
client.print("PUT /v2/feeds/");
|
||||||
client.print(FEEDID);
|
client.print(FEEDID);
|
||||||
client.println(".csv HTTP/1.1");
|
client.println(".csv HTTP/1.1");
|
||||||
client.println("Host: api.pachube.com");
|
client.println("Host: api.xively.com");
|
||||||
client.print("X-ApiKey: ");
|
client.print("X-ApiKey: ");
|
||||||
client.println(APIKEY);
|
client.println(APIKEY);
|
||||||
client.print("User-Agent: ");
|
client.print("User-Agent: ");
|
@ -1,13 +1,13 @@
|
|||||||
/*
|
/*
|
||||||
Wifi Pachube sensor client with Strings
|
Wifi Xively sensor client with Strings
|
||||||
|
|
||||||
This sketch connects an analog sensor to Pachube (http://www.pachube.com)
|
This sketch connects an analog sensor to Xively (http://www.xively.com)
|
||||||
using a Arduino Wifi shield.
|
using a Arduino Wifi shield.
|
||||||
|
|
||||||
This example is written for a network using WPA encryption. For
|
This example is written for a network using WPA encryption. For
|
||||||
WEP or WPA, change the Wifi.begin() call accordingly.
|
WEP or WPA, change the Wifi.begin() call accordingly.
|
||||||
|
|
||||||
This example has been updated to use version 2.0 of the pachube.com API.
|
This example has been updated to use version 2.0 of the xively.com API.
|
||||||
To make it work, create a feed with a datastream, and give it the ID
|
To make it work, create a feed with a datastream, and give it the ID
|
||||||
sensor1. Or change the code below to match your feed.
|
sensor1. Or change the code below to match your feed.
|
||||||
|
|
||||||
@ -31,7 +31,7 @@
|
|||||||
#include <SPI.h>
|
#include <SPI.h>
|
||||||
#include <WiFi.h>
|
#include <WiFi.h>
|
||||||
|
|
||||||
#define APIKEY "YOUR API KEY GOES HERE" // replace your pachube api key here
|
#define APIKEY "YOUR API KEY GOES HERE" // replace your xively api key here
|
||||||
#define FEEDID 00000 // replace your feed ID
|
#define FEEDID 00000 // replace your feed ID
|
||||||
#define USERAGENT "My Arduino Project" // user agent is the project name
|
#define USERAGENT "My Arduino Project" // user agent is the project name
|
||||||
|
|
||||||
@ -45,12 +45,12 @@ WiFiClient client;
|
|||||||
|
|
||||||
// if you don't want to use DNS (and reduce your sketch size)
|
// if you don't want to use DNS (and reduce your sketch size)
|
||||||
// use the numeric IP instead of the name for the server:
|
// use the numeric IP instead of the name for the server:
|
||||||
//IPAddress server(216,52,233,121); // numeric IP for api.pachube.com
|
//IPAddress server(216,52,233,121); // numeric IP for api.xively.com
|
||||||
char server[] = "api.pachube.com"; // name address for pachube API
|
char server[] = "api.xively.com"; // name address for xively API
|
||||||
|
|
||||||
unsigned long lastConnectionTime = 0; // last time you connected to the server, in milliseconds
|
unsigned long lastConnectionTime = 0; // last time you connected to the server, in milliseconds
|
||||||
boolean lastConnected = false; // state of the connection last time through the main loop
|
boolean lastConnected = false; // state of the connection last time through the main loop
|
||||||
const unsigned long postingInterval = 10*1000; //delay between updates to pachube.com
|
const unsigned long postingInterval = 10*1000; //delay between updates to xively.com
|
||||||
|
|
||||||
void setup() {
|
void setup() {
|
||||||
//Initialize serial and wait for port to open:
|
//Initialize serial and wait for port to open:
|
||||||
@ -89,7 +89,7 @@ void loop() {
|
|||||||
dataString += sensorReading;
|
dataString += sensorReading;
|
||||||
|
|
||||||
// you can append multiple readings to this String if your
|
// you can append multiple readings to this String if your
|
||||||
// pachube feed is set up to handle multiple values:
|
// xively feed is set up to handle multiple values:
|
||||||
int otherSensorReading = analogRead(A1);
|
int otherSensorReading = analogRead(A1);
|
||||||
dataString += "\nsensor2,";
|
dataString += "\nsensor2,";
|
||||||
dataString += otherSensorReading;
|
dataString += otherSensorReading;
|
||||||
@ -129,7 +129,7 @@ void sendData(String thisData) {
|
|||||||
client.print("PUT /v2/feeds/");
|
client.print("PUT /v2/feeds/");
|
||||||
client.print(FEEDID);
|
client.print(FEEDID);
|
||||||
client.println(".csv HTTP/1.1");
|
client.println(".csv HTTP/1.1");
|
||||||
client.println("Host: api.pachube.com");
|
client.println("Host: api.xively.com");
|
||||||
client.print("X-ApiKey: ");
|
client.print("X-ApiKey: ");
|
||||||
client.println(APIKEY);
|
client.println(APIKEY);
|
||||||
client.print("User-Agent: ");
|
client.print("User-Agent: ");
|
Loading…
Reference in New Issue
Block a user