Ogólne

Zdalne sterowanie Arduino

Pinterest LinkedIn Tumblr

ethernet shieldW dzisiejszym wpisie chciałem zaprezentować, jak w prosty i szybki sposób możemy wykonać zdalne sterowanie Arduino. W założeniach projektu inteligentnego domu jest możliwość sterowania oświetleniem przez aplikację www z dowolnego miejsca. Z pomocą przychodzi nam projekt Teleduino. Jest to darmowa usługa stworzona przez Nathana Kennedy’ego. Usługa nie wymaga żadnych specjalnych szkiców — aby sterować układem Arduino, wystarczy wywołać specjalny adres URL w przeglądarce internetowej.

Do celów testowych wykorzystałem 4 diody led aby sprawdzić działanie wspomnianej usługi. Docelowo wykorzystam Teleduino do sterowania przekaźnikami RM6.

układ led

 

Aby móc korzystać z Teleduino, niezbędny jest moduł ethernet shield oraz kabel sieciowy podłączony do routera z dostępem do internetu. Warto również zbudować sobie prosty układ do testowania.

Pierwszym krokiem jest rejestracja i utworzenie unikalnego klucza identyfikującego. Robimy to wypełniając odpowiednie pola na stronie projektu. Po chwili na naszą skrzynkę e-mail trafi nasz unikatowy klucz który będzie miał następującą postać:

178544321Z9AEFF952ABCDEF8534B2BBF

Otrzymany klucz należy następnie przekonwertować na zmienną tablicową za pomocą narzędzia Arduino Sketch Key. Po poprawnym wygenerowaniu tablicy powinniśmy otrzymać coś takiego:

teleduino array

Każdy klucz jest unikatowy i przypisany do jednej płytki Arduino więc niema obawy, że wygenerujemy kod którym będziemy sterować inną płytką niż swoją. Również mamy pewność, że nikt nie przejmie kontroli nad naszą płytką. Chyba że udostępnimy komuś  API KEY.

Kolejnym krokiem jest pobranie biblioteki Teleduino i skopiowanie jej do katalogu gdzie znajduje się IDE ARDUINO. W moim wypadku jest to ścieżka:

C:\Program Files (x86)\Arduino\libraries

Uruchamiamy ponownie środowisko Arduino IDE i z menu PLIK->PRZYKŁADY wybieramy TELEDUINO328->Teleduino328/TeleduinoEthernetClientProxy.

W środowisku IDE zostanie wyświetlony szkic Teleduino. Przed wysłaniem tego szkicu na płytkę Arduino należy zastąpić domyślny klucz wygenerowaną wcześniej tablicą.
Po zastąpieniu tej zmiennej należy zapisać i wysłać szkic na płytkę Arduino.

Możemy teraz połączyć platformę Arduino z siecią i obserwować diodę LED. Po około 30 sekundach dioda powinna kilka razy zamigać i zgasnąć. Po prawidłowym nawiązaniu połączenia dioda LED powinna migać raz na około 5 sekund. Ponieważ dioda LED stanu połączenia jest sterowana przez pin cyfrowy nr 8, podczas stosowania usługi Teleduino nie możemy wykorzystać tego pinu do żadnych innych celów.

ethernet shield

 

Jak sterować pinami za pomocą adresu URL?

Sprawa jest banalnie prosta. Wpisujemy w adres dowolnej przeglądarki następujący ciąg:

http://us01.proxy.teleduino.org/api/1.0/328.php?k={KLUCZ}=setDigitalOutput&pin={X}&output={Y}

W miejsce {KLUCZ} wpisujemy oczywiście swój indywidualny klucz, który otrzymaliśmy pocztą elektroniczną. W pole {X} oraz {Y} wpisujemy odpowiednio numer pinu którym chcemy sterować oraz wartość 1 (stan wysoki) lub 0 (stan niski).

Przykład: chcemy aby na pinie numer 5 uzyskać stan wysoki. Wpisujemy następujący adres URL w pasku przęglądarki:

http://us01.proxy.teleduino.org/api/1.0/328.php?k=F33B9E28FFB3223321A7FIII21DC83369&r=setDigitalOutput&pin=5&output=1 

 

Teleduino to świetna biblioteka jeżeli chodzi o proste sterowanie przez Internet. Posiada również wiele innych funkcji takich jak sterowanie PWM. Po więcej informacji zapraszam do dokumentacji projektu jak również do książki Arduino. 65 praktycznych projektów wydawnictwa Helion.