Cyfroteka.pl

klikaj i czytaj online

Cyfro
Czytomierz
00467 008263 11004456 na godz. na dobę w sumie
Arduino. Automatyka domowa dla każdego - ebook/pdf
Arduino. Automatyka domowa dla każdego - ebook/pdf
Autor: Liczba stron: 112
Wydawca: Helion Język publikacji: polski
ISBN: 978-83-283-0939-5 Data wydania:
Lektor:
Kategoria: ebooki >> komputery i informatyka >> elektronika >> arduino
Porównaj ceny (książka, ebook, audiobook).

Inteligentne budynki dla pasjonatów elektroniki!

Arduino to platforma, dzięki której budowa zaawansowanych układów elektronicznych stała się bardzo prosta i przyjemna. Już nie musisz tworzyć skomplikowanych projektów układów, wykonywać mnóstwa obliczeń oraz rozwiązywać problemów. Wystarczy, że zdobędziesz płytkę Arduino i zaczniesz tworzyć układ Twoich marzeń. Jeżeli marzył Ci się inteligentny dom i masz ochotę osiągnąć ten cel we własnym zakresie, wiedz, że dzięki tej książce i platformie Arduino jest to możliwe!

Sięgnij po ten poradnik i zobacz, jak zrealizować najróżniejsze praktyczne projekty. Bezprzewodowy detektor ruchu, termometr lub licznik zużytej energii to tylko niektóre z nich. Jeżeli chciałbyś sterować oświetleniem budynku za pomocą urządzeń mobilnych lub zbudować własną stację pogodową, także znajdziesz tu coś dla siebie, ponieważ książka zawiera przejrzyste opisy realizacji takich projektów. Na sam koniec dowiesz się, jak przerabiać urządzenia fabryczne, testować system oparty na Arduino oraz przygotować obudowę Twojego urządzenia. Książka ta jest doskonałą lekturą dla wszystkich pasjonatów elektroniki chcących zrealizować nowe, pasjonujące projekty!

Z tej książki nauczysz się:

Dla kogo jest ta książka?

Jeśli chcesz konstruować własne systemy automatyki domowej przy użyciu platformy Arduino, ta książką jest dla Ciebie. Aby zrozumieć opisane w niej projekty, musisz już mieć pewną wiedzę na temat Arduino i znać zasady programowania w takich językach, jak C i C++.

Twoje mieszkanie też może być inteligentne!

Znajdź podobne książki Ostatnio czytane w tej kategorii

Darmowy fragment publikacji:

Tytuł oryginału: Arduino Home Automation Projects Tłumaczenie: Zbigniew Waśko ISBN: 978-83-283-0936-4 Copyright © 2014 Packt Publishing First published in the English language under the title ‘Arduino Home Automation Projects – (9781783986064)’. Polish edition copyright © 2015 by Helion S.A. All rights reserved. All rights reserved. No part of this book may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording or by any information storage retrieval system, without permission from the Publisher. Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą kserograficzną, fotograficzną, a także kopiowanie książki na nośniku filmowym, magnetycznym lub innym powoduje naruszenie praw autorskich niniejszej publikacji. Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich właścicieli. Autor oraz Wydawnictwo HELION dołożyli wszelkich starań, by zawarte w tej książce informacje były kompletne i rzetelne. Nie biorą jednak żadnej odpowiedzialności ani za ich wykorzystanie, ani za związane z tym ewentualne naruszenie praw patentowych lub autorskich. Autor oraz Wydawnictwo HELION nie ponoszą również żadnej odpowiedzialności za ewentualne szkody wynikłe z wykorzystania informacji zawartych w książce. Wydawnictwo HELION ul. Kościuszki 1c, 44-100 GLIWICE tel. 32 231 22 19, 32 230 98 63 e-mail: helion@helion.pl WWW: http://helion.pl (księgarnia internetowa, katalog książek) Pliki z przykładami omawianymi w książce można znaleźć pod adresem: ftp://ftp.helion.pl/przyklady/ardaud.zip Drogi Czytelniku! Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres http://helion.pl/user/opinie/ardaud Możesz tam wpisać swoje uwagi, spostrzeżenia, recenzję. Printed in Poland. • Kup książkę • Poleć książkę • Oceń książkę • Księgarnia internetowa • Lubię to! » Nasza społeczność Spis tre(cid:258)ci Wprowadzenie Rozdzia(cid:239) 1. Budowanie bezprzewodowych detektorów ruchu Niezb(cid:218)dny sprz(cid:218)t i oprogramowanie Monta(cid:285) sprz(cid:218)tu Sprz(cid:218)ganie czujnika PIR z Arduino Programowanie przesy(cid:239)ania danych Tworzenie interfejsu graficznego dla detektorów ruchu Podsumowanie Rozdzia(cid:239) 2. Sterowanie o(cid:258)wietleniem za pomoc(cid:200) smartfona lub tabletu Niezb(cid:218)dny sprz(cid:218)t i oprogramowanie Monta(cid:285) sprz(cid:218)tu Testowanie przeka(cid:283)ników i (cid:239)(cid:200)cza Wi-Fi Tworzenie interfejsu graficznego do sterowania przeka(cid:283)nikami Testowanie interfejsu graficznego Podsumowanie Rozdzia(cid:239) 3. Bezprzewodowy pomiar temperatury Niezb(cid:218)dny sprz(cid:218)t i oprogramowanie Monta(cid:285) sprz(cid:218)tu Pisanie szkicu Testowanie czujnika temperatury i wilgotno(cid:258)ci Zdalny pomiar temperatury i wilgotno(cid:258)ci Podsumowanie 9 13 14 15 17 18 21 24 25 26 28 31 34 36 37 39 40 42 45 46 48 50 Poleć książkęKup książkę Spis tre(cid:286)ci Rozdzia(cid:239) 4. Stacja pogodowa w chmurze Niezb(cid:218)dny sprz(cid:218)t i oprogramowanie (cid:146)(cid:200)czenie podzespo(cid:239)ów Testowanie czujników Zak(cid:239)adanie konta w serwisie ThingSpeak Pisanie szkicu Logowanie w serwisie ThingSpeak i wy(cid:258)wietlanie danych Podsumowanie Rozdzia(cid:239) 5. Chmurowy monitoring zu(cid:285)ycia energii Niezb(cid:218)dny sprz(cid:218)t i oprogramowanie (cid:146)(cid:200)czenie podzespo(cid:239)ów Testowanie uk(cid:239)adu Konfigurowanie konta w serwisie ThingSpeak Wysy(cid:239)anie danych do serwisu ThingSpeak Podsumowanie Rozdzia(cid:239) 6. Przerabianie urz(cid:200)dze(cid:241) fabrycznych Niezb(cid:218)dny sprz(cid:218)t i oprogramowanie (cid:146)(cid:200)czenie podzespo(cid:239)ów Sterowanie urz(cid:200)dzeniem za pomoc(cid:200) komputera Tworzenie interfejsu graficznego Podsumowanie Rozdzia(cid:239) 7. Zbuduj w(cid:239)asny system automatyki domowej Niezb(cid:218)dny sprz(cid:218)t i oprogramowanie Budowanie systemu Arduino od podstaw Testowanie systemu Arduino Projektowanie p(cid:239)ytki drukowanej dla w(cid:239)asnego systemu automatyki Wykonanie p(cid:239)ytki Projektowanie i drukowanie 3D obudowy dla w(cid:239)asnego systemu automatyki domowej Podsumowanie Skorowidz 53 54 55 56 58 60 62 64 65 66 68 70 73 75 78 79 80 82 84 86 88 91 92 93 95 97 101 103 106 109 4 Poleć książkęKup książkę 2 Sterowanie o(cid:258)wietleniem za pomoc(cid:200) smartfona lub tabletu W tym rozdziale zajmiemy si(cid:266) inn(cid:261), równie popularn(cid:261) dziedzin(cid:261) automatyki domowej — ste- rowaniem o(cid:286)wietleniem. Na pó(cid:225)kach sklepowych znajdziesz mnóstwo gotowych systemów s(cid:225)u- (cid:298)(cid:261)cych do sterowania urz(cid:261)dzeniami domowymi, ale zazwyczaj s(cid:261) one bardzo drogie. I je(cid:286)li nawet s(cid:261) bezprzewodowe, to na ogó(cid:225) wymagaj(cid:261) od nas u(cid:298)ywania specjalnego pilota. My jednak zastosujemy inne podej(cid:258)cie i zbudujemy system, dzi(cid:218)ki któremu do sterowania o(cid:258)wietleniem b(cid:218)dzie mo(cid:285)na u(cid:285)y(cid:202) komputera, smartfona lub tabletu. Oto krótki opis tego, co nas czeka: (cid:81) Najpierw zmontujemy sprz(cid:218)tow(cid:200) cz(cid:218)(cid:258)(cid:202) projektu, czyli po(cid:239)(cid:200)czymy chip Wi-Fi z p(cid:239)ytk(cid:200) Arduino i urz(cid:200)dzenie sterowane (w tym przypadku zwyk(cid:239)(cid:200) lamp(cid:218)) z modu(cid:239)em przeka(cid:283)nika. W naszym projekcie zastosujemy dwa takie modu(cid:239)y, ale oczywi(cid:258)cie mo(cid:285)e by(cid:202) ich wi(cid:218)cej. (cid:81) Nast(cid:218)pnie napiszemy kod testuj(cid:200)cy poszczególne podzespo(cid:239)y. Sprawdzimy wi(cid:218)c, czy przeka(cid:283)nik dzia(cid:239)a poprawnie i czy chip Wi-Fi rzeczywi(cid:258)cie (cid:239)(cid:200)czy si(cid:218) z sieci(cid:200) domow(cid:200). (cid:81) Na koniec opracujemy graficzny interfejs, który umo(cid:285)liwi sterowanie urz(cid:200)dzeniem nie tylko z poziomu komputera, ale równie(cid:285) smartfona lub tabletu. Poleć książkęKup książkę Arduino. Automatyka domowa dla ka(cid:298)dego Niezb(cid:218)dny sprz(cid:218)t i oprogramowanie Zobaczmy, co konkretnie b(cid:218)dzie potrzebne do realizacji tego projektu. Tak jak we wszystkich projektach opisanych w ksi(cid:200)(cid:285)ce, podstaw(cid:200) b(cid:218)dzie p(cid:239)ytka Arduino Uno (mo(cid:285)e by(cid:202) te(cid:285) Arduino Mega). Potrzebne b(cid:218)d(cid:200) równie(cid:285) modu(cid:239)y przeka(cid:283)nikowe jako elementy bezpo(cid:258)rednio steruj(cid:200)ce lam- pami. Przeka(cid:283)nik to taki elektromechaniczny wy(cid:239)(cid:200)cznik. Zwykle u(cid:285)ywa si(cid:218) go, gdy obwód ni- skonapi(cid:218)ciowy (np. p(cid:239)ytka Arduino pracuj(cid:200)ca przy napi(cid:218)ciu 5 V) ma wywo(cid:239)a(cid:202) zmian(cid:218) w ob- wodzie o znacznie wy(cid:285)szym napi(cid:218)ciu (np. w lampie pod(cid:239)(cid:200)czonej do gniazdka w (cid:258) cianie). Wi(cid:218)cej informacji o przeka(cid:283)nikach znajdziesz pod adresem: http://pl.wikipedia.org/wiki/Przeka(cid:283)nik. Ja zastosowa(cid:239)em modu(cid:239)y przeka(cid:283)nikowe marki Pololu przystosowane do prze(cid:239)(cid:200)czania obwo- dów o napi(cid:218)ciu do 250 V (mog(cid:200) wi(cid:218)c obs(cid:239)ugiwa(cid:202) urz(cid:200)dzenia zasilane z sieci zarówno 110 V, jak 230 V) i nat(cid:218)(cid:285)eniu pr(cid:200)du do 10 A. Jeden z nich jest pokazany na rysunku poni(cid:285)ej. Jako (cid:285)e chcia(cid:239)em sterowa(cid:202) dwiema lampami, u(cid:285)y(cid:239)em dwóch takich modu(cid:239)ów. Oczywi(cid:258)cie nic nie stoi na przeszkodzie, aby(cid:258) zastosowa(cid:239) ich wi(cid:218)cej albo poprzesta(cid:239) tylko na jednym. Nie musisz te(cid:285) szuka(cid:202) dok(cid:239)adnie takich samych przeka(cid:283)ników jak moje. Mog(cid:200) by(cid:202) dowolnej innej marki, byleby tylko mia(cid:239)y podobne parametry — po stronie wej(cid:258)ciowej musz(cid:200) by(cid:202) kom- patybilne z obwodami 5 V (jak p(cid:239)ytka Arduino), a po stronie wyj(cid:258)ciowej musz(cid:200) by(cid:202) przystoso- wane do napi(cid:218)cia i nat(cid:218)(cid:285)enia pr(cid:200)du zasilaj(cid:200)cego urz(cid:200)dzenie sterowane. Jak ju(cid:285) podawa(cid:239)em, przeka(cid:283)niki u(cid:285)yte przeze mnie mog(cid:200) sterowa(cid:202) urz(cid:200)dzeniami zasilanymi pr(cid:200)dem o napi(cid:218)ciu nawet 230 V i nat(cid:218)(cid:285)eniu 10 A, czyli maj(cid:200)cymi moc a(cid:285) 2300 W. 26 Poleć książkęKup książkę Rozdzia(cid:225) 2. • Sterowanie o(cid:286)wietleniem za pomoc(cid:261) smartfona lub tabletu Poniewa(cid:285) b(cid:218)dziemy mie(cid:202) do czynienia z urz(cid:200)dzeniami dzia(cid:239)aj(cid:200)cymi przy napi(cid:218)ciu 110 V lub 230 V, mu- sisz zachowa(cid:202) szczególn(cid:200) ostro(cid:285)no(cid:258)(cid:202). Nigdy nie dotykaj przeka(cid:283)nika pod(cid:239)(cid:200)czonego kablem do gniazdka, a nawet nie zbli(cid:285)aj si(cid:218) do niego. Je(cid:258)li to mo(cid:285)liwe, umie(cid:258)(cid:202) przeka(cid:283)nik w jakiej(cid:258) plastikowej obudowie, aby nikt nie mia(cid:239) do niego dost(cid:218)pu. Kolejna rzecz, jakiej b(cid:218)dziesz potrzebowa(cid:239), to modu(cid:239) Wi-Fi. Kod napisany na potrzeby tego projektu uwzgl(cid:218)dnia parametry modelu CC3000, popularnego w(cid:258)ród u(cid:285)ytkowników platfor- my Arduino, wi(cid:218)c bez trudu znajdziesz w internecie informacje na jego temat. Jest to p(cid:239)ytka drukowana (PCB) z interesuj(cid:200)cym nas chipem i kilkoma elementami niezb(cid:218)dnymi dla jego w(cid:239)a(cid:258)ciwego funkcjonowania. Poni(cid:285)szy rysunek przedstawia p(cid:239)ytk(cid:218), której u(cid:285)y(cid:239)em. Podobnie jak w przypadku przeka(cid:283)ników, p(cid:239)ytka Wi-Fi mo(cid:285)e pochodzi(cid:202) od dowolnego produ- centa. Musi tylko zawiera(cid:202) chip CC3000 i by(cid:202) dostosowana do zasilania 5 V (wi(cid:218)kszo(cid:258)(cid:202) p(cid:239)ytek z chipem CC3000 spe(cid:239)nia ten warunek). Mo(cid:285)esz u(cid:285)y(cid:202) równie(cid:285) nak(cid:239)adki Arduino zawieraj(cid:200)cej wspomniany chip, chocia(cid:285)by tej, któr(cid:200) oferuje firma Adafruit. Aby dowiedzie(cid:202) si(cid:218) czego(cid:258) wi(cid:218)cej na temat tej p(cid:239)ytki i dzia(cid:239)ania uk(cid:239)adu CC3000, przejrzyj dokumentacj(cid:218) i przyk(cid:239)ady zastosowa(cid:241) zamieszczone w internecie pod adresem: https://github.com/adafruit/Adafruit_CC3000_Library. Musisz zdoby(cid:202) tak(cid:285)e p(cid:239)ytk(cid:218) stykow(cid:200) i przewody monta(cid:285)owe, aby te wszystkie podzespo(cid:239)y po(cid:239)(cid:200)czy(cid:202). 27 Poleć książkęKup książkę Arduino. Automatyka domowa dla ka(cid:298)dego Oto pe(cid:239)na lista cz(cid:218)(cid:258)ci potrzebnych do wykonania systemu sterowania o(cid:258)wietleniem: (cid:81) Arduino Uno R3 (http://www.adafruit.com/products/50)1, (cid:81) przeka(cid:283)nik Pololu 5V (http://www.pololu.com/product/2480)2, (cid:81) modu(cid:239) Wi-Fi CC3000 (http://www.adafruit.com/products/1469)3, (cid:81) p(cid:239)ytka stykowa (http://www.adafruit.com/product/64)4, (cid:81) przewody po(cid:239)(cid:200)czeniowe (http://www.adafruit.com/product/759)5. Do po(cid:239)(cid:200)czenia lamp z przeka(cid:283)nikami b(cid:218)dziesz potrzebowa(cid:239) paru przewodów z gniazdkami i wtyczkami. Wi(cid:218)cej szczegó(cid:239)ów podam przy omawianiu monta(cid:285)u. Je(cid:258)li chodzi o oprogramo- wanie, to b(cid:218)dziesz musia(cid:239) zainstalowa(cid:202) w swoim komputerze najnowsz(cid:200) wersj(cid:218) (cid:258)rodowiska programistycznego Arduino. Potrzebna b(cid:218)dzie równie(cid:285) biblioteka aREST. Znajdziesz j(cid:200) pod adresem: https://github.com/marcoschwartz/aREST. Aby pobra(cid:202) repozytorium z serwisu GitHub, po prostu kliknij przycisk Download Zip. Po- trzebna b(cid:218)dzie te(cid:285) biblioteka chipu CC3000. Znajdziesz j(cid:200) pod adresem: https://github.com/adafruit/Adafruit_CC3000_Library. Z kolei bibliotek(cid:218) CC3000_MDNS znajdziesz pod adresem: https://github.com/adafruit/CC3000_MDNS. Aby zainstalowa(cid:202) bibliotek(cid:218), wypakuj wszystkie pliki do folderu /libraries, znajduj(cid:200)cego si(cid:218) w g(cid:239)ównym folderze instalacyjnym aplikacji Arduino. Pod koniec rozdzia(cid:239)u b(cid:218)dziemy tworzy(cid:202) interfejs sieciowy dla naszego systemu i wtedy niezb(cid:218)dny b(cid:218)dzie dzia(cid:239)aj(cid:200)cy na komputerze serwer internetowy. Monta(cid:285) sprz(cid:218)tu Zobaczmy teraz, jak nale(cid:285)y te wszystkie komponenty po(cid:239)(cid:200)czy(cid:202). Zaczniemy od po(cid:239)(cid:200)czenia mo- du(cid:239)u przeka(cid:283)nika i chipu Wi-Fi z p(cid:239)ytk(cid:200) Arduino. Ca(cid:239)y zmontowany uk(cid:239)ad powinien ostatecznie wygl(cid:200)da(cid:202) mniej wi(cid:218)cej tak jak na poni(cid:285)szym rysunku. 1 http://botland.com.pl/arduino-moduly-glowne/1060-arduino-uno-r3.html — przyp. t(cid:239)um. 2 http://www.gotronik.pl/modul-przekaznika-5v-optoizolacja-p-2366.html — przyp. t(cid:239)um. 3 http://botland.com.pl/moduly-wifi/2276-cc3000-modul-wifi-sparkfun.html (wspó(cid:239)pracuje z bibliotek(cid:200) Adafruit, ale dedykowana biblioteka jest dost(cid:218)pna pod adresem http://github.com/sparkfun/SFE_CC3000_ Library/archive/master.zip) — przyp. t(cid:239)um. 4 http://botland.com.pl/plytki-stykowe/56-plytka-stykowa-400-otworow.html — przyp. t(cid:239)um. 5 http://botland.com.pl/przewody-polaczeniowe/1223-przewody-polaczeniowe-mesko-meskie-20cm-40szt.html — przyp. t(cid:239)um. 28 Poleć książkęKup książkę Rozdzia(cid:225) 2. • Sterowanie o(cid:286)wietleniem za pomoc(cid:261) smartfona lub tabletu Na nast(cid:218)pnym rysunku pokaza(cid:239)em dok(cid:239)adniej, co z czym nale(cid:285)y po(cid:239)(cid:200)czy(cid:202). Schemat ten przedstawia po(cid:239)(cid:200)czenia dla systemu w wersji z jednym przeka(cid:283)nikiem. Zobacz- my, jak to wygl(cid:200)da w szczegó(cid:239)ach. Zacznij od umieszczenia wszystkich komponentów jeden blisko drugiego, po czym umie(cid:258)(cid:202) modu(cid:239) CC3000 na p(cid:239)ytce uniwersalnej. Nast(cid:218)pnie wykonaj po(cid:239)(cid:200)czenia zasilaj(cid:200)ce. Pin masy (GND) p(cid:239)ytki Arduino po(cid:239)(cid:200)cz z zaciskiem masy p(cid:239)ytki CC3000, a zacisk 5V p(cid:239)ytki Arduino — z zaciskiem VIN p(cid:239)ytki CC3000. Przejd(cid:283)my teraz do samego chipu CC3000. Jak wida(cid:202), jego modu(cid:239) ma ca(cid:239)kiem sporo wypro- wadze(cid:241), wi(cid:218)c post(cid:218)puj dok(cid:239)adnie wed(cid:239)ug moich wskazówek, bo je(cid:258)li si(cid:218) pomylisz, modu(cid:239) mo- (cid:285)e nie zadzia(cid:239)a(cid:202) lub b(cid:218)dzie dzia(cid:239)a(cid:239) niew(cid:239)a(cid:258)ciwie. Pin IRQ modu(cid:239)u CC3000 po(cid:239)(cid:200)cz z pinem 3 p(cid:239)ytki Arduino, VBEN z pinem 5 i CS z pinem 10. Nast(cid:218)pnie wykonaj po(cid:239)(cid:200)czenie linii inter- fejsu szeregowego SPI: piny MOSI, MISO i CLK modu(cid:239)u CC3000 po(cid:239)(cid:200)cz z pinami, odpo- wiednio, 11, 12 i 13 p(cid:239)ytki Arduino. 29 Poleć książkęKup książkę Arduino. Automatyka domowa dla ka(cid:298)dego Teraz pod(cid:239)(cid:200)cz modu(cid:239) przeka(cid:283)nika. Modu(cid:239) ten ma trzy piny wej(cid:258)ciowe: dwa zasilaj(cid:200)ce (VCC i GND) i jeden sygna(cid:239)owy (SIG). (cid:146)(cid:200)cz(cid:200)c go z p(cid:239)ytk(cid:200) Arduino, po(cid:239)(cid:200)cz SIG z pinem 6, GND z GND i VCC z pinem 5V. Na koniec wykonaj pod(cid:239)(cid:200)czenie lampy do modu(cid:239)u przeka(cid:283)nika. Zrób to za pomoc(cid:200) dwóch przewodów: jednego z wtyczk(cid:200) i drugiego z gniazdkiem. Zmontowane po(cid:239)(cid:200)czenie jest pokazane na rysunku poni(cid:285)ej. Zaciski wyj(cid:258)ciowe przeka(cid:283)nika to zazwyczaj: COM (wspólny), NC (normalnie zwarty) i NO (normalnie otwarty). Jeden koniec przewodu zasilaj(cid:200)cego ma by(cid:202) pod(cid:239)(cid:200)czony do zacisku COM, drugi do zacisku NO, a zacisk NC powinien zosta(cid:202) wolny. Aby prawid(cid:239)owo po(cid:239)(cid:200)czy(cid:202) kable zasilaj(cid:200)ce z przeka(cid:283)nikiem, wykonaj nast(cid:218)puj(cid:200)ce czynno(cid:258)ci: 1. Jeden koniec przewodu z gniazdkiem po(cid:239)(cid:200)cz z zaciskiem COM. 2. Jeden koniec przewodu z wtyczk(cid:200) po(cid:239)(cid:200)cz z zaciskiem ON. 3. Pozosta(cid:239)e ko(cid:241)ce przewodów z(cid:239)(cid:200)cz za pomoc(cid:200) zwyk(cid:239)ej kostki elektrycznej. 4. Teraz mo(cid:285)esz pod(cid:239)(cid:200)czy(cid:202) lamp(cid:218). Po(cid:239)(cid:200)czenia mi(cid:218)dzy lamp(cid:200) a przeka(cid:283)nikiem powinny by(cid:202) zgodne z poni(cid:285)szym schematem. 30 Poleć książkęKup książkę Rozdzia(cid:225) 2. • Sterowanie o(cid:286)wietleniem za pomoc(cid:261) smartfona lub tabletu 5. Przewód z wtyczk(cid:200) w(cid:239)(cid:200)cz do gniazdka w (cid:258)cianie, a do przewodu z gniazdkiem pod(cid:239)(cid:200)cz lamp(cid:218). Oczywi(cid:258)cie ca(cid:239)(cid:200) procedur(cid:218) musisz powtórzy(cid:202) tyle razy, ile przeka(cid:283)ników zastosujesz. Zasilania kolejnych przeka(cid:283)ników pod(cid:239)(cid:200)czaj do linii +5V i GND na p(cid:239)ytce stykowej, a ko(cid:241)cówki SIG — do niezaj(cid:218)tych pinów p(cid:239)ytki Arduino. Testowanie przeka(cid:283)ników i (cid:239)(cid:200)cza Wi-Fi Po zmontowaniu ca(cid:239)ego uk(cid:239)adu mo(cid:285)emy przyst(cid:200)pi(cid:202) do pisania kodu, który pos(cid:239)u(cid:285)y do przete- stowania naszego projektu. Zaczniemy od przygotowania szkicu testuj(cid:200)cego dzia(cid:239)anie prze- ka(cid:283)nika. Otwórz wi(cid:218)c (cid:258)rodowisko programistyczne Arduino i przygotuj si(cid:218) do pisania. Szcze- gó(cid:239)owo omówi(cid:218) tylko najwa(cid:285)niejsze partie kodu, a ca(cid:239)o(cid:258)(cid:202) mo(cid:285)esz pobra(cid:202) z serwera FTP zawieraj(cid:200)cego materia(cid:239)y dodatkowe do ksi(cid:200)(cid:285)ki. Najpierw deklarujemy, do którego pinu jest pod(cid:239)(cid:200)czony testowany przeka(cid:283)nik: const int relay_pin = 6; U(cid:285)ywamy tutaj zmiennej const int — cho(cid:202) mogliby(cid:258)my u(cid:285)y(cid:202) dyrektywy #define — poniewa(cid:285) dzi(cid:218)ki temu mamy pewno(cid:258)(cid:202), (cid:285)e sta(cid:239)a jest odpowiedniego typu. W funkcji setup() musimy za- deklarowa(cid:202), (cid:285)e jest to wyj(cid:258)ciowy pin cyfrowy. Pos(cid:239)u(cid:285)ymy si(cid:218) w tym celu funkcj(cid:200) pinMode(): pinMode(relay_pin,OUTPUT); W funkcji loop() w(cid:239)(cid:200)czamy przeka(cid:283)nik, czekamy 5 sekund, wy(cid:239)(cid:200)czamy go, czekamy kolejne 5 sekund i powtarzamy procedur(cid:218) od pocz(cid:200)tku. Zrobimy to za pomoc(cid:200) nast(cid:218)puj(cid:200)cego kodu: // W(cid:225)(cid:261)cz przeka(cid:296)nik digitalWrite(relay_pin, HIGH); // Czekaj 5 sekund delay(5000); // Wy(cid:225)(cid:261)cz przeka(cid:296)nik digitalWrite(relay_pin, LOW); // Czekaj 5 sekund delay(5000); Teraz prze(cid:258)lij ten kod do p(cid:239)ytki Arduino. Je(cid:258)li wszystkie po(cid:239)(cid:200)czenia wykona(cid:239)e(cid:258) prawid(cid:239)owo, lampa pod(cid:239)(cid:200)czona do przeka(cid:283)nika powinna zapala(cid:202) si(cid:218) i gasn(cid:200)(cid:202) w odst(cid:218)pach 5-sekundowych, a ka(cid:285)dej takiej zmianie powinno towarzyszy(cid:202) klikni(cid:218)cie styków przeka(cid:283)nika. Je(cid:258)li tak si(cid:218) nie dzieje, sprawd(cid:283) po(cid:239)(cid:200)czenia, zw(cid:239)aszcza te mi(cid:218)dzy modu(cid:239)em przeka(cid:283)nika a p(cid:239)ytk(cid:200) Arduino. Zanim dotkniesz czegokolwiek w zmontowanym uk(cid:239)adzie, sprawd(cid:283), czy przewód zasilaj(cid:200)cy jest od(cid:239)(cid:200)czony od gniazdka w (cid:258)cianie. Nie ryzykuj przypadkowego dotkni(cid:218)cia odizolowanego kabelka, je(cid:258)li urz(cid:200)dzenie jest pod napi(cid:218)ciem, bo to mo(cid:285)e by(cid:202) niebezpieczne. 31 Poleć książkęKup książkę Arduino. Automatyka domowa dla ka(cid:298)dego Kod tego szkicu jest dost(cid:218)pny w materia(cid:239)ach dodatkowych do ksi(cid:200)(cid:285)ki zamieszczonych na serwerze FTP: ftp://ftp.helion.pl/przyklady/ardaud.zip — znajdziesz go w folderze Rozdzia(cid:239)_02/relay_test. Je(cid:258)li test przeka(cid:283)nika wypad(cid:239) pomy(cid:258)lnie, mo(cid:285)esz przej(cid:258)(cid:202) do nast(cid:218)pnego etapu, polegaj(cid:200)cego na napisaniu szkicu sprawdzaj(cid:200)cego, czy chip CC3000 dzia(cid:239)a poprawnie i czy mo(cid:285)liwe jest sterowanie przeka(cid:283)nikiem w sposób bezprzewodowy. Zacznij od zadeklarowania odpowiednich bibliotek: #include Adafruit_CC3000.h #include SPI.h #include CC3000_MDNS.h #include aREST.h Zadeklaruj te(cid:285), do których pinów jest przy(cid:239)(cid:200)czony chip CC3000. Je(cid:258)li zmontowa(cid:239)e(cid:258) uk(cid:239)ad zgodnie z moimi wskazówkami, nie zmieniaj niczego w poni(cid:285)szym zapisie: #define ADAFRUIT_CC3000_IRQ 3 #define ADAFRUIT_CC3000_VBAT 5 #define ADAFRUIT_CC3000_CS 10 Nast(cid:218)pnie korzystaj(cid:200)c z biblioteki CC3000, utwórz instancj(cid:218) chipu CC3000 z podanymi wcze(cid:258)niej pinami: Adafruit_CC3000 cc3000 = Adafruit_CC3000(ADAFRUIT_CC3000_CS, ADAFRUIT_CC3000_IRQ, ADAFRUIT_CC3000_VBAT, SPI_CLOCK_DIV2); Aby chip „wiedzia(cid:239)”, z któr(cid:200) sieci(cid:200) ma si(cid:218) (cid:239)(cid:200)czy(cid:202), trzeba odpowiednio ustawi(cid:202) pewne para- metry. Przede wszystkim musisz poda(cid:202) identyfikator swojej sieci Wi-Fi (SSID) i has(cid:239)o: #define WLAN_SSID twójSSID #define WLAN_PASS twojehas(cid:239)o #define WLAN_SECURITY WLAN_SEC_WPA2 Je(cid:258)li nie u(cid:285)ywasz standardu WPA2, b(cid:218)dziesz musia(cid:239) zmieni(cid:202) ustawienie zwi(cid:200)zane z zabezpie- czeniem sieci. Pe(cid:239)n(cid:200) list(cid:218) mo(cid:285)liwych ustawie(cid:241) bezpiecze(cid:241)stwa znajdziesz w przyk(cid:239)adowych szkicach ilustruj(cid:200)cych stosowanie biblioteki CC3000: // Ustawieniem bezpiecze(cid:276)stwa mo(cid:298)e by(cid:252): WLAN_SEC_UNSEC, WLAN_SEC_WEP, WLAN_SEC_WPA lub WLAN_SEC_WPA2 Podaj te(cid:285) numer portu, na którym komputer b(cid:218)dzie odbiera(cid:239) po(cid:239)(cid:200)czenia przychodz(cid:200)ce. Ja wy- bra(cid:239)em port 80 ze wzgl(cid:218)du na wygod(cid:218) — mo(cid:285)na sterowa(cid:202) p(cid:239)ytk(cid:200) przez wpisywanie polece(cid:241) bezpo(cid:258)rednio w przegl(cid:200)darce: #define LISTEN_PORT 80 32 Poleć książkęKup książkę Rozdzia(cid:225) 2. • Sterowanie o(cid:286)wietleniem za pomoc(cid:261) smartfona lub tabletu Kolejna rzecz, jak(cid:200) musisz poda(cid:202), to serwer dzia(cid:239)aj(cid:200)cy na p(cid:239)ytce Arduino i przyjmuj(cid:200)cy tam po(cid:239)(cid:200)czenia przychodz(cid:200)ce: Adafruit_CC3000_Server restServer(LISTEN_PORT); Nast(cid:218)pnie utwórz instancj(cid:218) us(cid:239)ugi mDNS, która umo(cid:285)liwi dost(cid:218)p do p(cid:239)ytki z pomini(cid:218)ciem jej adresu IP: MDNSResponder mdns; Nie zapomnij te(cid:285) o utworzeniu instancji biblioteki aREST, aby mo(cid:285)liwe by(cid:239)o przyjmowanie (cid:285)(cid:200)- da(cid:241) ze (cid:258)wiata zewn(cid:218)trznego: aREST rest = aREST(); W funkcji setup() po zainicjalizowaniu ustawie(cid:241) p(cid:239)ytki i po(cid:239)(cid:200)czenia z sieci(cid:200) Wi-Fi mo(cid:285)esz uruchomi(cid:202) us(cid:239)ug(cid:218) mDNS. Jest to te(cid:285) moment, kiedy musisz przypisa(cid:202) p(cid:239)ytce Arduino jak(cid:200)(cid:258) nazw(cid:218). Ja nazwa(cid:239)em j(cid:200) po prostu arduino, a to oznacza, (cid:285)e pó(cid:283)niej aby uzyska(cid:202) do niej dost(cid:218)p, b(cid:218)d(cid:218) musia(cid:239) wpisywa(cid:202) w przegl(cid:200)darce nazw(cid:218) arduino.local: if (!mdns.begin( arduino , cc3000)) { while(1); } Mo(cid:285)e si(cid:218) jednak zdarzy(cid:202), (cid:285)e serwer mDNS nie zadzia(cid:239)a na Twoim komputerze — wi(cid:218)cej in- formacji znajdziesz na stronie biblioteki CC3000 mDNS. Je(cid:258)li tak si(cid:218) stanie, b(cid:218)dziesz musia(cid:239) uzyska(cid:202) dok(cid:239)adny adres IP p(cid:239)ytki CC3000. Mo(cid:285)esz si(cid:218) w tym celu pos(cid:239)u(cid:285)y(cid:202) podan(cid:200) ni(cid:285)ej funkcj(cid:200), która b(cid:218)dzie wy(cid:258)wietla(cid:239)a (cid:285)(cid:200)dany adres przy ka(cid:285)dym uruchomieniu p(cid:239)ytki: while (! displayConnectionDetails()) { delay(1000); } Aby zako(cid:241)czy(cid:202) faz(cid:218) ustawiania parametrów, musisz jeszcze uruchomi(cid:202) serwer na p(cid:239)ytce Ar- duino. Zrobisz to za pomoc(cid:200) nast(cid:218)puj(cid:200)cego kodu: restServer.begin(); Serial.println(F( Nasluchiwanie polaczen... )); Teraz w funkcji loop() musisz przede wszystkim zaktualizowa(cid:202) us(cid:239)ug(cid:218) mDNS: mdns.update(); Sprawd(cid:283) te(cid:285), czy jaki(cid:258) klient nie chce si(cid:218) po(cid:239)(cid:200)czy(cid:202) z internetowym serwerem Arduino, a je(cid:258)li co(cid:258) takiego ma miejsce, obs(cid:239)u(cid:285) klienta, u(cid:285)ywaj(cid:200)c biblioteki aREST: Adafruit_CC3000_ClientRef client = restServer.available(); rest.handle(client); Dzi(cid:218)ki bibliotece aREST nie musisz w tej sprawie robi(cid:202) nic wi(cid:218)cej! Teraz mo(cid:285)esz przes(cid:239)a(cid:202) kod na p(cid:239)ytk(cid:218) (upewnij si(cid:218) wcze(cid:258)niej, (cid:285)e wpisa(cid:239)e(cid:258) w(cid:239)a(cid:258)ciwy identyfikator SSID i has(cid:239)o), a gdy ju(cid:285) to zrobisz, otwórz monitor portu szeregowego. Po kilku sekundach powiniene(cid:258) ujrze(cid:202) napis: Nasluchiwanie polaczen... 33 Poleć książkęKup książkę Arduino. Automatyka domowa dla ka(cid:298)dego Je(cid:258)li go widzisz, to znaczy, (cid:285)e p(cid:239)ytka jest po(cid:239)(cid:200)czona z sieci(cid:200) Wi-Fi. Powinien by(cid:202) widoczny równie(cid:285) adres IP p(cid:239)ytki. Zanotuj go, gdy(cid:285) wkrótce b(cid:218)dzie Ci potrzebny. Zamknij monitor portu szeregowego i otwórz przegl(cid:200)dark(cid:218) internetow(cid:200). Na pocz(cid:200)tek musisz okre(cid:258)li(cid:202) jako wyj(cid:258)ciowe piny, do których pod(cid:239)(cid:200)czone s(cid:200) przeka(cid:283)niki. Zaczynaj(cid:200)c od pinu nr 6, wpisz w polu adresowym przegl(cid:200)darki nast(cid:218)puj(cid:200)cy tekst: http://arduino.local/mode/6/o Je(cid:258)li wszystko zadzia(cid:239)a jak nale(cid:285)y, powiniene(cid:258) ujrze(cid:202) potwierdzenie w postaci nast(cid:218)puj(cid:200)cego komunikatu: Setting pin D6 to output Je(cid:258)li jest inaczej, nie wpadaj w panik(cid:218). Mo(cid:285)e po prostu biblioteka mDNS jest niekompatybil- na z Twoim komputerem. Spróbuj jeszcze raz, ale zamiast aliasu arduino.local u(cid:285)yj adresu IP p(cid:239)ytki CC3000. Wpisz np. co(cid:258) takiego: http://192.168.0.103/mode/6/o To samo powtórz dla pinu nr 7, je(cid:258)li do niego pod(cid:239)(cid:200)czy(cid:239)e(cid:258) kolejny przeka(cid:283)nik. A teraz spróbuj uaktywni(cid:202) za po(cid:258)rednictwem (cid:239)(cid:200)cza Wi-Fi pierwszy przeka(cid:283)nik. Wpisz w przegl(cid:200)darce: http://arduino.local/digital/6/1 Natychmiast powiniene(cid:258) us(cid:239)ysze(cid:202) klikni(cid:218)cie przeka(cid:283)nika i lampa powinna si(cid:218) za(cid:258)wieci(cid:202), je(cid:258)li tylko jest pod(cid:239)(cid:200)czona do uk(cid:239)adu. Natomiast w przegl(cid:200)darce powinien si(cid:218) ukaza(cid:202) komunikat potwierdzaj(cid:200)cy ustawienie wysokiego poziomu napi(cid:218)cia na wskazanym pinie: Pin D6 set to 1 To samo mo(cid:285)esz zrobi(cid:202) z pinem nr 7, po prostu (cid:285)eby sprawdzi(cid:202), czy on te(cid:285) daje si(cid:218) sterowa(cid:202) za po(cid:258)rednictwem Wi-Fi. Oczywi(cid:258)cie ca(cid:239)(cid:200) t(cid:218) procedur(cid:218) testow(cid:200) powiniene(cid:258) dostosowa(cid:202) do liczby u(cid:285)ytych przeka(cid:283)ników i do sposobu, w jaki je po(cid:239)(cid:200)czy(cid:239)e(cid:258) z p(cid:239)ytk(cid:200). Pe(cid:239)ny kod potrzebny do przetestowania przeka(cid:283)ników i po(cid:239)(cid:200)czenia Wi-Fi mo(cid:285)na pobra(cid:202) z serwera FTP: ftp://ftp.helion.pl/przyklady/ardaud.zip. Tworzenie interfejsu graficznego do sterowania przeka(cid:283)nikami Do samego testowania uk(cid:239)adu mo(cid:285)na pos(cid:239)u(cid:285)y(cid:202) si(cid:218) przegl(cid:200)dark(cid:200) internetow(cid:200), ale u(cid:285)ywanie jej na co dzie(cid:241) do sterowania lampami by(cid:239)oby raczej niewygodne. Dlatego zbudujemy specjalny interfejs, który umo(cid:285)liwi w(cid:239)(cid:200)czanie i wy(cid:239)(cid:200)czanie poszczególnych (cid:283)róde(cid:239) (cid:258)wiat(cid:239)a przez zwyk(cid:239)e klikanie przycisków. 34 Poleć książkęKup książkę Rozdzia(cid:225) 2. • Sterowanie o(cid:286)wietleniem za pomoc(cid:261) smartfona lub tabletu Dzi(cid:218)ki temu, (cid:285)e korzystamy z technologii internetowych, interfejs ten b(cid:218)dzie dost(cid:218)pny rów- nie(cid:285) na urz(cid:200)dzeniach mobilnych, takich jak smartfon czy tablet, je(cid:258)li tylko b(cid:218)d(cid:200) po(cid:239)(cid:200)czone z t(cid:200) sam(cid:200) sieci(cid:200) Wi-Fi co system steruj(cid:200)cy. Podobnie jak w pierwszym rozdziale, przy opracowywaniu interfejsu b(cid:218)dziemy u(cid:285)ywa(cid:202) j(cid:218)zy- ków HTML, CSS, JavaScript i PHP. Zacznijmy od tego, co trzeba napisa(cid:202) w HTML-u. B(cid:218)d(cid:200) to bloki kodu odnosz(cid:200)ce si(cid:218) do przeka(cid:283)ników. Ka(cid:285)demu z tych urz(cid:200)dze(cid:241) przypiszemy dwa przyciski: jeden do za(cid:239)(cid:200)czania i drugi do wy(cid:239)(cid:200)czania. Oto kod realizuj(cid:200)cy t(cid:218) cz(cid:218)(cid:258)(cid:202) interfejsu: div class= relayBlock span class= relayTitle Przeka(cid:283)nik 1 /span button class= btn btn-block btn-lg btn-primary type= button id= 1 onClick= relayClick(this.id) W(cid:239) /button button class= btn btn-block btn-lg btn-danger type= button id= 2 onClick= relayClick(this.id) Wy(cid:239) /button /div (cid:191)eby przyciski mog(cid:239)y robi(cid:202) cokolwiek u(cid:285)ytecznego, trzeba je powi(cid:200)za(cid:202) z odpowiednim ko- dem w j(cid:218)zyku JavaScript. Wszystko to jest zakodowane w pliku JavaScript. Pobieramy iden- tyfikator (ID) przycisku, który zosta(cid:239) klikni(cid:218)ty, i wysy(cid:239)amy do uk(cid:239)adu steruj(cid:200)cego odpowiednie dla tego przycisku polecenie. Przyk(cid:239)adowo, je(cid:258)li przycisk o identyfikatorze równym 1 jest przypisany do przeka(cid:283)nika po(cid:239)(cid:200)czonego z pinem nr 6 i s(cid:239)u(cid:285)y do w(cid:239)(cid:200)czania tego przeka(cid:283)nika, to za obs(cid:239)ug(cid:218) jego klikni(cid:218)cia b(cid:218)dzie odpowiedzialny nast(cid:218)puj(cid:200)cy fragment kodu: if (clicked_id == 1 ){ $.get( update_relay.php , { command: /digital/6/1 } ); } To samo zosta(cid:239)o zrobione dla pozosta(cid:239)ych przeka(cid:283)ników. Oczywi(cid:258)cie zawarto(cid:258)(cid:202) tego pliku mu- sisz odpowiednio zmodyfikowa(cid:202) w zale(cid:285)no(cid:258)ci od sprz(cid:218)towej konfiguracji swojego uk(cid:239)adu. Spójrzmy teraz na skrypt PHP, który b(cid:218)dzie wywo(cid:239)ywany przy ka(cid:285)dym klikni(cid:218)ciu przycisku. Wiemy ju(cid:285), (cid:285)e za ka(cid:285)dym razem jest wtedy przekazywana do skryptu zmienna o nazwie command (polecenie). Wewn(cid:200)trz skryptu musimy najpierw pobra(cid:202) jej warto(cid:258)(cid:202): $command = $_GET[ command ]; Skoro mamy ju(cid:285) polecenie, które nale(cid:285)y wys(cid:239)a(cid:202), mo(cid:285)emy przyst(cid:200)pi(cid:202) do tworzenia (cid:239)a(cid:241)cucha znakowego zawieraj(cid:200)cego w(cid:239)a(cid:258)ciwy adres URL. Taki w(cid:239)a(cid:258)nie (cid:239)a(cid:241)cuch wpisywali(cid:258)my w prze- gl(cid:200)darce podczas testowania szkicu realizuj(cid:200)cego (cid:239)(cid:200)czno(cid:258)(cid:202) Wi-Fi. Przypominam, (cid:285)e je(cid:258)li us(cid:239)u- ga mDNS nie dzia(cid:239)a na Twoim komputerze, musisz w tym (cid:239)a(cid:241)cuchu umie(cid:258)ci(cid:202) adres IP mo- du(cid:239)u CC3000. A oto jak nale(cid:285)y utworzy(cid:202) zmienn(cid:200) zawieraj(cid:200)c(cid:200) stosowny (cid:239)a(cid:241)cuch z adresem URL i poleceniem: $service_url = http://arduino.local . $command; Teraz mo(cid:285)emy zainicjowa(cid:202) us(cid:239)ug(cid:218) cURL. Robimy to w sposób nast(cid:218)puj(cid:200)cy: $curl = curl_init($service_url); 35 Poleć książkęKup książkę Arduino. Automatyka domowa dla ka(cid:298)dego Potem zlecamy wykonanie polecenia: $curl_response = curl_exec($curl); A nast(cid:218)pnie zamykamy us(cid:239)ug(cid:218) cURL: $curl_close($curl); Zauwa(cid:285), (cid:285)e tym razem nie interesuje nas odpowied(cid:283) p(cid:239)ytki Arduino, wi(cid:218)c jej nie odbieramy i nigdzie nie wysy(cid:239)amy. Testowanie interfejsu graficznego Wszystko zmontowane, kod interfejsu napisany, wi(cid:218)c czas na generalny sprawdzian. Upewnij si(cid:218), (cid:285)e Twój serwer internetowy dzia(cid:239)a i (cid:285)e w jego g(cid:239)ównym folderze znajduj(cid:200) si(cid:218) wszystkie pliki interfejsu. Aby to sprawdzi(cid:202), otwórz ten folder (przez wpisanie w przegl(cid:200)darce interne- towej adresu localhost). Gdy ju(cid:285) si(cid:218) tam dostaniesz, otwórz plik HTML. Powiniene(cid:258) ujrze(cid:202) co(cid:258) zbli(cid:285)onego do rysunku zamieszczonego poni(cid:285)ej. Aby przetestowa(cid:202) interfejs, po prostu klikaj widoczne przyciski. Ka(cid:285)de klikni(cid:218)cie powinno spowodowa(cid:202) zmian(cid:218) stanu odpowiedniej lampy. Je(cid:258)li jest inaczej, musisz sprawdzi(cid:202) kilka rzeczy. Przede wszystkim upewnij si(cid:218), (cid:285)e serwer internetowy dzia(cid:239)a poprawnie. Sprawd(cid:283) te(cid:285), czy w skrypcie PHP wpisa(cid:239)e(cid:258) w(cid:239)a(cid:258)ciw(cid:200) nazw(cid:218) p(cid:239)ytki Arduino (lub adres IP). Na koniec przetestuj jeszcze raz szkic steruj(cid:200)cy dzia(cid:239)aniem p(cid:239)ytki Arduino, wpisuj(cid:200)c polecenia bezpo(cid:258)rednio w przegl(cid:200)darce internetowej. Upewnij si(cid:218) te(cid:285), czy przeka(cid:283)niki s(cid:200) nadal pod(cid:239)(cid:200)czone do p(cid:239)ytki, tak samo jak by(cid:239)y podczas pisania wspomnianego szkicu. Pe(cid:239)ny kod interfejsu mo(cid:285)na pobra(cid:202) z serwera FTP zawieraj(cid:200)cego materia(cid:239)y dodatkowe do ksi(cid:200)(cid:285)ki. Opisanego tu interfejsu mo(cid:285)esz u(cid:285)ywa(cid:202) równie(cid:285) za po(cid:258)rednictwem telefonu komórkowego lub tabletu — wystarczy, (cid:285)e znajdziesz w sieci nazw(cid:218) swojego komputera. Du(cid:285)o zale(cid:285)y od systemu operacyjnego, ale zwykle znajdziesz j(cid:200) w ustawieniach systemowych pod nag(cid:239)ów- kiem Ustawienia sieci lub podobnym. Przyk(cid:239)adowo w systemie OS X mój komputer by(cid:239) do- st(cid:218)pny pod nazw(cid:200) macbookpro.local. W systemie Windows znajdziesz odpowiedni(cid:200) opcj(cid:218), 36 Poleć książkęKup książkę Rozdzia(cid:225) 2. • Sterowanie o(cid:286)wietleniem za pomoc(cid:261) smartfona lub tabletu wybieraj(cid:200)c kolejno Panel sterowania/Sie(cid:202) i Internet/Wy(cid:258)wietl stan sieci i zadania. Je(cid:258)li u(cid:285)ywasz Linuksa, mo(cid:285)esz po prostu wpisa(cid:202) w terminalu nazw(cid:218) hosta. Po wskazaniu nazwy komputera w urz(cid:200)dzeniu przeno(cid:258)nym b(cid:218)dziesz móg(cid:239) przej(cid:258)(cid:202) bezpo(cid:258)rednio do folderu z plikami interfejsu. Samo pos(cid:239)ugiwanie si(cid:218) nim b(cid:218)dzie wygl(cid:200)da(cid:239)o tak samo jak na komputerze. Poni(cid:285)ej zamie(cid:258)ci(cid:239)em rysunek pokazuj(cid:200)cy, jak ten interfejs wygl(cid:200)da w smartfonie. Podsumowanie Podsumujmy teraz to, co zrobili(cid:258)my w ramach drugiego projektu. Otó(cid:285) zbudowali(cid:258)my system bezprzewodowego sterowania przeka(cid:283)nikami za pomoc(cid:200) komputera lub urz(cid:200)dzenia mobilne- go. System dzia(cid:239)a tak samo jak te kupowane w sklepach, ale jego zalet(cid:200) jest to, (cid:285)e w ka(cid:285)dej chwili mo(cid:285)esz go (cid:239)atwo dostosowa(cid:202) do swoich potrzeb. Wa(cid:285)ne jest równie(cid:285) to, (cid:285)e do sterowania tym systemem nie musisz mie(cid:202) kolejnego pilota — wystarczy, (cid:285)e si(cid:218)gniesz po swój smartfon. Zobaczmy jeszcze raz w skrócie, jak przebiega(cid:239)a realizacja tego projektu. Najpierw zgroma- dzili(cid:258)my komponenty niezb(cid:218)dne do zbudowania systemu, w tym modu(cid:239)y przeka(cid:283)nikowe po- trzebne do w(cid:239)(cid:200)czania i wy(cid:239)(cid:200)czania sterowanych urz(cid:200)dze(cid:241). Przygotowali(cid:258)my równie(cid:285) chip Wi-Fi, aby móc po(cid:239)(cid:200)czy(cid:202) wszystko z lokaln(cid:200) sieci(cid:200) internetow(cid:200). Nast(cid:218)pnie zmontowali(cid:258)my ca(cid:239)y uk(cid:239)ad steruj(cid:200)cy i pod(cid:239)(cid:200)czyli(cid:258)my do niego lamp(cid:218) biurkow(cid:200), aby sterowa(cid:202) ni(cid:200) poprzez (cid:239)(cid:200)cze Wi-Fi. Potem napisali(cid:258)my odpowiednie szkice dla platformy Arduino, które umo(cid:285)liwi(cid:239)y nam spraw- dzenie poprawno(cid:258)ci dzia(cid:239)ania poszczególnych modu(cid:239)ów przeka(cid:283)nikowych oraz skuteczno(cid:258)ci po(cid:239)(cid:200)czenia systemu z sieci(cid:200) Wi-Fi. 37 Poleć książkęKup książkę Arduino. Automatyka domowa dla ka(cid:298)dego Na koniec zbudowali(cid:258)my interfejs internetowy w celu u(cid:239)atwienia sterowania urz(cid:200)dzeniami pod(cid:239)(cid:200)czonymi do systemu. Interfejs zosta(cid:239) zbudowany w oparciu o standardy internetowe, takie jak HTML czy JavaScript, a zatem mo(cid:285)na go u(cid:285)ywa(cid:202) na ka(cid:285)dym urz(cid:200)dzeniu mog(cid:200)cym si(cid:218) po(cid:239)(cid:200)czy(cid:202) z sieci(cid:200) Wi-Fi i umo(cid:285)liwiaj(cid:200)cym skorzystanie z przegl(cid:200)darki internetowej. Je(cid:258)li chcesz sterowa(cid:202) o(cid:258)wietleniem w kilku pokojach, bez problemu mo(cid:285)esz do(cid:239)o(cid:285)y(cid:202) kolejne p(cid:239)ytki Arduino, ale ka(cid:285)dej z nich b(cid:218)dziesz musia(cid:239) przypisa(cid:202) inn(cid:200), unikatow(cid:200) nazw(cid:218), np. ardu- ino1.local, arduino2.local itd. Oczywi(cid:258)cie b(cid:218)dziesz te(cid:285) musia(cid:239) odpowiednio przerobi(cid:202) kod po stronie serwera. 38 Poleć książkęKup książkę Skorowidz COM (wspólny), 83 cURL, 36 czujnik ACS712, 67, 72 DHT11 z rezystorem, 41, 54 DHT22, 45 PIR, 14, 17 pomiarowy pr(cid:200)du, 67 ruchu, 13, 14 D E F delay(), 96 DHT, 42 DHT11, 41, 54 DHT22, 45, 54 dioda LED, 93, 95 EAGLE, 97 Fab Lab, 106 fotokomórka, 55 funkcja setup(), 18, 19 delay(), 96 parseJSON(), 21 ACS712, 67, 72 Adafruit, 27, 40 Adafruit CC3000, 54 Arduino, 13, 14, 17 IDE, 55 Mega, 40, 54 Micro, 81 Mini, 81 Uno, 23, 26, 92 Uno R3, 28, 41, 54, 67 A B aREST, 15, 19, 28 ATmega328, 94 Autorouter, 100 biblioteka aREST, 15, 19, 28, 82 DHT, 42, 45, 55 JeeLib, 93, 96 jQuery, 21 Bluefruit EZ-Link, 40 Bluetooth, 39 Bluetooth Bluefruit EZ-Link, 41 C CC3000, 27, 32, 54 CLK, 29 Poleć książkęKup książkę Skorowidz graficzny interfejs, 13 G H HTML, 86 I instrukcja digitalRead(), 18 internet przedmiotów, 53 JavaScript, 86 JeeLib, 93, 96 j(cid:218)zyku Python, 39 jQuery, 21 J K klucz API, 58 kondensator, 41, 92 konwerter USB dla modu(cid:239)u XBee, 14 L loop(), 18 (cid:146) (cid:239)(cid:200)czenie podzespo(cid:239)ów, 55 M mDNS, 33 MISO, 29 modu(cid:239) MOSI, 29 MySQL, 51 Bluetooth Bluefruit EZ-Link, 41 radiowy, 13 Wi-Fi CC3000, 28, 54, 67 XBee, 13, 14, 17 110 N nak(cid:239)adka XBee, 14 NC (normalnie zwarty), 83 NO (normalnie otwarty), 83 OpenSCAD, 103 OSH Park, 101 O P parseJSON(), 21 PCB — printed circuit board, 93 Personal Area Network, 20 p(cid:218)tla loop(), 18 PHP, 86 pin CLK, 29 GND, 29, 43 IRQ, 29 MISO, 29 MOSI, 29 SIG, 30 p(cid:239)ytka Arduino Uno R3, 14, 41, 54, 67 Arduino Uno, 14, 23, 81, 92 Arduino, 17, 18 drukowana, 27, 93 stykowa, 28, 41, 55 TinyDuino, 82 TinyShield USB ICP, 82 Pololu, 26, 81, 82 po(cid:239)o(cid:285)enie DLINE, 16 UART, 20 program EAGLE, 97 program OpenSCAD, 103 protokó(cid:239) ZigBee, 13 przeka(cid:283)nik Pololu 5V, 28 przewody po(cid:239)(cid:200)czeniowe, 28, 41 pull up, 41 Python, 39, 42, 48 Poleć książkęKup książkę R REpresentational State Transfer, 19 rezonator kwarcowy, 93 rezystor, 93 podci(cid:200)gaj(cid:200)cy, 41 UART, 20 Uteadstudio, 101 S VBEN, 29 VIN, 29 SaaS, 19 Sculpteo, 106 Seeedstudio, 101 setup(), 18, 19 Shapeways, 105 SIG, 30 Software as a Service, 19 Sparkfun, 14 stacja pogodowa, 53 T testowanie dzia(cid:239)ania modu(cid:239)u, 13 ThingSpeak, 53, 54, 58 TinyCircuits, 81 TinyDuino, 82 TinyShield, 82 transfer stanu reprezentacji, 19 Skorowidz U V W X Z Wi-Fi CC3000, 67 XBee, 13, 14, 17, 92 zacisk COM (wspólny), 30 NC (normalnie zwarty), 30 NO (normalnie otwarty), 30 ZigBee, 13 111 Poleć książkęKup książkę Skorowidz 112 Poleć książkęKup książkę
Pobierz darmowy fragment (pdf)

Gdzie kupić całą publikację:

Arduino. Automatyka domowa dla każdego
Autor:

Opinie na temat publikacji:


Inne popularne pozycje z tej kategorii:


Czytaj również:


Prowadzisz stronę lub blog? Wstaw link do fragmentu tej książki i współpracuj z Cyfroteką: