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)