Spisu treści:

Twitter i Arduino Yún: 3 kroki
Twitter i Arduino Yún: 3 kroki

Wideo: Twitter i Arduino Yún: 3 kroki

Wideo: Twitter i Arduino Yún: 3 kroki
Wideo: Arduino DUE 2024, Listopad
Anonim
Twitter i Arduino Yún
Twitter i Arduino Yún

Po wydaniu prawie 100 USD na Arduino Yún, aby zobaczyć, o co tyle zamieszania, wydawało się, że dobrym pomysłem jest znalezienie i zademonstrowanie jego zastosowań. W tym artykule przyjrzymy się, w jaki sposób twój Yún może wysłać tweeta, korzystając z kilku prostych, przykładowych szkiców – i pierwszego z kilku samouczków dotyczących Arduino Yún. Rozpoczęcie pracy Jeśli jeszcze tego nie zrobiłeś, upewnij się, że Arduino Yún może połączyć się z siecią przez Wi-Fi lub kabel – i uzyskaj konto Temboo (przeprowadzimy to tutaj). I potrzebujesz (w momencie pisania) IDE w wersji 1.5.4, które można pobrać ze strony Arduino. Wreszcie, jeśli nie masz konta na Twitterze – kup je.

Krok 1: Wysyłanie tweeta ze swojego Yún

Wysyłanie tweeta od Twojej Yún
Wysyłanie tweeta od Twojej Yún
Wysyłanie tweeta od Twojej Yún
Wysyłanie tweeta od Twojej Yún

Wysyłając tweeta z Twojego YúnDzięki do Arduino i Temboo, 99% pracy jest już wykonane za Ciebie. Aby wysłać tweet, potrzebny jest szkic Arduino, plik nagłówka ze szczegółami konta Temboo, a także konieczność zarejestrowania aplikacji w konsoli programistycznej Twittera. Nie panikuj, po prostu postępuj zgodnie z instrukcjami „Get Setup” z następnej strony. Kiedy to zrobisz – upewnij się, że jesteś zalogowany na stronie Temboo, ponieważ następnie wypełni ona plik nagłówkowy danymi z Temboo. Na etapie aplikacji Twittera nie zapomnij zapisać ustawień OAuth, które pojawią się w zakładce „Narzędzie OAuth” na stronie programisty Twittera, na przykład na powyższym obrazku. Te ustawienia są następnie kopiowane do każdego szkicu, zaczynając od linii:constStringTWITTER_ACCESS_TOKEN=Kiedy zapisujesz szkic, upewnij się, że plik nagłówka o nazwie TembooAccount.h jest umieszczony w tym samym folderze co szkic. Wiesz, że to się udało podczas otwierania szkicu, ponieważ zobaczysz plik nagłówka w drugiej karcie, na przykład na drugim obrazie w tym kroku. Na koniec, jeśli udostępniasz kod innym, usuń swoje OAuth i konto Temboo. h szczegóły, w przeciwnym razie mogą wysyłać tweety w Twoim imieniu.

Krok 2: Czy to zadziałało?

Zadziałało?
Zadziałało?

OK – wystarczająco dużo ostrzeżeń. Jeśli pomyślnie utworzyłeś konto Temboo, uzyskałeś szczegóły OAuth na Twitterze, włożyłeś je wszystkie do szkicu i pliku nagłówkowego, a następnie zapisałeś (!) i przesłałeś szkic do Arduino Yún - na osi czasu pojawi się krótki tweet, dla przykład na pierwszym obrazku powyżej. Jeśli nic nie pojawia się na twoim Twitterze, otwórz monitor szeregowy w IDE i zobacz, jakie komunikaty się pojawiają. Zwróci ci komunikat o błędzie z Twittera, który ogólnie wskazuje na problem.

Krok 3: Wysyłanie własnych danych jako tweeta

Wysyłanie własnych danych jako tweeta
Wysyłanie własnych danych jako tweeta

