mirror of
https://github.com/arduino/Arduino.git
synced 2024-11-29 10:24:12 +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
|
||||
the Adafruit Ethernet shield, either one will work, as long as it's got
|
||||
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
|
||||
sensor1. Or change the code below to match your feed.
|
||||
|
||||
@ -19,7 +19,7 @@
|
||||
modified 9 Apr 2012
|
||||
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.
|
||||
|
||||
*/
|
||||
@ -27,7 +27,7 @@ http://arduino.cc/en/Tutorial/PachubeClient
|
||||
#include <SPI.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 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)
|
||||
// use the numeric IP instead of the name for the server:
|
||||
IPAddress server(216,52,233,122); // numeric IP for api.pachube.com
|
||||
//char server[] = "api.pachube.com"; // name address for pachube API
|
||||
IPAddress server(216,52,233,122); // numeric IP for api.xively.com
|
||||
//char server[] = "api.xively.com"; // name address for xively API
|
||||
|
||||
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
|
||||
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() {
|
||||
// Open serial communications and wait for port to open:
|
||||
@ -107,8 +107,8 @@ void sendData(int thisData) {
|
||||
client.print("PUT /v2/feeds/");
|
||||
client.print(FEEDID);
|
||||
client.println(".csv HTTP/1.1");
|
||||
client.println("Host: api.pachube.com");
|
||||
client.print("X-PachubeApiKey: ");
|
||||
client.println("Host: api.xively.com");
|
||||
client.print("X-XivelyApiKey: ");
|
||||
client.println(APIKEY);
|
||||
client.print("User-Agent: ");
|
||||
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
|
||||
the Adafruit Ethernet shield, either one will work, as long as it's got
|
||||
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
|
||||
sensor1 and sensor2. Or change the code below to match your feed.
|
||||
|
||||
@ -23,7 +23,7 @@
|
||||
modified 8 September 2012
|
||||
by Scott Fitzgerald
|
||||
|
||||
http://arduino.cc/en/Tutorial/PachubeClientString
|
||||
http://arduino.cc/en/Tutorial/XivelyClientString
|
||||
This code is in the public domain.
|
||||
|
||||
*/
|
||||
@ -32,7 +32,7 @@
|
||||
#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 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)
|
||||
// use the numeric IP instead of the name for the server:
|
||||
IPAddress server(216,52,233,121); // numeric IP for api.pachube.com
|
||||
//char server[] = "api.pachube.com"; // name address for pachube API
|
||||
IPAddress server(216,52,233,121); // numeric IP for api.xively.com
|
||||
//char server[] = "api.xively.com"; // name address for xively API
|
||||
|
||||
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
|
||||
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() {
|
||||
// Open serial communications and wait for port to open:
|
||||
@ -85,7 +85,7 @@ void loop() {
|
||||
dataString += sensorReading;
|
||||
|
||||
// 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);
|
||||
dataString += "\nsensor2,";
|
||||
dataString += otherSensorReading;
|
||||
@ -125,8 +125,8 @@ void sendData(String thisData) {
|
||||
client.print("PUT /v2/feeds/");
|
||||
client.print(FEEDID);
|
||||
client.println(".csv HTTP/1.1");
|
||||
client.println("Host: api.pachube.com");
|
||||
client.print("X-pachubeApiKey: ");
|
||||
client.println("Host: api.xively.com");
|
||||
client.print("X-xivelyApiKey: ");
|
||||
client.println(APIKEY);
|
||||
client.print("User-Agent: ");
|
||||
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.
|
||||
|
||||
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
|
||||
sensor1. Or change the code below to match your feed.
|
||||
|
||||
@ -19,15 +19,15 @@
|
||||
|
||||
This code is in the public domain.
|
||||
|
||||
http://arduino.cc/en/Tutorial/GSMExamplesPachubeClient
|
||||
http://arduino.cc/en/Tutorial/GSMExamplesXivelyClient
|
||||
|
||||
*/
|
||||
|
||||
// libraries
|
||||
#include <GSM.h>
|
||||
|
||||
// Pachube Client data
|
||||
#define APIKEY "YOUR API KEY GOES HERE" // replace your pachube api key here
|
||||
// Xively Client data
|
||||
#define APIKEY "YOUR API KEY GOES HERE" // replace your xively api key here
|
||||
#define FEEDID 00000 // replace your feed ID
|
||||
#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)
|
||||
// use the numeric IP instead of the name for the server:
|
||||
// IPAddress server(216,52,233,121); // numeric IP for api.pachube.com
|
||||
char server[] = "api.pachube.com"; // name address for pachube API
|
||||
// IPAddress server(216,52,233,121); // numeric IP for api.xively.com
|
||||
char server[] = "api.xively.com"; // name address for xively API
|
||||
|
||||
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
|
||||
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()
|
||||
{
|
||||
@ -126,7 +126,7 @@ void sendData(int thisData)
|
||||
client.print("PUT /v2/feeds/");
|
||||
client.print(FEEDID);
|
||||
client.println(".csv HTTP/1.1");
|
||||
client.println("Host: api.pachube.com");
|
||||
client.println("Host: api.xively.com");
|
||||
client.print("X-ApiKey: ");
|
||||
client.println(APIKEY);
|
||||
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.
|
||||
|
||||
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
|
||||
sensor1 and sensor2. Or change the code below to match your feed.
|
||||
|
||||
@ -27,8 +27,8 @@
|
||||
// Include the GSM library
|
||||
#include <GSM.h>
|
||||
|
||||
// Pachube login information
|
||||
#define APIKEY "YOUR API KEY GOES HERE" // replace your pachube api key here
|
||||
// Xively login information
|
||||
#define APIKEY "YOUR API KEY GOES HERE" // replace your xively api key here
|
||||
#define FEEDID 00000 // replace your feed ID
|
||||
#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)
|
||||
// use the numeric IP instead of the name for the server:
|
||||
// IPAddress server(216,52,233,121); // numeric IP for api.pachube.com
|
||||
char server[] = "api.pachube.com"; // name address for Pachube API
|
||||
// IPAddress server(216,52,233,121); // numeric IP for api.xively.com
|
||||
char server[] = "api.xively.com"; // name address for Xively API
|
||||
|
||||
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
|
||||
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()
|
||||
{
|
||||
@ -92,7 +92,7 @@ void loop()
|
||||
dataString += sensorReading;
|
||||
|
||||
// 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);
|
||||
dataString += "\nsensor2,";
|
||||
dataString += otherSensorReading;
|
||||
@ -138,7 +138,7 @@ void sendData(String thisData)
|
||||
client.print("PUT /v2/feeds/");
|
||||
client.print(FEEDID);
|
||||
client.println(".csv HTTP/1.1");
|
||||
client.println("Host: api.pachube.com");
|
||||
client.println("Host: api.xively.com");
|
||||
client.print("X-ApiKey: ");
|
||||
client.println(APIKEY);
|
||||
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>
|
||||
|
||||
@ -16,7 +22,7 @@ void setup()
|
||||
void loop()
|
||||
{
|
||||
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
|
||||
delay(15); // waits for the servo to get there
|
||||
}
|
||||
|
@ -1,12 +1,16 @@
|
||||
// Sweep
|
||||
// by BARRAGAN <http://barraganstudio.com>
|
||||
// This example code is in the public domain.
|
||||
/* Sweep
|
||||
by BARRAGAN <http://barraganstudio.com>
|
||||
This example code is in the public domain.
|
||||
|
||||
modified 8 Nov 2013
|
||||
by Scott Fitzgerald
|
||||
http://arduino.cc/en/Tutorial/Sweep
|
||||
*/
|
||||
|
||||
#include <Servo.h>
|
||||
|
||||
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
|
||||
|
||||
@ -15,15 +19,14 @@ void setup()
|
||||
myservo.attach(9); // attaches the servo on pin 9 to the servo object
|
||||
}
|
||||
|
||||
|
||||
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
|
||||
myservo.write(pos); // tell servo to go to position in variable 'pos'
|
||||
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'
|
||||
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.
|
||||
|
||||
This example is written for a network using WPA encryption. For
|
||||
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
|
||||
sensor1. Or change the code below to match your feed.
|
||||
|
||||
@ -18,7 +18,7 @@
|
||||
created 13 Mar 2012
|
||||
modified 31 May 2012
|
||||
by Tom Igoe
|
||||
modified 8 Sept 2012
|
||||
modified 8 Nov 2013
|
||||
by Scott Fitzgerald
|
||||
|
||||
This code is in the public domain.
|
||||
@ -27,7 +27,7 @@
|
||||
#include <SPI.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 USERAGENT "My Arduino Project" // user agent is the project name
|
||||
|
||||
@ -40,12 +40,12 @@ int status = WL_IDLE_STATUS;
|
||||
WiFiClient client;
|
||||
// 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(216,52,233,121); // numeric IP for api.pachube.com
|
||||
//char server[] = "api.pachube.com"; // name address for pachube API
|
||||
IPAddress server(216,52,233,121); // numeric IP for api.xively.com
|
||||
//char server[] = "api.xively.com"; // name address for xively API
|
||||
|
||||
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
|
||||
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() {
|
||||
//Initialize serial and wait for port to open:
|
||||
@ -115,7 +115,7 @@ void sendData(int thisData) {
|
||||
client.print("PUT /v2/feeds/");
|
||||
client.print(FEEDID);
|
||||
client.println(".csv HTTP/1.1");
|
||||
client.println("Host: api.pachube.com");
|
||||
client.println("Host: api.xively.com");
|
||||
client.print("X-ApiKey: ");
|
||||
client.println(APIKEY);
|
||||
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.
|
||||
|
||||
This example is written for a network using WPA encryption. For
|
||||
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
|
||||
sensor1. Or change the code below to match your feed.
|
||||
|
||||
@ -31,7 +31,7 @@
|
||||
#include <SPI.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 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)
|
||||
// use the numeric IP instead of the name for the server:
|
||||
//IPAddress server(216,52,233,121); // numeric IP for api.pachube.com
|
||||
char server[] = "api.pachube.com"; // name address for pachube API
|
||||
//IPAddress server(216,52,233,121); // numeric IP for api.xively.com
|
||||
char server[] = "api.xively.com"; // name address for xively API
|
||||
|
||||
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
|
||||
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() {
|
||||
//Initialize serial and wait for port to open:
|
||||
@ -89,7 +89,7 @@ void loop() {
|
||||
dataString += sensorReading;
|
||||
|
||||
// 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);
|
||||
dataString += "\nsensor2,";
|
||||
dataString += otherSensorReading;
|
||||
@ -129,7 +129,7 @@ void sendData(String thisData) {
|
||||
client.print("PUT /v2/feeds/");
|
||||
client.print(FEEDID);
|
||||
client.println(".csv HTTP/1.1");
|
||||
client.println("Host: api.pachube.com");
|
||||
client.println("Host: api.xively.com");
|
||||
client.print("X-ApiKey: ");
|
||||
client.println(APIKEY);
|
||||
client.print("User-Agent: ");
|
Loading…
Reference in New Issue
Block a user