1
0
mirror of https://github.com/arduino/Arduino.git synced 2025-01-30 19:52:13 +01:00

Merge remote-tracking branch 'arduino/master' into ide-1.5.x

Conflicts:
	libraries/Ethernet/examples/XivelyClient/XivelyClient.ino
	libraries/Ethernet/examples/XivelyClientString/XivelyClientString.ino
	libraries/GSM/examples/GSMXivelyClient/GSMXivelyClient.ino
	libraries/GSM/examples/GSMXivelyClientString/GSMXivelyClientString.ino
	libraries/Servo/examples/Knob/Knob.ino
	libraries/Servo/examples/Sweep/Sweep.ino
	libraries/WiFi/examples/WiFiXivelyClient/WiFiXivelyClient.ino
	libraries/WiFi/examples/WiFiXivelyClientString/WiFiXivelyClientString.ino
This commit is contained in:
Cristian Maglie 2013-11-11 12:40:59 +01:00
commit 853be57648
8 changed files with 125 additions and 112 deletions

View File

@ -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
@ -46,12 +46,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:
@ -108,8 +108,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);

View File

@ -1,12 +1,12 @@
/* /*
Cosm sensor client with Strings Xively sensor client with Strings
This sketch connects an analog sensor to Cosm (http://www.cosm.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 Cosm.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.
@ -20,8 +20,10 @@
created 15 March 2010 created 15 March 2010
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
modified 8 September 2012
by Scott Fitzgerald
http://arduino.cc/en/Tutorial/CosmClientString http://arduino.cc/en/Tutorial/XivelyClientString
This code is in the public domain. This code is in the public domain.
*/ */
@ -30,7 +32,7 @@
#include <Ethernet.h> #include <Ethernet.h>
#define APIKEY "YOUR API KEY GOES HERE" // replace your Cosm 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
@ -50,12 +52,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.cosm.com IPAddress server(216,52,233,121); // numeric IP for api.xively.com
//char server[] = "api.cosm.com"; // name address for Cosm 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 Cosm.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:
@ -84,7 +86,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
// Cosm 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;
@ -124,8 +126,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.cosm.com"); client.println("Host: api.xively.com");
client.print("X-CosmApiKey: "); client.print("X-xivelyApiKey: ");
client.println(APIKEY); client.println(APIKEY);
client.print("User-Agent: "); client.print("User-Agent: ");
client.println(USERAGENT); client.println(USERAGENT);

View File

@ -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: ");

View File

@ -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: ");

View File

@ -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,8 @@ 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
} }

View File

@ -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,17 +19,17 @@ 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
} }
} }

View File

@ -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:
@ -119,7 +119,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: ");

View File

@ -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:
@ -93,7 +93,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;
@ -133,7 +133,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: ");