Idąc dalej, przyjrzyjmy się, jak wysyłać tweety z własnymi informacjami. W poniższym przykładowym szkicu przesyłamy wartość wynikającą z analogRead(0) i tekst połączonych razem w jednym wierszu. Nie zapomnij, że wiadomości na Twitterze (tweety) mają maksymalną długość 140 znaków. Przenieśliśmy wszystkie wysyłanie tweetów do jednej funkcji tweet(), którą możesz następnie wywołać ze swojego szkicu w razie potrzeby – po zdarzeniu i tak dalej. Tekst i dane do wysłania są łączone w String w linii 26.------------------------------------------------- -------------------------------------------------- -------------------------------------------------- ----------#include #include #include "TembooAccount.h" // zawiera informacje o koncie Temboo // zgodnie z opisem w komentarzu w stopce poniżej.const 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;unieważnij ustawienia() { Serial.begin(9600); opóźnienie (4000); while(!Serial); Bridge.begin();}unieważnij tweet(){ Serial.println("Uruchomienie funkcji tweet()"); // zdefiniuj tekst tweeta, który chcemy wysłać String tweetText("Wartość A0 to " + String(analogZero) + ". Brawa dla twittera"); Statusy TembooChoreoAktualizacjaChoreo; // Wywołaj klienta Temboo // Zwróć uwagę, że klient musi zostać ponownie wywołany i // uzupełniony odpowiednimi argumentami za każdym razem, gdy wywoływana jest jego metoda run(). Aktualizacja statusuChoreo.begin(); // ustaw poświadczenia konta Temboo StatusesUpdateChoreo.setAccountName(TEMBOO_ACCOUNT); StatusyUpdateChoreo.setAppKeyName(TEMBOO_APP_KEY_NAME); StatusUpdateChoreo.setAppKey (TEMBOO_APP_KEY); // zidentyfikuj choreo biblioteki Temboo do uruchomienia (Twitter > Tweety > StatusesUpdate) StatusesUpdateChoreo.setChoreo("/Library/Twitter/Tweets/StatusesUpdate"); // dodaj informacje o koncie na Twitterze 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); // i tweet, który chcemy wysłać StatusesUpdateChoreo.addInput("StatusUpdate", tweetText); // powiedz procesowi, aby uruchomił się i poczekał na wyniki. // kod powrotu (returnCode) poinformuje nas, czy klient Temboo // był w stanie wysłać nasze żądanie do serwerów Temboo unsigned int returnCode = StatusesUpdateChoreo.run(); // kod powrotu zero (0) oznacza, że wszystko działało if (returnCode == 0) { Serial.println("Sukces! Tweet wysłany!"); } else { // niezerowy kod powrotu oznacza, że wystąpił błąd // przeczytaj i wypisz komunikat o błędzie while (StatusesUpdateChoreo.available()) { char c = StatusesUpdateChoreo.read(); druk.seryjny(c); } } StatusesUpdateChoreo.close(); // nic nie rób przez następne 90 sekund Serial.println("Oczekiwanie…"); delay(90000);}void loop(){ // pobierz trochę danych z A0. zero analogowe=odczyt analogowy(0); ćwierkać(); zrobić {} podczas (1); // nic nie robić}--------------------------------------------- -------------------------------------------------- ----------------------------------------Które wyniki z następującym przykładowym tweetem pokazanym w obrazek powyżej. W poprzednim przykładzie szkicu możesz zbudować własną funkcjonalność wokół funkcji tweet(), aby wysyłać dane w razie potrzeby. Przypomnijmy, że dane do wysłania jako tweet są połączone w ciąg znaków w wierszu 26. Pamiętaj, że tweetów nie można wysyłać jak maszyna z dwóch powodów – po pierwsze, Twitter nie lubi szybkich automatycznych tweetów – i z dwóch, na koncie Temboo otrzymujesz tylko 1000 bezpłatnych połączeń miesięcznie. Jeśli potrzebujesz więcej, konto musi zostać uaktualnione po kosztach. Podsumowanie Cóż, Yún daje nam inny sposób przesyłania danych przez Twittera. Nie był to najtańszy sposób, ale dość prosty. I stąd kompromis z platformą Arduino – prostota kontra cena. Czekaj na więcej samouczków. A jeśli chcesz dowiedzieć się więcej o Arduino lub chcesz wprowadzić kogoś innego w ciekawy świat Arduino – zajrzyj do mojej książki (teraz w trzecim druku!) „Arduino Workshop” od No Starch Press.

Zalecana: