Indholdsfortegnelse:

Twitter og Arduino Yún: 3 trin
Twitter og Arduino Yún: 3 trin

Video: Twitter og Arduino Yún: 3 trin

Video: Twitter og Arduino Yún: 3 trin
Video: Arduino Video Tutorial - 10 Twitter controlled Mood Lamp 2024, Juli
Anonim
Twitter og Arduino Yún
Twitter og Arduino Yún

Efter at have brugt næsten $ 100 på en Arduino Yún for at se, hvad balladen handlede om, virkede det som en god idé at finde og demonstrere nogle anvendelser til det. Så i denne artikel undersøger vi, hvordan din Yún kan sende et tweet ved hjælp af nogle enkle eksempelskitser-og den første af flere Arduino Yún-specifikke tutorials. Kom godt i gang Hvis du ikke allerede har gjort det, skal du sikre, at din Arduino Yún kan oprette forbindelse til dit netværk via WiFi eller kabel - og få en Temboo -konto (vi gennemgår dette her). Og du har brug for (i skrivende stund) IDE version 1.5.4, som kan downloades fra Arduino -webstedet. Endelig, hvis du ikke har en twitter -konto - tag en.

Trin 1: Send et tweet fra din Yún

Sender et tweet fra din Yún
Sender et tweet fra din Yún
Sender et tweet fra din Yún
Sender et tweet fra din Yún

Send en tweet fra din YúnTak til Arduino og Temboo, 99% af arbejdet er allerede udført for dig. For at sende et tweet kræver Arduino -skitsen, en header -fil med dine Temboo -kontodetaljer og også behovet for at registrere en applikation i twitter -udviklingskonsollen. Gør ikke panik, bare følg instruktionerne "Get Set Up" fra den følgende side. Når du gør det - sørg for at være logget ind på Temboo -webstedet, da det derefter vil udfylde overskriftsfilen med dine Temboo -oplysninger for dig. I løbet af twitter -applikationsfasen skal du ikke glemme at gemme dine OAuth -indstillinger, som vises på fanen "OAuth Tool" på twitter -udviklersiden, for eksempel på billedet ovenfor. Disse indstillinger kopieres derefter til hver skitse fra linjen: constStringTWITTER_ACCESS_TOKEN = Når du gemmer skitsen, skal du sørge for at placere header -filen med navnet TembooAccount.h i den samme mappe som din skitse. Du ved, at dette har været en succes, når du åbner skitsen, da du vil se header -filen på en anden fane, for eksempel i det andet billede i dette trin. Hvis du endelig deler kode med andre, skal du fjerne din OAuth og TembooAccount. h detaljer ellers kan de sende tweets på dine vegne.

Trin 2: Virkede det?

Virkede det?
Virkede det?

OK - nok advarsler. Hvis du har oprettet din Temboo -konto med succes, har dine twitter OAuth -oplysninger, fodret dem alle ind i skitse- og overskriftsfilen, derefter gemt (!) Og uploadet din skitse til Arduino Yún - der vises en kort tweet på din tidslinje, for eksempel på det første billede ovenfor. Hvis der ikke vises noget på dit twitter -feed, skal du åbne den serielle skærm i IDE og se, hvilke meddelelser der vises. Det vil give dig fejlmeddelelsen fra twitter tilbage, hvilket generelt angiver problemet.

Trin 3: Send dine egne data som et tweet

Sender dine egne data som et tweet
Sender dine egne data som et tweet

Fortsæt, lad os undersøge, hvordan du sender tweets med dine egne oplysninger. I den følgende eksempelskitse sender vi værdien, der stammer fra analogRead (0) og tekst kombineret sammen i en linje. Glem ikke twitterbeskeder (tweets), der har en maksimal længde på 140 tegn. Vi har flyttet al tweet-afsendelse til en funktion tweet (), som du derefter kan kalde fra din skitse, når det kræves-ved en begivenhed og så videre. Teksten og dataene, der skal sendes, kombineres til en streng på linje 26.----------------------------------- ---------------------------------------------------------- ---------------------------------------------------------- ---------- #include #include #include "TembooAccount.h" // indeholder Temboo-kontooplysninger // som beskrevet i sidefodskommentaren herunderconst String TWITTER_ACCESS_TOKEN = "aaaa"; const String TWITTER_ACCESS_TOKEN_SECRET = "bbbb"; const String TWITTER_CONSUMER_KEY = "ccccc"; const String TWITTER_CONSUMER_SECRET = "dddd"; int analogZero; void setup () {Serial.begin (9600); forsinkelse (4000); mens (! Seriel); Bridge.begin ();} ugyldig tweet () {Serial.println ("Kører tweet () funktion"); // definer teksten til det tweet, vi vil sende String tweetText ("Værdien af A0 er" + String (analogZero) + ". Hurra for twitter"); TembooChoreo StatusesUpdateChoreo; // påberåbe Temboo -klienten // BEMÆRK, at klienten skal genkaldes og genbefolkes med // passende argumenter, hver gang dens run () -metode kaldes. StatusesUpdateChoreo.begin (); // sæt Temboo -kontooplysninger StatusesUpdateChoreo.setAccountName (TEMBOO_ACCOUNT); StatusesUpdateChoreo.setAppKeyName (TEMBOO_APP_KEY_NAME); StatusesUpdateChoreo.setAppKey (TEMBOO_APP_KEY); // identificer Temboo Library -choreoen til at køre (Twitter> Tweets> StatusesUpdate) StatusesUpdateChoreo.setChoreo ("/Library/Twitter/Tweets/StatusesUpdate"); // tilføj oplysninger om Twitter -kontoen StatusesUpdateChoreo.addInput ("AccessToken", TWITTER_ACCESS_TOKEN); StatusesUpdateChoreo.addInput ("AccessTokenSecret", TWITTER_ACCESS_TOKEN_SECRET); StatusesUpdateChoreo.addInput ("ConsumerKey", TWITTER_CONSUMER_KEY); StatusesUpdateChoreo.addInput ("ConsumerSecret", TWITTER_CONSUMER_SECRET); // og den tweet, vi ønsker at sende StatusesUpdateChoreo.addInput ("StatusUpdate", tweetText); // fortælle processen at køre og vente på resultaterne. // returkoden (returnCode) fortæller os, om Temboo -klienten // var i stand til at sende vores anmodning til Temboo -serverne usigneret int returnCode = StatusesUpdateChoreo.run (); // en returkode på nul (0) betyder, at alt fungerede, hvis (returnCode == 0) {Serial.println ("Succes! Tweet sendt!"); } ellers {// en returkode uden nul betyder, at der var en fejl // læste og udskriv fejlmeddelelsen, mens (StatusesUpdateChoreo.available ()) {char c = StatusesUpdateChoreo.read (); Serial.print (c); }} StatusesUpdateChoreo.close (); // gør ingenting i de næste 90 sekunder Serial.println ("Venter …"); delay (90000);} void loop () {// få nogle data fra A0. analogZero = analogRead (0); tweet (); gør {} mens (1); // gøre ingenting}--------------------------------------------- -------------------------------------------------- ---------------------------------------- Hvilket resultat med følgende eksempel tweet vist i billedet ovenfor. Med den forrige eksempelskitse kan du opbygge din egen funktionalitet omkring tweet () -funktionen til at sende data, når det kræves. Husk, at de data, der skal sendes som et tweet, kombineres til en streng på linje 26. Bemærk, at du ikke kan sprænge tweets ud som en maskine af to grunde - en, twitter kan ikke lide hurtig automatisk tweeting - og to, du får kun 1000 gratis opkald på din Temboo -konto om måneden. Hvis du har brug for mere, skal kontoen opgraderes til en pris. Konklusion Nå giver Yún os en anden måde at sende data ud via twitter. Det var ikke den billigste måde at gøre det på, men det var ganske enkelt. Og dermed afvejningen med Arduino-platformen-enkelhed vs. pris. Følg med for flere vejledninger. Og hvis du er interesseret i at lære mere om Arduino, eller vil introducere en anden til den interessante verden i Arduino - tjek min bog (nu i en tredje udgave!) "Arduino Workshop" fra No Starch Press.

Anbefalede: