Cyfroteka.pl

klikaj i czytaj online

Cyfro
Czytomierz
00336 006803 15696424 na godz. na dobę w sumie
Spraw, by rzeczy przemówiły. Programowanie urządzeń elektronicznych z wykorzystaniem Arduino - książka
Spraw, by rzeczy przemówiły. Programowanie urządzeń elektronicznych z wykorzystaniem Arduino - książka
Autor: Liczba stron: 462
Wydawca: Helion Język publikacji: polski
ISBN: 978-83-246-5012-5 Data wydania:
Lektor:
Kategoria: ebooki >> komputery i informatyka >> elektronika >> arduino
Porównaj ceny (książka, ebook, audiobook).

Zaprojektuj mikrokontrolery, komputery osobiste, serwery i smartfony tak, by komunikowały się ze sobą!

Ciężko nam w to uwierzyć, ale całkiem niedawno komputery były odizolowanymi jednostkami, niezdolnymi do komunikowania się między sobą. Dzisiaj potencjał samych komputerów, tabletów i telefonów połączonych w sieć jest oszałamiający. Budowanie projektów elektronicznych, które prowadzą interakcję ze światem fizycznym, to dobra zabawa. A kiedy urządzenia, które budujesz, zaczynają komunikować się między sobą, staje się to naprawdę interesujące. Trzydzieści trzy łatwe projekty z tej książki pokazują, jak sprawić, by Twoje gadżety komunikowały się z Tobą i Twoim środowiskiem. To idealna propozycja dla ludzi z niewielką wiedzą techniczną, ale dużym zainteresowaniem tematem!

Dzięki tej książce dowiesz się, jakie urządzenia i narzędzia będą Ci potrzebne, przygotujesz stanowisko pracy i rozpoczniesz tę niesłychaną przygodę! Na początek zbudujesz najprostszą sieć i prześlesz pierwsze komunikaty (także bezprzewodowo). W kolejnych rozdziałach zaczniesz konstruować coraz bardziej zaawansowane układy, poznasz szczegóły komunikacji bezprzewodowej, identyfikacji oraz lokalizacji. Twoją ciekawość powinien wzbudzić rozdział poświęcony umieszczaniu w sieci mikrokontrolerów. Ta możliwość daje Ci do ręki potężne narzędzie. Czy już wiesz, jak je wykorzystać?

Z odrobiną wiedzy o elektronice, niedrogimi zestawami mikrokontrolerów i modułami sieciowymi pozwalającymi im komunikować się ze sobą możesz od razu zacząć budowę tych projektów.

Zacznij eksperymentować i spraw, by rzeczy robiły to, czego chcesz!

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

Darmowy fragment publikacji:

Tytuł oryginalny: Making Things Talk: Using Sensors, Networks, and Arduino to see, hear, and feel your world Tłumaczenie: Joanna Celej-Kobalczyk ISBN: 978-83-246-5012-5 © 2013 Helion S.A. Authorized Polish translation of the English edition of Making Things Talk, 2 nd Edition ISBN 9781449392437 © 2011 O’Reilly Media, Inc. This translation is published and sold by permission of O’Reilly Media, Inc., which owns or controls all rights to publish and sell the same. 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. Wydawnictwo HELION dołożyło wszelkich starań, by zawarte w tej książce informacje były kompletne i rzetelne. Nie bierze jednak żadnej odpowiedzialności ani za ich wykorzystanie, ani za związane z tym ewentualne naruszenie praw patentowych lub autorskich. Wydawnictwo HELION nie ponosi 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/sprawb.zip Drogi Czytelniku! Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres http://helion.pl/user/opinie/sprawb 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ści Wstęp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .vii Do kogo skierowana jest ta książka? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viii Co powinieneś wiedzieć? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .ix Zawartość niniejszej książki. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .ix Gdzie kupić części? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . x Wykorzystanie przykładowego kodu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .xi Wykorzystanie przykładowych obwodów. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .xi Podziękowania do pierwszego wydania. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xii Uwagi do drugiego wydania . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiv Rozdział 1: Narzędzia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Zaczyna się od tego, czego dotykasz. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Wszystko sprowadza się do impulsów. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Komputery wszelkich kształtów i rozmiarów . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Dobre nawyki . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Narzędzia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Korzystanie z wiersza poleceń . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Korzystanie z oscyloskopu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 Kończy się na tym, czego dotykasz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 Rozdział 2: Najprostsza sieć . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 Zaopatrzenie do rozdziału 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 Warstwy porozumienia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 Nawiązywanie połączenia: niższe warstwy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 Komunikacja: warstwa aplikacji. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 Projekt 1. Napisz jaśniej . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 Skomplikowane rozmowy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 Projekt 2. Monski Pong . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 Sterowanie przepływem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 Projekt 3. Bezprzewodowy Monski Pong . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 Projekt 4. Negocjacje w Bluetooth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 Podsumowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 Rozdział 3: Sieć o większej złożoności . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 Zaopatrzenie do rozdziału 3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 Mapy i adresy sieci . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 Klienci, serwery i protokoły transmisji . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 Projekt 5. Sieciowy kot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 Podsumowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 iv SPRAW, BY RZECZY PRZEMÓWIŁY Rozdział 4: Patrz, mamo, nie ma komputera! Mikrokontrolery w Internecie . . . . . . . . . . . . . . . . . . . . 115 Zaopatrzenie do rozdziału 4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 Wprowadzenie do modułów sieciowych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 Projekt 6. Witaj, Internecie! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 Wbudowana aplikacja klienta sieciowego . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 Projekt 7. Sieciowy wskaźnik stanu zanieczyszczenia powietrza . . . . . . . . . . . . . . . . . . . . . . . . . . 127 Narzędzia do programowania i rozwiązywania problemów dedykowane dla modułów wbudowanych . . . 140 Podsumowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 Rozdział 5: Komunikacja w czasie (prawie) rzeczywistym . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 Zaopatrzenie do rozdziału 5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 Systemy interaktywne i pętle sprzężenia zwrotnego . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 Protokół TCP — gniazda i sesje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 Projekt 8. Sieciowy Pong . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 Klienci . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 Podsumowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 Rozdział 6: Komunikacja bezprzewodowa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 Zaopatrzenie do rozdziału 6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182 Dlaczego nie wszystko jest bezprzewodowe? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184 Podstawowe media sieci bezprzewodowej: podczerwień i radio . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 Projekt 9. Sterownik na podczerwień do cyfrowego aparatu fotograficznego . . . . . . . . . . . . . . . . . . 188 Jak działa radio? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190 Projekt 10. Dupleksowa transmisja radiowa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193 Projekt 11. Radia Bluetooth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206 Zakup radia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216 A co z Wi-Fi?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216 Projekt 12. Witaj, Wi-Fi! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217 Podsumowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220 Rozdział 7: Sieci bezsesyjne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223 Zaopatrzenie do rozdziału 7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224 Sesje kontra wiadomości . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226 Halo! Kto tam? Wiadomości rozgłaszane. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227 Projekt 13. Raportowanie toksycznych chemikaliów w warsztacie. . . . . . . . . . . . . . . . . . . . . . . . . 232 Wiadomości skierowane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246 Projekt 14. Bezprzewodowe przekazywanie danych z ogniwa słonecznego. . . . . . . . . . . . . . . . . . . 248 Podsumowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258 Rozdział 8: Jak zlokalizować (prawie) wszystko . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261 Zaopatrzenie do rozdziału 8. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262 Lokalizacja sieciowa a lokalizacja fizyczna . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264 Określanie odległości . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267 Projekt 15. Przykład czujnika odległości na podczerwień . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268 Projekt 16. Przykład ultradźwiękowego czujnika odległości . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270 Projekt 17. Odczyt siły otrzymanego sygnału przy użyciu radioodbiorników XBee . . . . . . . . . . . . . . 273 Projekt 18. Odczyt siły otrzymanego sygnału przy użyciu radioodbiorników Bluetooth . . . . . . . . . . . 276 Określanie pozycji poprzez trilaterację . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277 Projekt 19. Odczyt protokołu szeregowego GPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278 SPIS tREśCI v Określanie orientacji . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286 Projekt 20. Określanie kierunku przy użyciu cyfrowego kompasu . . . . . . . . . . . . . . . . . . . . . . . . . 286 Projekt 21. Określenie postawy przy użyciu akcelerometru. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290 Podsumowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299 Rozdział 9: Identyfikacja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301 Zaopatrzenie do rozdziału 9. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302 Identyfikacja fizyczna . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304 Projekt 22. Rozpoznawanie kolorów przy użyciu kamery internetowej . . . . . . . . . . . . . . . . . . . . . . 306 Projekt 23. Rozpoznawanie twarzy przy użyciu kamerki internetowej . . . . . . . . . . . . . . . . . . . . . . 310 Projekt 24. Rozpoznawanie kodów kreskowych 2D przy użyciu kamery internetowej. . . . . . . . . . . . 313 Projekt 25. Odczyt znaczników RFID w Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318 Projekt 26. RFID przy automatyzacji domu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321 Projekt 27. Tweetuj z RFID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329 Identyfikacja w sieci . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353 Projekt 28. Geokodowanie IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355 Podsumowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360 Rozdział 10: Sieci telefonii komórkowej a świat fizyczny . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363 Zaopatrzenie do rozdziału 10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364 Jedna wielka sieć. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366 Projekt 29. CatCam Redux. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369 Zapisywanie na karcie SD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376 Projekt 30. Zadzwoń na termostat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386 Interfejsy wiadomości tekstowych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393 Natywne aplikacje dla telefonów komórkowych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396 Projekt 31. Osobisty przenośny rejestrator danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401 Podsumowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415 Rozdział 11: Powtórka z protokołów . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417 Zaopatrzenie do rozdziału 11. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 418 Tworzenie połączeń . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419 Tekstowy czy binarny? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422 MIDI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425 Projekt 32. Zabawa z MIDI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427 Representational State Transfer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435 Projekt 33. Zabawa z REST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437 Podsumowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440 Dodatek . Gdzie można kupić części? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443 Zaopatrzenie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444 Sprzęt. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . 447 Dostawcy w Polsce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452 Oprogramowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453 Skorowidz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455 6 Komunikacja bezprzewodowa Jeśli, jak większość osób, jesteś zainteresowany tą dziedziną, to czytając wcześniejsze rozdziały, zastanawiałeś się zapewne: „A co z sieciami bezprzewodowymi?”. Być może jesteś tak gorliwy, że przeskoczyłeś prosto do tego rozdziału. Jeśli tak zrobiłeś, wróć i przeczytaj resztę książki! Szczególnie jeśli nie jesteś zaznajomiony z komunikacją szeregową pomiędzy komputerami a mikrokontrolerami, powinieneś przeczytać wcześniej rozdział 2. Niniejszy rozdział wyjaśnia podstawy komunikacji bezprzewodowej pomiędzy obiektami. Dowiesz się w nim o dwóch typach komunikacji bezprzewodowej, a następnie zbudujesz kilka działających przykładów.  Zygoty Alexa Beima (www.tangibleinteraction.com) to lekkie, dmuchane gumowe kule rozświetlone przez światło LED. Kule zmieniają kolor w reakcji na zmianę ciśnienia na ich powierzchni i używają radia ZigBee do komunikacji z centralnym komputerem. Sieć zygot na koncercie sprawia, że odbiorcy mają bezpośredni wpływ nie tylko na same kule, ale także na muzykę i projekcje wideo, z którymi są one połączone w sieć. Zdjęcie zamieszczamy dzięki uprzejmości Alexa Beima. 182 SPRAW, BY RZECZY PRZEMÓWIŁY Zaopatrzenie do rozdziału 6. OZnAcZeniA dOstAwców: • A — Arduino Store (http://store.arduino.cc/ww) • AF — Adafruit (http://adafruit.com) • D — Digi-Key (www.digikey.com) • F — Farnell (www.farnell.com) • J — Jameco (http://jameco.com) • MS — Maker SHED (www.makershed.com) • RS — RS (www.rs-online.com) • SF — SparkFun (www.sparkfun.com) • SS — Seeed Studio (www.seeedstudio.com) PROJEKT 9. Sterownik na podczerwień do cyfrowego aparatu fotograficznego » 1 moduł Arduino. Arduino Uno lub coś, co bazuje na Arduino Uno, ale projekt powinien działać również na innych płytkach Arduino i zgodnych z Arduino. d 1050- 1019-ND, J 2121105, SF DEV-09950, A A000046, AF 50, F 1848687, RS 715-4081, ss ARD132D2P, MS MKSP41 » 1 dioda LED na podczerwień. J 106526, SF COM- 09469, F 1716710, RS 577-538, ss MTR102A2B » 1 przycisk. Można zastosować dowolny przycisk. d GH1344-ND, J 315432, SF COM-10302, F 1634684, RS 718-2213 » 1 opornik 220 Ω. d 220QBK-ND, J 690700, F 9337792, RS 707-8842 » 1 opornik 10 kΩ. d 10KQBK-ND, J 29911, F 9337687, RS 707-8906 » 1 płytka stykowa. d 438-1045-ND, J 20723 lub 20601, SF PRT-00137, F 4692810, AF 64, ss STR101C2M lub STR102C2M, MS MKKN21 PROJEKT 10. Dupleksowa transmisja radiowa » 2 płytki stykowe. d 438-1045-ND, J 20723 lub 20601, SF PRT-00137, F 4692810, AF 64, ss STR101C2M lub STR102C2M Rysunek 6.1. Nowe części w tym rozdziale: 1. Tarcza bezprzewodowa Arduino 2. Płytka stykowa Spark Fun XBee 3. Gniazda do listew kołkowych 2 mm 4. Tarcza Arduino Wi-Fi 5. Moduł Digi XBee 802.15.4 OEM 6. Adapter Adafruit XBee na USB 7. Spark Fun XBee Explorer 8. Diody podczerwieni 9. Arduno Fio. Nie zapomnij o mnóstwie listew kołkowych do płyt z wyprowadzeniami dla układów scalonych KoMunIKACjA BEZPRZEWodoWA 183 » 2 moduły Arduino. Modele Arduino Fios świetnie spraw- dzają się we współpracy z XBee, ale projekt powinien działać również na innych płytkach zgodnych z Uno. SF DEV-10116 » 2 moduły RF Digi XBee 802.15.4. J 2113375, SF WRL-08664, AF 128, F 1546394, ss WLS113A4M, MS MKAD14 » 2 tarcze bezprzewodowe Arduino. Możesz nie używać tarcz i zamiast tego użyć części wymienionych poniżej. A A000064 lub A000065. Tarcze alternatywne: SF WRL-09976, AF 126, F 1848697, RS 696-1670, ss WLS114A0P » 2 diody LED. D 160-1144-ND lub 160-1665-ND, J 34761 lub 94511, F 1015878, RS 247-1662 lub 826-830, SF COM-09592 lub COM-09590 » 2 potencjometry. Można zastosować dowolny sensor analogowy. J 29082, SF COM-09939, F 350072, RS 522-0625 » 2 przyciski. Można zastosować dowolne. d GH1344- ND, J 315432, SF COM-10302, F 1634684, RS 718- 2213 » 2 oporniki 220 Ω. d 220QBK-ND, J 690700, F 9337792, RS 707-8842 » 2 oporniki 10 kΩ. d 10KQBK-ND, J 29911, » 2 potencjometry. J 29082, SF COM-09939, F 350072, F 9337687, RS 707-8906 RS 522-0625 » 1 adapter USB-XBee. Poniższe części są niezbędne, jeśli nie używasz tarcz bezprzewodowych. J 32400, SF WRL- 08687, AF 247 » 2 regulatory napięcia 3,3V. J 242115, d 576-1134- ND, SF COM-00526, F 1703357, RS 534-3021 » 2 kondensatory 1μF. J 94161, d P10312-ND, F 8126933, RS 475-9009 » 2 kondensatory 10μF. J 29891, d P11212-ND, F 1144605, RS 715-1638 » 2 płytki z wyprowadzeniami dla XBee. J 32403, SF BOB-08276, AF 127 » 4 listwy kołkowe z rozstawem 2,54 mm. J 103377, d A26509-20ND, SF PRT-00116, F 1593411 » 4 gniazda do listew kołkowych 2 mm. J 2037747, d 3M9406-ND, F 1776193 » 6 diod LED. d 160-1144-ND lub 160-1665-ND, J 34761 lub 94511, F 1015878, RS 247-1662 lub 826-830, SF COM-09592 lub COM-09590 PROJEKT 11. Radiostacje Bluetooth » 2 moduły Arduino. Wybierz coś, co bazuje na Arduino Uno, ale projekt powinien działać również na innych płyt- kach Arduino i zgodnych z Arduino. d 1050-1019-ND, J 2121105, SF DEV-09950, A A000046, AF 50, F 1848687, RS 715-4081, ss ARD132D2P, MS MKSP4 » 2 płytki stykowe. d 438-1045-ND, J 20723 lub 20601, SF PRT-00137, F 4692810, AF 64, ss STR101C2M lub STR102C2M » 1 adapter FTDI łącza szeregowego na USB. Obie wersje — zarówno 5 V, jak i 3,3 V — będą działać; są produko- wane jako przewody lub osobne moduły. SF DEV-09718 lub DEV-09716, AF 70, A A000059, MS MKAD22, ss PRO101D2P, d TTL-232R-3V3 lub TTL-232R-5V » 2 moduły Bluetooth Mate. SF WRL-09358 lub WRL- 10393 PROJEKT 12. Witaj, Wi-Fi! » 1 tarcza Arduino Wi-Fi. A A000058 » 1 moduł Arduino. Wybierz coś, co bazuje na Arduino Uno, ale projekt powinien działać również na innych płytkach Arduino i zgodnych z Arduino. d 1050-1019- ND, J 2121105, SF DEV-09950, A A000046, AF 50, F 1848687, RS 715-4081, ss ARD132D2P, MS MKSP41 » 1 połączenie Wi-Fi Ethernet z Internetem. » 3 oporniki 10 kΩ. d 10KQBK-ND, J 29911, F 9337687, RS 707-8906 » 3 fotorezystory (oporniki światłoczułe). d PDVP9200-ND, J 202403, SF SEN-09088, F 7482280, RS 234-1050 » 1 płytka stykowa. d 438-1045-ND, J 20723 lub 20601, SF PRT-00137, F 4692810, AF 64, ss STR101C2M lub STR102C2M1, MS MKKN2 » 3 filtry oświetlenia. Jeden podstawowy czerwony, jeden podstawowy zielony i jeden podstawowy niebieski. Dostępne u lokalnych dostawców sprzętu oświetleniowego lub fotograficznego. 184 SPRAW, BY RZECZY PRZEMÓWIŁY Początkowa część niniejszego rozdziału opisuje sposób działania sieci bezprzewodowej, dając Ci pewne podsta- wy i punkty odniesienia do rozwiązywania problemów. Druga połowa rozdziału zawiera przykłady. Temat jest tak szeroki, że nawet pobieżny przegląd kilku różnych urządzeń dotyka jedynie wierzchołka góry lodowej. Z tego powodu ćwiczenia w niniejszym rozdziale nie będą w pełni dopracowanymi aplikacjami tak jak w poprzed- nich. Zamiast tego po prostu otrzymasz przykład z pod- stawowym „Witaj, świecie!” dla kilku rodzajów urządzeń bezprzewodowych. X dlaczego nie wszystko jest bezprzewodowe? Zaleta komunikacji bezprzewodowej wydaje się oczywista: brak kabli! Powoduje to, że konstrukcja fizyczna jest znacznie prostsza dla każdego projektu, gdzie urządzenia muszą się przemieszczać i komunikować ze sobą. Ubrania z systemami czujników, cyfrowe instrumenty muzyczne i zdalnie sterowane pojazdy mają uproszczoną konstrukcję fizyczną dzięki komunikacji bezprzewodowej. Jednak istnieją pewne ograniczenia komunikacji bezprzewodowej, które trzeba rozważyć przed jej zastosowaniem. Komunikacja bezprzewodowa nigdy nie jest tak niezawodna jak komunikacja przewodowa Masz mniejszą kontrolę nad źródłami zakłóceń. Można ochronić i osłonić przewód odpowiadający za komuni- kację danych, ale nigdy nie da się całkowicie zaizolować bezprzewodowych łączy radiowych lub podczerwonych. Zawsze będzie jakaś forma interferencji, więc musisz mieć pewność, że wszystkie urządzenia w systemie wiedzą, co zrobić, kiedy otrzymają zniekształcony komunikat (lub w ogóle go nie otrzymają) od swoich odpowiedników. Komunikacja bezprzewodowa nigdy nie jest komunikacją tylko jeden do jednego Urządzenia radiowe i na podczerwień emitują sygnały w taki sposób, że wszyscy mogą je usłyszeć. Czasami oznacza to kolizję z komunikacją między innymi urządze- niami. Na przykład: Bluetooth, większość radioodbiorni- ków Wi-Fi (802.11b, g i n) oraz radioodbiorniki ZigBee (802.15.4) pracują na tym samym zakresie częstotliwości: 2,4 GHz (802.11n będzie również działać na 5 GHz). Są zaprojektowane tak, aby nie powodować wzajemnie nadmiernych zakłóceń, ale jeśli masz dużą liczbę radio- odbiorników ZigBee pracujących w tej samej przestrzeni co bardzo aktywna sieć Wi-Fi, pojawią się zakłócenia. jest „tajemniczy błąd radiowy”. Wiele odbiorników ra- diowych zużywa dodatkową energię podczas transmisji. Powoduje to niewielki spadek napięcia źródła zasilania. Jeśli radio nie ma kondensatora oddzielającego zasilanie i masę, napięcie może spaść do tak niskiego poziomu, że zresetuje radio. Może to wyglądać tak, że radio będzie działać normalnie, kiedy wysyłasz do niego wia- domości szeregowo, ale nigdy nie będzie transmitować i nie będzie wiadomo, dlaczego tak się dzieje. Podczas tworzenia projektów sieci bezprzewodowej warto naj- pierw upewnić się, że komunikacja działa prawidłowo z wykorzystaniem podłączonego zasilacza stabilizowa- nego, a następnie stworzyć stabilne zasilanie bateryjne. Komunikacja bezprzewodowa generuje promieniowanie elektromagnetyczne Można łatwo o tym zapomnieć, ale radio, którego uży- wasz, emituje energię elektromagnetyczną. Taka sama energia, jaka gotuje Twoje jedzenie w kuchence mikro- falowej, wysyła Twoje pliki MP3 w Internecie. I chociaż istnieje wiele badań wykazujących, że jest to bezpieczne na niskim poziomie operacyjnym używanych tutaj od- biorników radiowych, po co zwiększać szum w eterze, jeśli nie ma takiej potrzeby? Komunikacja bezprzewodowa nie oznacza zasilania bezprzewodowego Nadal musisz dostarczyć energię do urządzeń i jeśli przemieszczają się, to oznacza, że będą potrzebne bate- rie. Baterie zwiększają ciężar urządzenia i nie są wiecz- ne. Awaria baterii podczas testowania projektu może spowodować wszelkiego rodzaju błędy, które mógłbyś przypisać do innych przyczyn. Klasycznym przykładem Najpierw zrób wersję przewodową Omówione tutaj radio i urządzenia nadawczo-odbiorcze na podczerwień zastępują komunikację przewodową używaną w poprzednich rozdziałach. Zanim podejmiesz decyzję o dodaniu sieci bezprzewodowej do dowolnej aplikacji, wpierw upewnij się, że możliwa jest podsta- wowa wymiana wiadomości pomiędzy urządzeniami komunikującymi się przewodowo. KoMunIKACjA BEZPRZEWodoWA 185 Podstawowe media sieci bezprzewodowej: podczerwień i radio W życiu codziennym większość ludzi styka się z dwoma głównymi typami komunikacji bezprzewodowej: komunikacją z użyciem światła podczerwonego i komunikacją radiową. Główną różnicą pomiędzy nimi, z punktu widzenia użytkownika lub programisty, jest ich kierunkowość (ang. directionality). Piloty do zdalnego sterowania telewizorem zazwyczaj korzystają z komunikacji w podczerwieni (IR). W przeci- wieństwie do radia, jest ona zależna od wzajemnego poło- żenia nadajnika i odbiornika. Musi istnieć nieprzesłonięta niczym przestrzeń pomiędzy obydwoma. Czasami IR może działać przez odbicie wiązki od innej powierzchni, ale nie jest to niezawodne. Ostatecznie odbiornik jest urządze- niem optycznym, więc musi „widzieć” sygnał. Piloty do otwierania drzwi samochodu, telefony komórkowe, zdalne sterowanie drzwi garażowych i wiele innych urządzeń korzysta z radia. Działają niezależnie od tego, czy nadajnik i odbiornik są skierowane ku sobie. W niektórych przypad- kach mogą nawet działać przez ściany. Innymi słowy ich transmisja jest wielokierunkowa (ang. omnidirectional). Ogólnie IR jest stosowane do aplikacji bliskiego zasięgu w linii wzroku, a radio jest używane do wszystkich innych zadań (rysunek 6.2 ilustruje tę różnicę). nadajniki, odbiorniki i urządzenia nadawczo-odbiorcze Istnieją trzy typy urządzeń wspólnych dla systemów IR i RF: nadajniki (ang. transmitters), które wysyłają sygnał, lecz nie mogą go odebrać, odbiorniki (ang. receivers), któ- re odbierają sygnał, lecz nie mogą wysyłać, i urządzenia nadawczo-odbiorcze (ang. transceivers), które mogą robić obie te rzeczy. Być może zastanawiasz się, dlaczego nie wszystko jest urządzeniem nadawczo-odbiorczym, skoro jest to najbardziej elastyczne urządzenie. Zbudowanie urządzenia nadawczo-odbiorczego jest zadaniem bardziej złożonym niż zbudowanie jednego z dwóch pozostałych. W przypadku urządzenia nadawczo-odbiorczego musisz upewnić się, że odbiornik nie odbiera transmisji swojego nadajnika i że nie będą się one wzajemnie zakłócać i nie będą słuchać innych urządzeń. Dla wielu zastosowań taniej jest użyć pary nadajnik-odbiornik i obsługiwać błędy po prostu przez wielokrotne przekazywanie wiadomości, aż odbiornik ją odbierze. Tak działa na przykład zdalne sterowanie telewizorem. To sprawia, że komponenty są dużo tańsze. Rysunek 6.2. Sygnał z diody LED (po lewej) emanuje na zewnątrz w wiązce promie- niowania LED, podczas gdy sygnał anteny radiowej, tak jak w radiu XBee (po prawej), promieniuje w wielu kierunkach Coraz częściej aplikacje radiowe są budowane po prostu na urządzeniach nadawczo-odbiorczych i dołącza się mikrokontroler do zarządzania filtrowaniem nadajnika i od- biornika. Wszystkie radia Bluetooth, ZigBee i Wi-Fi pracują w ten sposób. Jednak nadal możliwe jest zakupienie pary nadajnik-odbiornik radiowy i są one tańsze od odpowiada- jącego im urządzenia nadawczo-odbiorczego. Pamiętaj o rozróżnieniu pomiędzy parą nadajnik-odbiornik a urządzeniem nadawczo-odbiorczym podczas planowania swoich projektów i podczas robienia zakupów. Rozważ, czy komunikacja w Twoim projekcie musi być dwukierun- kowa, czy może tylko jednokierunkowa. Jeśli jest jedno- kierunkowa, zadaj sobie pytanie, co się stanie, jeśli ko- munikacja nie powiedzie się. Czy odbiornik może działać bez pytania o wyjaśnienie? Czy można rozwiązać problem poprzez wielokrotne nadawanie do momentu otrzymania wiadomości? Jeśli odpowiedź na to pytanie brzmi „tak”, to możesz spróbować użyć pary nadajnik-odbiornik i zaosz- czędzić trochę pieniędzy. 186 SPRAW, BY RZECZY PRZEMÓWIŁY jak działa podczerwień? Komunikacja IR działa przez wysyłanie w wyznaczonych odstępach czasowych impulsów diody IR LED i odbiera- nie impulsów przy użyciu fotodiody IR. Jest to po prostu komunikacja szeregowa przekazywana z wykorzystaniem podczerwieni. Ponieważ istnieje wiele powszechnych źródeł światła IR (słońce, żarówki żarowe, inne źródła ciepła), konieczne jest odróżnienie sygnału danych IR od innych źródeł energii IR. Aby to zrobić, szeregowe wyjście jest wysyłane do oscylatora przed wysłaniem go do wyjścia LED. Fala utworzona przez oscylator, nazywana falą nośną (ang. carrier wave), to regularne impulsy modulowane przez impulsy sygnału danych. Odbiornik odbiera całość światła IR, ale odfiltrowuje wszystko, co nie wibruje na częstotliwości nośnej. Następnie odfiltrowuje się częstotli- wość nośną, więc wszystko, co pozostaje, jest sygnałem danych. Metoda ta pozwala na transmitowanie danych przy użyciu podczerwieni bez ryzyka zakłóceń z innych źródeł światła IR — chyba że zdarzy się, że oscylują z taką samą częstotliwością jak Twoja fala nośna. Kierunkowa natura podczerwieni czyni ją bardziej ograni- czoną, ale jest tańsza niż radio i wymaga mniej energii. Ponieważ transfer drogą radiową staje się coraz tańszy, a jego zasilanie jest bardziej niezawodne, coraz trudniej znaleźć komputer z portem IR. Jednak nadal jest to roz- wiązanie zarówno opłacalne, jak i efektywne w zużyciu energii dla aplikacji zdalnego sterowania, w których nadawca i odbiorca znajdują się w linii wzroku. Protokoły danych dla pilotów zdalnego sterowania IR w większości domowej elektroniki różnią się w zależności od producenta. Aby je zdekodować, musisz znać częstotliwość nośną i strukturę wiadomości. Większość komercyjnych urządzeń zdalnego sterowania IR działa z użyciem fali no- śnej pomiędzy 38 a 40 kHz. Częstotliwość fali nośnej ogra- nicza prędkość, z jaką można wysyłać dane na tej fali, więc transmisja IR zwykle odbywa się z niską prędkością danych, zazwyczaj między 500 a 2000 bitów na sekundę. Nie jest to doskonałe rozwiązanie do przesyłania dużych ilości da- nych, ale jeśli wysyłasz tylko wartości kilku przycisków na pilocie, to jest to akceptowalne. W odróżnieniu od protoko- łów szeregowych, które widziałeś dotychczas w tej książce, nie wszystkie protokoły IR używają 8-bitowego formatu danych. Na przykład protokół Sony Control-S ma trzy for- maty: 12 bitów, 15 bitów i 20 bitów. Format Philips RC5, popularny w wielu pilotach, używa formatu 14-bitowego. jak zobaczyć podczerwień? Istnieją dwa narzędzia, które są naprawdę przydatne podczas pracy z nadajnikami i odbiornikami IR: aparat fotograficzny i oscyloskop. Nawet jeśli Ty nie możesz zobaczyć światła podczerwonego, aparat fotograficzny je widzi. Jeśli nie masz pewności, czy dioda IR LED działa, szybkim sposobem sprawdzenia jest zrobienie zdjęcia diody LED. Jeśli działa, na zdjęciu zobaczysz zaświeconą diodę. Rysunek 6.3 pokazuje diodę IR LED w domowym pilocie zdalnego sterowania, oglądaną przez kamerę internetową podłączoną do komputera. Ten efekt można nawet zobaczyć na wizjerze LCD aparatu cyfrowego. Jeśli próbujesz to zrobić ze swoją diodą IR LED, może być ko- nieczne wyłączenie świateł lub zasunięcie zasłon, aby można było zobaczyć efekt. Niektóre kamery internetowe mają wbudowany filtr IR, więc najpierw należy sprawdzić urządzenie IR, o którym wiesz, że działa, takie jak pilot do telewizora, zanim użyjesz kamery do sprawdzenia, czy działa Twój projekt.  Rysunek 6.3. Aparat fotograficzny jest przydatny podczas rozwiązywania problemów z projektami IR KoMunIKACjA BEZPRZEWodoWA 187 Jeśli musisz wysyłać lub odbierać sygnały pilotów zdal- nego sterowania, to zaoszczędzisz mnóstwo czasu, wy- bierając układ scalony modulatora IR, zamiast próbować odtworzyć protokół samodzielnie. Na szczęście istnieje wiele dobrych stron WWW, które wyjaśniają różne proto- koły. Reynolds Electronics (www.rentron.com) oferuje wiele pomocnych samouczków i sprzedaje mnóstwo przydat- nych modulatorów i demodulatorów IR. EPanorama ma szereg przydatnych linków opisujących wiele bardziej po- wszechnych protokołów IR na www.epanorama.net/links/ irremote.html. Istnieje również wiele bibliotek napisanych dla Arduino ułatwiających wysyłanie i odbieranie sygnałów IR dla różnych protokołów. Wiele z nich jest wymienionych na stronie Arduino pod adresem http://arduino.cc/playgro- und/Main/InterfacingWithHardware. W kolejnym projekcie zobaczysz działanie jednego z nich. Jeśli konstruujesz zarówno nadajnik, jak i odbiornik, za- danie jest dość proste. Wystarczy oscylator, za pomocą którego można przekazać dane szeregowo do diody pod- czerwonej LED, i odbiornik, który nasłuchuje fali nośnej i demoduluje sygnał danych. Można zbudować własny modulator IR przy użyciu układu scalonego czasomierza 555, ale równie dobrze można kupić szereg niedrogich modułów do modulacji lub demodulacji sygnału IR. X Podsłuchiwanie sygnałów w podczerwieni Gdy próbujesz odszyfrować sygnał IR, przydatny jest również oscyloskop (patrz rysunek 6.4). Być może nie znasz protokołu swojego odbiornika, ale możesz go rozpracować, obserwując przekazywany sygnał. Jeśli połączysz fototranzystor podczerwie- ni, opornik i zwykłą diodę LED szeregowo, tak jak pokazano na rysunku 6.5, to kiedy skierujesz pilot na fototranzystor, dioda LED powinna się zaświecić. Aby wyświetlić sygnał pilota na oscyloskopie, podłącz jego sondy do masy i emitera fototranzystora i włącz pilot skierowany na fototranzystor. Kiedy zaobserwujesz działanie, dopasuj podziałkę napięcia i czasu na oscyloskopie, aż zobaczysz czytelny odczyt aktywności. Większość oscyloskopów podpowie Ci częstotliwość sygnału automatycznie. Ustawienie oscyloskopu w tryb wyzwa- Bateria AA Bateria AA A B C D E F G H I J 1 5 10 15 20 1 5 10 15 20 220   Rysunek 6.5. Fototranzystor IR i dioda LED połączone szeregowo dobrze się sprawdzają przy testowaniu odbioru IR  Rysunek 6.4. Oscyloskop może Ci pomóc zaobserwować strukturę sygnału IR MATERIAły: » 1 płytka stykowa, » 1 opornik 220 Ω, » 1 fototranzystor Digi-Key nr części: 365-1068-ND, » 1 dioda LED, » 1 bateria lub źródło zasilania 5 V lub mniej, » 1 oscyloskop DSO Nano (pokazany tutaj). lacza jednokrotnego (ang. single-shot trigger mode) pomoże Ci przechwytywać rzeczywisty sygnał. Teraz, kiedy możesz zobaczyć impuls każdego sygnału w czasie, możesz odtworzyć go, generując własne impulsy na diodzie IR LED. Aby uzyskać więcej informacji na ten temat, zapoznaj się z którymś z doskonałych blogów, w któ- rych znajdziesz wiele zapisów na temat zdalnego sterowania IR przy użyciu Arduino. Na przykład przeczytaj bardzo dobre objaśnie- nie na blogu Kena Shirriffa pod adresem www.arcfn.com. 188 SPRAW, BY RZECZY PRZEMÓWIŁY Projekt 9. Sterownik na podczerwień do cyfrowego aparatu fotograficznego W tym przykładzie użyjemy diody LED na podczerwień i Arduino do sterowania cyfrowym aparatem fotograficznym. Jest to chyba najprostszy projekt sterowania IR, jaki można zrobić. MATERIAły: » 1 moduł Arduino, » 1 dioda LED na podczerwień, » 1 przycisk, » 1 opornik 220 Ω, » 1 opornik 10 kΩ, » 1 płytka stykowa lub tarcza prototypowa. Większość dostępnych na rynku cyfrowych aparatów SLR ma możliwość zdalnego sterowania przez podczerwień. Każda marka używa nieco innego protokołu, ale charaktery- zują je te same podstawowe polecenia: wyzwalacz migawki, wyzwalacz z opóźnieniem i ustawienie ostrości. Sebastian Setz jest autorem biblioteki Arduino, która pozwala wysy- łać sygnały do większości popularnych aparatów. Została przetestowana z aparatami Canon, Nikon, Olympus, Pentax i Sony. Jeśli masz aparat SLR którejkolwiek z tych marek, możesz nim sterować za pomocą tej biblioteki. Obwód dla tego projektu jest prosty. Połącz przycisk z pi- nem 4 mikrokontrolera (z opornikiem stanu niskiego 10 kΩ) i połącz diodę LED na podczerwień z pinem 3 mikrokon- trolera, tak jak pokazano na rysunku 6.6. Pobierz bibliotekę Multi Camera IR Control z http://seba- stian.setz.name/arduino/my-libraries/multi-camera-ir-con- trol i skopiuj ją do katalogu libraries (biblioteki) w katalo- gu szkiców Arduino. Jeśli nigdy wcześniej nie instalowałeś biblioteki, musisz utworzyć ten katalog. Kiedy już tam jest, ponownie uruchom aplikację Arduino, a nowa biblioteka po- winna być widoczna w menu Sketch/Import Library (szkic/ import biblioteki) pod nazwą MultiCameraIrControl. X AREF GND D13 D12 D11/PWM AREF GND D10/PWM D13 D9/PWM D12 D8 D11/PWM Moduł Arduino D10/PWM Reset +3,3 V +5 V Gnd Reset Gnd +3,3 V Vin +5 V Gnd Gnd Vin Analog0 Moduł Arduino A1 A2 Analog0 A3 A4 A1 A2 A5 A3 A4 A5 D9/PWM D7 D6/PWM D8 D5/PWM D7 D4 D6/PWM D3/PWM D5/PWM D2 D4 Digital1/TX D3/PWM +5 V Przycisk +5 V Przycisk 220  10 k Digital0/RX D2 Digital1/TX Digital0/RX IR LED 220  IR LED 10 k Rysunek 6.6. Mikrokontroler z dołączoną diodą IR LED i przyciskiem Wypróbuj Aby uruchomić szkic, zaimportuj bibliotekę MultiCameraIrControl. Zainicjuj bibliote- kę do przesyłania sygnałów na pinie 3, do którego podłączona jest dioda LED. Następnie skonfiguruj kilka zmiennych do śledzenia stanu przycisku. KoMunIKACjA BEZPRZEWodoWA 189 /* Sterowanie aparatem fotograficznym przez IR Kontekst: Arduino Ten szkic steruje aparatem cyfrowym za pomocą podczerwonej diody LED. */ // dołącz bibliotekę do sterowania kamerą: #include multiCameraIrControl.h const int pushButtonPin = 4; // ustaw pin 3 do sterowania diodą IR LED. // Zmień to ustawienie w zależności od marki aparatu fotograficznego: Nikon camera(3); // zmienne, które reprezentują: int buttonState = 0; // bieżący stan przycisku int lastButtonState = 0; // poprzedni stan przycisku Metoda setup inicjuje pin przycisku 8 jako wejście. void setup(){ // zainicjuj przycisk jako wejście: pinMode(pushButtonPin, INPUT); } 8 Główna pętla nasłuchuje, czy stan przycisku się zmienił. Ponieważ nie chcemy, żeby aparat robił zdjęcia przez cały czas, wyzwolimy go tylko wtedy, gdy przycisk zmienia stan z OFF na ON. Aby to zrobić, główna pętla porównuje stan przycisku ze stanem poprzednim, zacho- wując bieżący stan jako ostatni na końcu każdej pętli. Oto cały program. Teraz skieruj diodę LED na aparat fotograficzny i zacznij robić zdjęcia zdalnie. Może zajść potrze- ba przełączenia aparatu w tryb zdalnego sterowania. Sprawdź w instrukcji aparatu fotograficznego, jak to zrobić, ponieważ zależy to od aparatu. void loop(){ // odczytaj pin wejściowy przycisku: buttonState = digitalRead(pushButtonPin); // porównaj buttonState ze stanem poprzednim. // Jeśli został zmieniony i teraz jest wysoki, to // właśnie naciśnięto przycisk: if (buttonState != lastButtonState buttonState == HIGH) { // wyślij sygnał otwarcia migawki: camera.shutterNow(); } // zapisz bieżący stan jako ostatni stan, // dla następnej iteracji pętli lastButtonState = buttonState; } 190 SPRAW, BY RZECZY PRZEMÓWIŁY Rysunek 6.7. Ten interwalometr został zbudowany przy użyciu tych samych metod co powyżej. Arduino w pudełku wykrywa zmiany z czujnika PIR i wysyła sygnał IR do aparatu fotograficznego, aby zrobić zdjęcie A. czujnik PIR jak działa radio? Radio bazuje na właściwości elektrycznej o nazwie indukcja (ang. induction). Za każdym razem, kiedy zmienia się natężenie prądu elektrycznego w przewodzie, generowane jest odpowiadające mu pole magnetyczne, rozchodzące się od przewodu. To zmienne pole magnetyczne indukuje prąd elektryczny w innych przewodach będących w zasięgu pola. Częstotliwość pola magnetycznego jest równa częstotliwości prądu w oryginalnym przewodzie. Oznacza to, że jeśli chcesz wysłać sygnał bez przewodu, można wygenerować prąd zmienny z daną częstotliwością w jednym przewodzie i dołączyć obwód do wykrywania prądu zmiennego na tej częstotliwości do drugiego przewodu. Tak właśnie działa radio. Odległość przesyłania sygnału radiowego zależy od siły sygnału, czułości odbiornika, rodzaju anteny i wszelkich przeszkód, które blokują sygnał. Im silniejszy oryginalny prąd i bardziej wrażliwy odbiornik, tym dalej od siebie mogą być nadawca i odbiorca. Dwa przewody działają jako anteny. Dowolny przewodnik może być anteną, ale niektóre działają lepiej od innych. Długość i kształt an- teny oraz częstotliwość sygnału wpływają na transmisję. Projektowanie anteny jest samo w sobie odrębną gałęzią nauki, więc nie uda mi się tutaj zbyt wiele przekazać, ale zdroworozsądkowa zasada przy konstruowaniu anteny z prostego drutu jest następująca: Długość anteny = 5,616 cala / częstotliwość w MHz = 14,266.06 cm / częstotliwość w MHz Aby uzyskać więcej informacji, skonsultuj się ze specy- fikacją techniczną konkretnego radia, którego używasz. Instrukcje dotyczące wykonania dobrej anteny są zazwy- czaj podawane w dokumentacji radia. Transmisja radiowa: cyfrowa i analogowa Tak jak ze wszystkim innym w świecie mikrokontrolerów, ważne jest rozróżnienie pomiędzy cyfrową a analogową transmisją radiową. W analogowych radiach analogowy KoMunIKACjA BEZPRZEWodoWA 191 sygnał elektryczny, taki jak sygnał audio, jest nakładany na częstotliwości radiowe — i w ten sposób transmitowany. Częstotliwość radiowa działa jako fala nośna przenosząca sygnał audio. Cyfrowe radia nakładają sygnały cyfrowe na falę nośną, więc musi istnieć urządzenie cyfrowe na obu końcach, aby zakodować lub odkodować te sygnały. Innymi słowy, radia cyfrowe są zasadniczo modemami, konwertującymi dane cyfrowe na sygnały radiowe i sygnały radiowe na dane cyfrowe. Zakłócenia radiowe Chociaż anteny, których będziesz używać w niniejszym rozdziale, są wielokierunkowe, sygnał radiowy może być blokowany przez przeszkody, szczególnie metalowe. Na przykład duży arkusz metalowej blachy raczej odbije sygnał radiowy, niż pozwoli na przejście przez niego. Zasada ta jest wykorzystywana nie tylko w projektowaniu anteny, ale również przy projektowaniu osłon radiowych (ang. radio frequency (RF) shield). Jeśli kiedykolwiek rozcinałeś przewód komputerowy i znalazłeś wewnątrz cienką folię owiniętą wokół przewodów, to napotkałeś osłonę RF. Osłony są używane, aby zapobiec zakłócaniu danych przesyłanych w przewodzie przez losowe sygnały radiowe. Osłona nie musi być pełnym arkuszem metalu — siatka z przewodzącego metalu także będzie blokować sygnał radiowy, jeśli oczka siatki są wystarczająco małe. Skuteczność projektowanej siatki zależy od częstotliwości, jaką ma zablokować. Istnieje możliwość zablokowania sygnałów radiowych na danym obszarze poprzez otoczenie obszaru właściwą osłoną i uziemienie jej. Mówi się o tym powszechnie jako o tworzeniu klatki Faradaya. Efekt ten został nazwany na cześć Michaela Faradaya, który jako pierwszy go wykazał i udokumentował. Czasami transmisja radiowa jest blokowana przez nieza- mierzone osłony. Jeśli masz kłopot z przesłaniem sygnału radiowego, poszukaj metalu, który może być przeszkodą dla niego. Transmisja z wnętrza samochodu może czasami być kłopotliwa, ponieważ nadwozie auta działa jak klatka Faradaya. Wyprowadzenie anteny na zewnątrz kabiny poprawia odbiór. Woda może równie skutecznie blokować RF. Jest to prawdą dla prawie każdej obudowy radiowej. Wszystkie rodzaje urządzeń elektrycznych emitują fale radiowe jako efekt uboczny ich eksploatacji. Każdy prąd zmienny może wygenerować sygnał radiowy, nawet prąd, który napędza sprzęty w Twoim domu lub biurze. Dlatego właśnie słychać buczenie, gdy umieścisz przewody głośni- ka równolegle z kablem zasilającym. Sygnał prądu zmien- nego zakłóca prąd w przewodach głośnika, a głośniki od- czytują zmiany prądu jako dźwięk. Z podobnych powodów możesz mieć problemy, operując bezprzewodową siecią danych w pobliżu kuchenki mikrofalowej. Wi-Fi działa na częstotliwościach w zakresie gigaherca, powszechnie na- zywanych zakresem mikrofalowym, ponieważ długość fali tych sygnałów jest bardzo krótka w porównaniu z sygnała- mi na niższych częstotliwościach. Aby ugotować jedzenie, kuchenka mikrofalowa generuje energię w tym zakresie do pobudzenia (nagrzewania) cząsteczek wody w żywności. Część tej energii wycieka z kuchenki przy małej mocy i właśnie dlatego otrzymasz różnego rodzaju szum radiowy w zakresie gigaherca w pobliżu kuchenki mikrofalowej. Generatory i silniki są szczególnie podstępnymi źródłami szumów radiowych. Silnik działa również poprzez indukcję; w szczególności para magnesów zamocowanych do wału wiruje wewnątrz cewki z przewodów. Podłączając przewód do prądu, tworzysz pole magnetyczne, które przyciąga lub odpycha magnesy, powodując ich obracanie. Podobnie, uży- wając siły mechanicznej do obracania magnesami, generu- jesz prąd w przewodzie. Tak więc silnik (lub generator) jest zasadniczo małym radiem, które generuje szum elektryczny o takiej częstotliwości, z jaką obraca się jego wirnik. Ponieważ istnieje tak wiele źródeł szumu radiowego, istnieje wiele sposobów zakłócania sygnału radiowego. Ważne jest, aby pamiętać o tych możliwych źródłach szumu podczas pracy z urządzeniami radiowymi. Wiedza na ten temat jest bardzo cenna przy rozwiązywaniu proble- mów radiowych. Multipleksowanie i protokoły Kiedy transmitujesz przez radio, każdy, kto ma zgodny odbiornik, może odbierać Twój sygnał. Nie ma przewodu, który zamykałby sygnał, więc jeśli dwa nadajniki emitują sygnał w tym samym czasie, to będą ze sobą kolidować. To jest największą bolączką radia: dany odbiornik nie może w żaden sposób wiedzieć, kto wysłał odebrany sy- gnał. Dla kontrastu rozważ szeregowe połączenie przewo- dowe: kiedy otrzymasz impulsy elektryczne w przewodzie szeregowym, to możesz być rzeczywiście pewien, że po- chodzą z urządzenia na drugim końcu przewodu. Nie masz takiej gwarancji w przypadku radia. To tak, jakbyś miał zawiązane oczy na przyjęciu i wszyscy inni goście mieli taki sam głos. Aby dowiedzieć się, kto do Ciebie mówi, należałoby ustalić ścisłe zasady — każda osoba powinna wyraźnie zidentyfikować się na początku i na końcu kon- wersacji, i nikt nie powinien przerywać jej w tym czasie. Innymi słowy — chodzi o protokoły. Pierwszą rzeczą, którą wszyscy na tym przyjęciu musie- liby zrobić, byłoby ustalenie kolejności mówienia. W ten sposób każdy mógłby mieć na chwilę Twoją uwagę. Współużytkowanie w komunikacji radiowej jest nazywane multipleksowaniem (ang. multiplexing), a ta forma współ- dzielenia jest nazywana multipleksowaniem z podziałem czasu (ang. time-division multiplexing). Każdy nadajnik ma nadany wycinek czasu, w którym transmituje. 192 SPRAW, BY RZECZY PRZEMÓWIŁY Oczywiście to zależy od tego, czy wszystkie nadajniki są zsynchronizowane. Gdy nie są, multipleksowanie z podzia- łem czasu może nadal działać dość dobrze, jeśli wszystkie nadajniki mówią mniej, niż nasłuchują (pamiętaj o pierw- szej regule miłości i sieci z rozdziału 1.: słuchaj więcej, niż mówisz). Jeśli dany nadajnik wysyła sygnał tylko przez kilka milisekund w każdej sekundzie i jeżeli istnieje ogra- niczona liczba nadajników, to szanse, że dwie wiadomości będą się nakładać lub kolidować ze sobą, są stosunkowo niewielkie. Niniejsze wytyczne, w połączeniu z prośbą o wyjaśnienie od odbiornika (reguła numer trzy), mogą zapewnić dobrą komunikację RF. Wróćmy na przyjęcie. Jeśli każda osoba mówiłaby w innej tonacji, mógłbyś na tej podstawie odróżnić poszczególne osoby. W warunkach radiowych nazywa się to multiplek- sowaniem z podziałem częstotliwości (ang. frequency- -division multiplexing). Oznacza to, że odbiornik musi mieć możliwość odbierania na kilku częstotliwościach jednocześnie. Ale jeśli istnieje koordynator przydzielający częstotliwości dla każdej pary nadajnika i odbiornika, jest to dość skuteczne. Różne kombinacje multipleksowania z podziałem czasu i częstotliwości są używane w każdym systemie transmi- sji radia cyfrowego. Dobrą wiadomością jest to, że przez większość czasu nie trzeba o tym myśleć, ponieważ radia obsługują to za Ciebie. Multipleksowanie pomaga w transmisji poprzez organiza- cję włączania się nadajników i rozróżnienie ich pomiędzy sobą z użyciem częstotliwości, ale nie zajmuje się treścią tego, co zostanie przekazane. W tym miejscu pojawiają się protokoły danych. Jak już wiesz, protokoły danych umożliwiły powstanie sieci przewodowych, a w sieciach bezprzewodowych odgrywają równie istotną rolę. Aby upewnić się, że wiadomość jest jasna, powszechnie sto- suje się protokoły danych poza multipleksowaniem. Na przykład Bluetooth, ZigBee i Wi-Fi nie są niczym więcej niż protokołami danych sieciowych nałożonymi na sygnał radiowy. Wszystkie trzy mogą być równie łatwo zrealizowa- ne w sieci przewodowej (i w pewnym sensie tak jest z Wi-Fi: używa tej samej warstwy TCP/IP, z której korzysta sieć Ethernet). Założenia tych protokołów są takie same jak w sieci przewodowej, co umożliwia zrozumienie transmisji bezprzewodowej danych, nawet jeśli nie jesteś specjalistą w technologii radiowej. Pamiętaj o zasadach i metodach rozwiązywania problemów, które stosowałeś przy sieciach przewodowych, ponieważ będziesz z nich korzystać po- nownie w projektach sieci bezprzewodowej. Metody wy- mienione w tym miejscu to tylko nowe narzędzia w Twoim zestawie narzędzi do rozwiązywania problemów. Będziesz ich potrzebował w kolejnych projektach. nadajniki, odbiorniki i radiowe urządzenia nadawczo-odbiorcze Kiedy wybrać parę nadajnik-odbiornik, a kiedy urządzenie nadawczo-odbiorcze? Najprostsza odpowiedź brzmi nastę- pująco: jeśli potrzebujesz informacji zwrotnych z urządze- nia, do którego transmitujesz, to potrzebujesz urządzenia nadawczo-odbiorczego. W większości przypadków naj- prościej jest używać urządzenia nadawczo-odbiorczego. Faktem jest, że odkąd urządzenia nadawczo-odbiorcze stały się tańsze w produkcji (a co za tym idzie w sprzeda- ży), to parę nadajnik-odbiornik coraz trudniej znaleźć. Dostępnych jest wiele różnych rodzajów urządzeń nadaw- czo-odbiorczych. Najprostsze cyfrowe urządzenia radiowe nadawczo-odbiorcze na rynku podłącza się bezpośrednio do pinów szeregowej transmisji i odbioru mikrokontrolera. Wszystkie dane szeregowe, które wysyłasz po linii transmisji, są nadawane bezpośrednio jako sygnał radiowy. Wszelkie impulsy otrzymane przez urządzenie nadawczo-odbiorcze są wysyłane do linii odbioru Twojego mikrokontrolera. Jest to proste połączenie, ale trzeba samodzielnie zarządzać całą konwersacją. Jeżeli otrzymujące urządzenie nadawczo-od- biorcze zgubi bit danych, otrzymasz zniekształconą wiado- mość. Wszelkie znajdujące się w pobliżu urządzenia radiowe pracujące na tym samym zakresie częstotliwości mogą mieć wpływ na jakość odbioru. Dopóki pracujesz tylko z dwoma odbiornikami radiowymi bez żadnych zakłóceń, urządzenia nadawczo-odbiorcze tego typu sprawdzają się dość dobrze. Jest to jednak rzadki przypadek. Obecnie większość dostępnych na rynku urządzeń nadaw- czo-odbiorczych implementuje protokoły sieciowe zajmujące się zarządzaniem konwersacją. W rozdziale 2. modem Bluetooth ignorował sygnały z innych radioodbiorników, z którymi nie był skojarzony, i obsługiwał sprawdzanie błędów. Radia XBee, których będziesz używać w następnym projekcie, będą robić to samo i o wiele więcej, o czym prze- konasz się w rozdziale 7. To wymaga, abyś dowiedział się trochę więcej o protokołach sieciowych, ale korzyści, jakie zyskujesz, są warte poniesienia tych niewielkich kosztów. Największą różnicą pomiędzy sieciowymi radiami a pro- stymi modułami nadawczo-odbiorczymi jest to, że każde urządzenie w sieci ma adres. Oznacza to, że musisz zdecy- dować, do którego urządzenia zamierzasz mówić (być może chcesz mówić do wszystkich innych urządzeń w sieci). Z powodu komplikacji zarządzania siecią wszystkie radia sieciowe mają zwykle dwa tryby działania: tryb pole- cenia i tryb danych (zgodnie z opisem w rozdziale 2.). Zapoznając się z protokołem komunikacji dla radia siecio- wego, jedną z pierwszych rzeczy, o których się dowiadu- jesz, jest informacja o sposobie przełączania się z trybu poleceń do trybu danych i z powrotem. X Projekt 10. KoMunIKACjA BEZPRZEWodoWA 193 Dupleksowa transmisja radiowa W tym przykładzie podłączysz urządzenie nadawczo-odbiorcze RF i potencjometr do mikrokontrolera. Każdy mikrokontroler będzie wysyłał sygnał do drugiego mikrokontrolera, kiedy odczyt jego potencjometru zmieni się o więcej niż 10 punktów. Kiedy którykolwiek odbierze wiadomość, zaświeci się dioda LED. Każde urządzenie ma również diodę LED do przekazywania lokalnej informacji zwrotnej. MATERIAły: » 2 płytki stykowe, » 1 adapter XBee na USB, » 2 Arduino (modele Arduino Fio są przyjazną alternatywą zaprojektowaną do pracy z XBee), » 2 moduły Digi XBee 802.15.4 RF, » 2 tarcze bezprzewodowe Arduino. Jeśli nie zdecydujesz się na tarczę bezprzewodową Urządzenia nadawczo-odbiorcze RF używane w tym pro- jekcie implementują bezprzewodowy protokół sieciowy 802.15.4, na którym oparty jest ZigBee. W tym przykła- dzie nie zostały faktycznie wykorzystane korzyści ZigBee i niewiele z korzyści 802.15.4. Protokoły 802.15.4 i ZigBee zostały opracowane w celu umożliwienia wielu różnym obiektom komunikacji w elastycznym schemacie sieci. Każde radio ma adres i każdorazowo, kiedy wysyła wiadomość, musi określić adres, na który wysyła. Może również wysyłać wiadomość rozgłoszeniową (ang. broad- cast message), skierowaną do każdego radia w zasięgu — więcej informacji na ten temat znajdziesz w rozdziale 7. Na razie podasz każdemu ze swoich dwóch radioodbiorni- ków adres drugiej strony, aby mogły przekazywać między sobą wiadomości. Jest wiele rzeczy, które mogą pójść nie tak z bezprzewo- dową transmisją, i w związku z tym że transmisje radiowe nie są wykrywalne bez działającego radia, rozwiązanie problemu może być trudne. Z tego powodu zbudujesz ten projekt w kilku etapach. Po pierwsze, skomunikujesz się z samym modułem radiowym szeregowo, aby ustawić jego lokalny adres oraz adres docelowy. Następnie napiszesz program, aby mikrokontroler wysyłał wiadomości, gdy zmienia się wartość potencjometru, i nasłuchiwał wiado- mości z drugiego radia podłączonego do komputera osobi- stego. Na koniec sprawisz, że dwa mikrokontrolery będą komunikować się ze sobą za pomocą radia. lub Arduino Fio, możesz użyć części wyszczegól- nionych poniżej, aby połączyć XBee z Arduino: » 2 regulatory napięcia 3,3 V, » 2 kondensatory 1 μF, » 2 kondensatory 10 μF, » 2 płytki z wyprowadzeniami połączeń dla XBee, » 4 listwy kołkowe z rozstawem 2,54 mm, » 4 gniazda do listew kołkowych 2 mm, » 6 diod LED, » 2 potencjometry. Krok 1. Konfiguracja szeregowa modułów XBee Najprostszym sposobem podłączenia XBee do kompute- ra osobistego jest użycie adaptera szeregowego XBee na USB. Odkąd opublikowano pierwsze wydanie tej książki, popularność XBee rośnie wykładniczo i obecnie dostępnych jest wiele wersji (większość dostawców elektroniki hobby- stycznej oferuje swoją wersję). Wszystkie są zasadniczo adapterami łącza szeregowego na USB zamontowanymi na płytce z pinami rozstawionymi tak, aby dopasować radio XBee. Pierwsze zdjęcie na rysunku 6.12 pokazuje dwie opcje: pytkę adaptera XBee na USB firmy Adafruit i XBee Explorer firmy Spark Fun. Oba mają zamontowane diody LED do wskazania szeregowej transmisji i odbioru. Model Adafruit ma również diody LED wskazujące, czy radio jest skojarzone z siecią lub czy jest w stanie uśpienia. Wskaźnik LED trybu uśpienia jest dołączony do pinu 13, który ma stan niski, gdy radio jest w trybie uśpienia, i wysoki, gdy jest aktywne. Wskaźnik skojarzenia LED jest dołączony do pinu 15. Kiedy radio jest skojarzone, dioda LED miga. Podłącz swój moduł XBee do adaptera, następnie podłącz go do portu USB komputera i otwórz swój ulubiony pro- gram terminala szeregowego. 194 SPRAW, BY RZECZY PRZEMÓWIŁY Rysunek 6.8. Płytka stykowa XBee, w różnych etapach. U dołu: goła płytka z niezbędnymi listwami kołkowymi. U góry po prawej: skończona płytka. U góry po lewej: skończona płytka z zamontowanym XBee Montaż radia XBee na płytce z wyprowadzeniami Radia XBee mają piny w rozstawie 2 mm od siebie — za wąsko, aby zmieściły się na płytce stykowej. Możesz albo przylutować przewody do każdego pinu, aby rozszerzyć nóżki, albo zamon- tować moduł na płytce z wyprowadzeniami. SparkFun ma taką płytkę — jest to płytka z wyprowadzeniami dla modułu XBee (nr części BOB-08276). Kiedy masz już płytkę stykową, przy- lutuj listwy do wewnętrznych rzędów. Będą one podłączane do płytki stykowej. Następnie dołącz gniazda z rozstawem 2 mm. XBee będzie w nie wetknięty, więc może okazać się konieczne dopasowanie ich do płytki przez założenie ich najpierw na XBee, a następnie włożenie go do płytki razem z dołączonymi gniazdami. Protokół poleceń XBee jest wymagający co do tego jak kończysz polecenia, oczekując, że każde polecenie w wierszu jest zakończone tylko znakiem powrotu karetki ( lub ASCII 13). Jednak większość programów terminali szeregowych umożliwia ustawienie, co jest wysyłane, gdy naciśniesz klawisz Return. W CoolTerm dla OS X i Windows kliknij przycisk Options (opcje) i zmień Enter Key Emulation (wprowadź emu- lację klawiszy) na CR (patrz rysunek 6.10). W PuTTY dla Windows i Ubuntu Linux w
Pobierz darmowy fragment (pdf)

Gdzie kupić całą publikację:

Spraw, by rzeczy przemówiły. Programowanie urządzeń elektronicznych z wykorzystaniem Arduino
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ą: