Arduino Ethernet Shield handledning (5 / 5 steg)

Steg 5: klient



Du kan också använda Ethernet Shield som klient. Med andra ord, kan du använda den för att läsa webbplatser som en webbläsare.

Webbplatser har en massa text både synliga och dolda, vilket gör programmering på klientsidan mycket knepigt. Läsa information från webbplatser vanligtvis innebär parsning av en massa strängar. Detta är irriterande, men värt det, om det är vad du tänker göra.

Jag skulle skriva lite kod för att läsa Twitter-meddelanden, men sådan kod finns redan som ett exempel inom Arduino programmeraren. Istället, jag bara ändrade det något att slå på en LED om ett särskilt meddelande läses.

Att göra detta arbete Anslut positiva ledde till stift D2, och negativa bly i serie med en 220 ohm motstånd till jord.

Glöm inte att ange din egen IP-adress i koden nedan, eller det kommer inte att fungera.

Här är koden:

/*
Twitter-klient med strängar

Denna skiss ansluter till Twitter med hjälp av en Ethernet shield. Analyserar det XML
återvänt, och ser detta är en tweet för < text > < / text >

Du kan använda Arduino Ethernet shield eller Adafruit Ethernet shield,
antingen en fungerar, så länge som den har fått en Wiznet Ethernet modul ombord.

I detta exempel används DHCP-rutiner i Ethernet-biblioteket som är en del av den
Arduino kärna från version 1.0 beta 1

I detta exempel används strängen biblioteket, som är en del av Arduino kärnan från
version 0019.

Krets:
* Ethernet shield bifogas stift 10, 11, 12, 13

skapad 21 maj 2011
av Tom Igoe

Denna kod är i public domain.

*/
#include < SPI.h >
#include < Ethernet.h >

Ange en MAC-adress och IP-adressen för din controller nedan.
IP-adressen kommer att bero på ditt lokala nätverk:
byte [mac] = {
0x00, 0xAA, 0xBB, 0xCC, 0xDE, 0x01};
IP-adress ip(191,11,1,1); <<< Ange din IP-adress här!!!

initiera bibliotek instans:
EthernetClient klient;

CONST int requestInterval = 60000; fördröjning mellan begäranden

char servernamn [] = "api.twitter.com"; Twitter URL

Boolean efterfrågades; Om du har gjort en begäran sedan ansluter
lång lastAttemptTime = 0; förra gången du ansluten till servern, i millisekunder

String currentLine = ""; sträng till texten från servern
Sträng tweet = ""; sträng att hålla tweet
booleska readingTweet = false; Om du läser för närvarande tweet

void setup() {

pinMode (2, utgång);

boka plats för strängarna:
currentLine.reserve(256);
Tweet.Reserve(150);

initiera följetong:
Serial.BEGIN(9600);
försök en DHCP-anslutning:
IF (!. Ethernet.BEGIN(Mac)) {
om DHCP misslyckas, börja med en hårdkodad adress:
Ethernet.BEGIN (mac, ip);
}
ansluta till Twitter:
connectToServer();
}

void loop()
{
om (client.connected()) {
om (client.available()) {
Läs inkommande byte:
char inChar = client.read();

Lägg till inkommande byte till slutet av raden:
currentLine += inChar;

Om du får en ny rad, avmarkera raden:
om (inChar == "\n") {
currentLine = "";
}
om den aktuella raden avslutas med < text >, kommer det att
följas av tweet:
om (currentLine.endsWith ("< text >")) {
tweet börjar. Rensa tweet strängen:
readingTweet = sant;
Tweet = "";
}
Om du läser för närvarande byten i en tweet,
lägga till dem i tweet sträng:
om (readingTweet) {
om (inChar! = ' <') {
Tweet += inChar;
}
annat {
Om du fick en "<" karaktär,
du har kommit till slutet av tweet:
readingTweet = false;
Serial.println(tweet);

om (tweet == "> Hej grymma värld") {
digitalWrite (2, hög).
Serial.println ("LED på!");
}
om (tweet! = "> Hej grymma värld") {
digitalWrite (2, låg).
Serial.println ("LED OFF!");
}

stänga anslutningen till servern:
client.stop();
}
}
}
}
annars om (millis() - lastAttemptTime > requestInterval) {
Om du inte är ansluten, och två minuter har gått sedan
din sista anslutning, sedan försök att ansluta igen:
connectToServer();
}
}

void connectToServer() {
försök att ansluta, och vänta en millisekund:
Serial.println ("ansluter till server...");
om (client.connect (servernamn, 80)) {
Serial.println ("att göra HTTP-begäran...");
göra HTTP GET begära Twitter:
client.println ("GET /1/statuses/user_timeline.xml?screen_name=RandyMcTester & count = 1 HTTP/1.1");
client.println ("HOST: api.twitter.com");
client.println();
}
Obs tiden för detta Anslut försök:
lastAttemptTime = millis();
}

Du kommer förmodligen att vilja läsa något annat än det senaste inlägget på RandyMcTester Twitter feed.

För att läsa andra Twitter-feeds, ändra följande bit av texten:
client.println ("GET /1/statuses/user_timeline.xml?screen_name=[nya TWITTER namn här]& count = 1 HTTP/1.1");

Se Steg
Relaterade Ämnen

Remote Home Automation exempel - Arduino + Ethernet Shield

Välkommen igen!I detta Instructable jag kommer detalj hur man använder olika sensorer och objekt med en internet ansluten Arduino. Enligt min åsikt, detta var ett mycket roligt projekt att sätta ihop och mixtra med! Plus, jag måste bättra på min HTML...

Styra Denon AVR med Arduino + Ethernet shield

Med detta projekt har jag bygger en enkel kontrollpanel för min Denon AVR (AVR-X4100W).De flesta av Denon A / V-mottagare är nätverket redo, så att du kan styra dem inom en web interphasen eller en app. Det finns inga officiella dokumentation för HTT...

Styra WeMo Switch med Arduino + Ethernet shield

Det finns många apps som låter dig styra din Belkin WeMo enheter, men det finns ingen en hårdvara switch panel som den Nyans knacka för Philips nyans.Så bygga jag en med en Arduino!Steg 1: materialFör detta projekt behöver du:En Arduino ombord. Jag a...

Arduino Routing Protocol RIPv1 Spoofer / nätverk Jammer - Ethernet Shield handledning

Detta är en snabb intstructable med några bevis på konceptet kod för att visa att routningsprotokoll kan förfalskas genom att använda Arduino. Det också fungerar som en snabb introduktion till att använda ethernet shield och får din arduino skicka pa...

Smarta hem med Arduino Ethernet shield och Teleduino (med web app)

Detta projekt är en enkel lösning för dem som vill ha en smart-home system men inte har en stor budget och för lat de som inte vill komma från sängen till släcker belysningen av eller på.Det är också projektera av en high school student för sitt slut...

TouchOSC och Arduino Ethernet Shield till kontroll energi (A.M.P.A.E.)

Dag efter dag, människor använder en stor mängd prylar och slösa en massa energi att ha ingen oro om det. Vår idé är i grunden en mobil applikation för tabletter och smartphones som erbjuder användaren en total kontroll av alla energikällor som använ...

Online grafer med ingenting men en Arduino, Ethernet Shield och Sensor

Slutligen har jag beslutat att lägga några av mina befintliga projekt på instructables. Här är anpassade från mitt Super Graphing Data Logger projekt.Vad är Super Graphing Data Logger (SGDL)? Det är en Arduino projekt som integrerar dataloggning och...

Online temperaturövervakning genom att använda Arduino + Ethernet Shield

Hej, idag jag ska Visa du kille hur man gör arduino temperaturövervakning online, detta exempel är webbaserade-det betyder att du kan ansluta från var som helst, Combine AJAX och PHP tillsammans som kan ge temperaturdata mestadels realtime utan uppda...

Köra Ethernet shield på arduino

Ethernet-Shield omedelbart gör det möjligt för internet-anslutning för Arduinoprojekt. En ombord Wiz5100 ethernet styrenhet hanterar upp till fyra TCP och UDP-anslutningar, stack bara det till en Arduino att skapa dina egna enheter på nätverket. Enke...

Styra Arduino styrelsen trådlöst med iPhone, iPad eller iPod med iArduino App och Ethernet Shield

denna tutorial vägleder dig till hur man gör hela installationen till kontroll din Arduino ombord med iArduino program. Vi kommer att använda Led för förståelse, och vi kommer att byta det till och från med hjälp av iArduino app. Från detta kommer du...

Hem Automation DIY projekt med hjälp av Arduino UNO & Ethernet Shield

"Det huvudsakliga målet med detta projekt är att hur du kan styra hemelektronik som TV, fläkt, tube light eller något med hjälp av din dator eller bärbara enhet"Hjärtat i detta projekt är Ethernet shield och definitivt hjärnan med detta projekt...

Visa data på en webbplats - elektroniska potten [Arduino Nano + Ethernet Shield]

Jag har alltid velat en växt i mitt rum, som skulle fylla utrymmet mellan oavslutade projekt och dyrt, men onödiga bitar av elektroniska delar. Så kom jag upp med idén om en elektronisk pott – The Arduino E-Pot -som skulle mäta de grundläggande behov...

Arduino atmega644/1284 clone + ethernet shield + advancedHMI VB NET + MODBUS TCP

Detta projekt är ett sätt att kontrollera en Arduino eller min Arduino atmega644/1284 klon via en PC eller en människa-maskin gränssnitt ansluten till arduino ethernet shield. Du kommer att skapa ett SCADA system för att styra ditt system från långa...

Arduino Nano med Ethernet Shield

Jag köpte nyligen en Arduino Ethernet shield utformad för Arduino Uno och trodde jag kunde bara enkelt ansluta den till min befintliga Arduino Nano. Jag hade fel!Jag kunde inte hitta mycket information om hur du gör detta, förutom att vissa dokument...

Arduino Ethernet

En enkel webbserver som visar värdet av analog ingång stiften med en Arduino Ethernet shield.Steg 1: Förbered din arduino kit och ethernet shield Steg 2: Anslut din Ethernet-shield till din styrelse Steg 3: Skriva och ladda upp din kod#include < Ethe...

Lätt grundläggande Arduino Ethernet Controller

jag nyligen gick ut och köpte en Arduino Ethernet Shield men kunde inte riktigt ta den i bruk som jag inte kunde hitta några lätt tutorials så jag började att försöka kod själv. Jag kunde komma med en enkel del av koden som visade på en LED från din...

Arduino Ethernet kamera

Jag kommer att presentera en Arduino ethernet kamera.Du kan ta en bild inne i huset som har en denna arduino ethernet kamera av bara openning webbplatsen om du följer detta innehåll.Det är väldigt lätt och enkelt sätt som inte behöver någon app. för...

[Tutorial för 4DIY.ORG] - hur man styr LED med iphone med hjälp av [4DIY.ORG] App och Ethernet Shield

Steg 1: Material och verktyg1. Arduino Uno R3.2. Arduino Ethernet Shield.3. [4DIY.ORG] App (stöd iOS och Android).4. RJ45-kabel.5. bryta styrelsen.6. RÖD LED.7. resistor.8. tråd.Steg 2: Ladda upp skiss för Arduino Dowload skiss fil bifogadSteg 3: Con...

Hur du använder MQTT i Arduino utan en Ethernet Shield

MQTT står för MQ telemetri Transport. Det är en publicera/prenumereraextremt enkel och lätt meddelandeprotokoll, avsedd för begränsad enheter och låg bandbredd, hög latens eller opålitliga nätverk. Design är att minimera bandbredd och enheten resursk...