Cyfroteka.pl

klikaj i czytaj online

Cyfro
Czytomierz
00559 009529 7510771 na godz. na dobę w sumie
Apokalipsa zombie nadchodzi! Obroń swoją bazę za pomocą prostych obwodów, Arduino i Raspberry Pi - ebook/pdf
Apokalipsa zombie nadchodzi! Obroń swoją bazę za pomocą prostych obwodów, Arduino i Raspberry Pi - ebook/pdf
Autor: Liczba stron: 288
Wydawca: Helion Język publikacji: polski
ISBN: 978-83-283-2684-2 Data wydania:
Lektor:
Kategoria: ebooki >> komputery i informatyka >> hardware >> raspberry pi
Porównaj ceny (książka, ebook (-20%), audiobook).

Staw czoło apokalipsie zombie!

Przygotuj się na moment, gdy świat opanują mordercze umarlaki, a dostęp do wszelkich zasobów zostanie ograniczony! Aby przeżyć, trzeba wiedzieć, jak zabezpieczyć swoją bazę, monitorować otoczenie, komunikować się z sojusznikami i zapewnić elektryczność. Zdobądź niezbędne do przetrwania umiejętności! Z tym przewodnikiem przetrwania dowiesz się, jak podłączyć przewód do zacisku śrubowego, posługiwać się lutownicą, piłą, wiertarką i dłutem, nie będziesz się bać komponentów elektronicznych.

W niniejszej książce znajdziesz szereg projektów, które mają umożliwić przetrwanie czasu apokalipsy, ale okażą się przydatne również w czasie pokoju. Ten zaskakujący i dość niecodzienny podręcznik pozwala na praktyczne nauczenie się podstaw elektroniki w najlepszy z możliwych sposobów: poprzez własnoręczne wykonywanie przeróżnych urządzeń i systemów do generowania prądu, do monitorowania otoczenia i ostrzegania przed intruzami, a także do komunikowania się z przyjaciółmi. Do wykonania tych urządzeń posłużą m.in. akumulator samochodowy, dynamo czy panele fotowoltaiczne, a w roli modułów sterujących wystąpią popularne płytki Raspberry Pi i Arduino.

Przykładowe projekty:

Sprawdź, jak przetrwać apokalipsę dzięki lutownicy i popularnym płytkom!


Simon Monk jest zapalonym konstruktorem i autorem wielu świetnych książek dotyczących głównie elektroniki dla majsterkowiczów. Publikuje również artykuły na łamach magazynu „MagPi” i wraz ze swoją żoną Lindą prowadzi firmę Monk Makes, która wytwarza i dystrybuuje zestawy komponentów elektronicznych.
Znajdź podobne książki

Darmowy fragment publikacji:

Tytuł oryginału: The Maker s Guide to the Zombie Apocalypse Tłumaczenie: Konrad Matuk ISBN: 978-83-283-2683-5 Original © 2016 by Simon Monk. Title of English-language original: The Maker s Guide to the Zombie Apocalypse, ISBN 978-1-59327-667-6, published by No Starch Press. Polish-language edition copyright © 2016 by Helion SA. All rights reserved. All rights reserved. No part of this book may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording or by any information storage retrieval system, without permission from the Publisher. Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą kserograficzną, fotograficzną, a także kopiowanie książki na nośniku filmowym, magnetycznym lub innym powoduje naruszenie praw autorskich niniejszej publikacji. Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich właścicieli. Autor oraz Wydawnictwo HELION dołożyli wszelkich starań, by zawarte w tej książce informacje były kompletne i rzetelne. Nie biorą jednak żadnej odpowiedzialności ani za ich wykorzystanie, ani za związane z tym ewentualne naruszenie praw patentowych lub autorskich. Autor oraz Wydawnictwo HELION nie ponoszą również żadnej odpowiedzialności za ewentualne szkody wynikłe z wykorzystania informacji zawartych w książce. Wydawnictwo HELION ul. Kościuszki 1c, 44-100 GLIWICE tel. 32 231 22 19, 32 230 98 63 e-mail: helion@helion.pl WWW: http://helion.pl (księgarnia internetowa, katalog książek) Pliki z przykładami omawianymi w książce można znaleźć pod adresem: ftp://ftp.helion.pl/przyklady/apokal.zip Drogi Czytelniku! Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres http://helion.pl/user/opinie/apokal Możesz tam wpisać swoje uwagi, spostrzeżenia, recenzję. Printed in Poland. • Kup książkę • Poleć książkę • Oceń książkę • Księgarnia internetowa • Lubię to! » Nasza społeczność Spis tre(cid:258)ci O AUTORZE ............................................................................................. 11 O KOREKTORZE MERYTORYCZNYM ....................................................... 12 PODZI(cid:125)KOWANIA ................................................................................... 13 WST(cid:125)P ...................................................................................................... 15 Najwa(cid:285)niejsze umiej(cid:218)tno(cid:258)ci majsterkowicza niezb(cid:218)dne do przetrwania ...............................15 O projektach umo(cid:285)liwiaj(cid:200)cych prze(cid:285)ycie apokalipsy .............................................................16 Pliki, które nale(cid:285)y pobra(cid:202) przed powstaniem zombie ...........................................................18 1 PODSTAWOWE INFORMACJE O APOKALIPSIE ........................................ 19 Zombie ...................................................................................................................................19 Rodzaje zombie ..................................................................................................................20 Czy zombie s(cid:200) naprawd(cid:218) martwe? ....................................................................................21 Jak d(cid:239)ugo potrwa wysyp zombie? ...........................................................................................22 ABC prze(cid:285)ycia w postapokaliptycznym (cid:258)wiecie ....................................................................23 Dom ...................................................................................................................................23 Woda ..................................................................................................................................24 Jedzenie i paliwo ................................................................................................................24 Zabijanie zombie ................................................................................................................25 Odpowiedni ubiór ..............................................................................................................26 Dbanie o zdrowie ...............................................................................................................26 B(cid:200)d(cid:283) gotowy ..........................................................................................................................28 Inne osoby, które przetrwa(cid:239)y apokalips(cid:218) ...............................................................................28 Cz(cid:218)(cid:258)ci potrzebne do wykonania projektów ..........................................................................29 Samochody .........................................................................................................................29 Lokalne sklepy z cz(cid:218)(cid:258)ciami .................................................................................................30 Praca nad projektami .............................................................................................................31 Lutowanie ..........................................................................................................................31 Konstrukcje mechaniczne ..................................................................................................31 Modu(cid:239)y elektroniczne ........................................................................................................31 Poleć książkęKup książkę 2 GENEROWANIE PR(cid:107)DU ........................................................................... 33 Moc i energia ......................................................................................................................... 33 Ró(cid:285)ne rodzaje pr(cid:200)du ............................................................................................................. 34 Pr(cid:200)d sta(cid:239)y o niskim napi(cid:218)ciu ............................................................................................... 35 Pr(cid:200)d przemienny o wysokim napi(cid:218)ciu ............................................................................... 37 Ogniwa i akumulatory ........................................................................................................... 38 Ogniwa jednokrotnego u(cid:285)ytku .......................................................................................... 38 Akumulatory ...................................................................................................................... 38 (cid:146)adowanie akumulatora ........................................................................................................ 39 Projekt 1. (cid:146)adowanie za pomoc(cid:200) energii s(cid:239)onecznej ............................................................. 39 Panele fotowoltaiczne ....................................................................................................... 40 Sterowniki (cid:239)adowania ........................................................................................................ 40 Czego b(cid:218)dziesz potrzebowa(cid:239)? ........................................................................................... 41 Konstrukcja ........................................................................................................................ 42 (cid:146)adowanie akumulatora za pomoc(cid:200) energii s(cid:239)onecznej .................................................... 47 Projekt 2. Generator rowerowy ........................................................................................... 48 Czego b(cid:218)dziesz potrzebowa(cid:239)? ........................................................................................... 49 Konstrukcja ........................................................................................................................ 49 Korzystanie z rowerowego generatora ............................................................................. 56 3 KORZYSTANIE Z PR(cid:107)DU ........................................................................ 59 Zasilanie urz(cid:200)dze(cid:241) z akumulatora samochodowego ............................................................. 59 Gniazdo zapalniczki samochodowej .................................................................................. 60 Zasilaj(cid:200)ca wtyczka USB ..................................................................................................... 62 Falowniki ........................................................................................................................... 63 Projekt 3. O(cid:258)wietlenie diodowe ............................................................................................ 64 Czego b(cid:218)dziesz potrzebowa(cid:239)? ........................................................................................... 64 Konstrukcja ........................................................................................................................ 65 Korzystanie z o(cid:258)wietlenia .................................................................................................. 67 Projekt 4. Monitor akumulatora ............................................................................................ 67 Czego b(cid:218)dziesz potrzebowa(cid:239)? ........................................................................................... 68 Konstrukcja ........................................................................................................................ 69 Program ............................................................................................................................. 72 Korzystanie z monitora na(cid:239)adowania akumulatora ............................................................ 75 4 ALARMY WYKRYWAJ(cid:107)CE ZOMBIE .......................................................... 77 Projekt 5. Alarm aktywowany za pomoc(cid:200) linki ..................................................................... 77 Czego b(cid:218)dziesz potrzebowa(cid:239)? ........................................................................................... 79 Konstrukcja ........................................................................................................................ 80 Korzystanie z alarmu aktywowanego za pomoc(cid:200) linki ...................................................... 85 6 S p i s t r e (cid:258) c i Poleć książkęKup książkę Projekt 6. Wykrywanie zombie za pomoc(cid:200) podczerwieni .....................................................86 Czego b(cid:218)dziesz potrzebowa(cid:239)? ...........................................................................................87 Konstrukcja ........................................................................................................................88 Program .............................................................................................................................90 Obs(cid:239)uga wykrywacza zombie korzystaj(cid:200)cego z czujnika podczerwieni .............................92 Czujniki podczerwieni pochodz(cid:200)ce z odzysku ...................................................................92 5 MONITORING I RASPBERRY PI ............................................................... 95 Raspberry Pi ...........................................................................................................................95 System Raspberry Pi ...........................................................................................................97 Czego b(cid:218)dziesz potrzebowa(cid:239)? ...........................................................................................98 Zasilanie systemu ...............................................................................................................98 Instalacja systemu Raspbian ..............................................................................................100 Projekt 7. Monitorowanie zombie za pomoc(cid:200) kamery sieciowej wyposa(cid:285)onej w interfejs USB ....................................................................................................................101 Czego b(cid:218)dziesz potrzebowa(cid:239)? .........................................................................................102 Konstrukcja ......................................................................................................................103 Korzystanie z kamery .......................................................................................................109 Projekt 8. Bezprzewodowy system monitorowania zombie ...............................................110 Czego b(cid:218)dziesz potrzebowa(cid:239)? .........................................................................................111 Konstrukcja ......................................................................................................................112 Korzystanie z kamery Wi-Fi .............................................................................................116 6 ZDALNE OTWIERANIE DRZWI I WYKRYWANIE OTWARCIA DRZWI ..... 117 Projekt 9. Zdalnie sterowany zamek do drzwi ....................................................................118 Czego b(cid:218)dziesz potrzebowa(cid:239)? .........................................................................................120 Konstrukcja ......................................................................................................................121 Bezprzewodowe otwieranie drzwi ..................................................................................125 Projekt 10. Czujnik otwarcia drzwi ......................................................................................126 Czego b(cid:218)dziesz potrzebowa(cid:239)? .........................................................................................127 Konstrukcja ......................................................................................................................128 Program ...........................................................................................................................128 Korzystanie z czujnika otwarcia drzwi .............................................................................131 7 MONITOROWANIE OTOCZENIA ............................................................ 133 Projekt 11. Cichy alarm przeciwpo(cid:285)arowy ..........................................................................133 Czego b(cid:218)dziesz potrzebowa(cid:239)? .........................................................................................135 Konstrukcja ......................................................................................................................135 Program ...........................................................................................................................142 Korzystanie z alarmu przeciwpo(cid:285)arowego ......................................................................144 S p i s t r e (cid:258) c i 7 Poleć książkęKup książkę Projekt 12. Alarm zapobiegaj(cid:200)cy przekroczeniu dopuszczalnej temperatury ..................... 144 Czego b(cid:218)dziesz potrzebowa(cid:239)? ......................................................................................... 145 Konstrukcja ...................................................................................................................... 145 Program ........................................................................................................................... 148 Korzystanie z alarmu o przekroczeniu dopuszczalnej temperatury ................................ 150 8 BUDOWA CENTRUM DOWODZENIA BAZ(cid:107) .......................................... 153 Projekt 13. Centrum dowodzenia oparte na Raspberry Pi ................................................. 153 Czego b(cid:218)dziesz potrzebowa(cid:239)? ......................................................................................... 154 Konstrukcja ...................................................................................................................... 154 Program ........................................................................................................................... 155 Korzystanie z centrum zarz(cid:200)dzania baz(cid:200) ......................................................................... 162 Projekt 14. Korzystanie z bezprzewodowej technologii Bluetooth .................................... 163 Czego b(cid:218)dziesz potrzebowa(cid:239)? ......................................................................................... 164 Konstrukcja ...................................................................................................................... 164 Program ........................................................................................................................... 168 Korzystanie z centrum dowodzenia wyposa(cid:285)onego w interfejs Bluetooth ..................... 170 9 PRZYCI(cid:107)GANIE UWAGI ZOMBIE ........................................................... 171 Projekt 15. Przyci(cid:200)ganie uwagi zombie za pomoc(cid:200) lampy b(cid:239)yskowej sterowanej mikrokontrolerem Arduino .............................................................................. 172 Czego b(cid:218)dziesz potrzebowa(cid:239)? ......................................................................................... 174 Konstrukcja ...................................................................................................................... 175 Program ........................................................................................................................... 181 Korzystanie z generatora b(cid:239)ysków przyci(cid:200)gaj(cid:200)cych uwag(cid:218) zombie ................................ 182 Projekt 16. Przyci(cid:200)ganie uwagi zombie za pomoc(cid:200) ruchu i d(cid:283)wi(cid:218)ku generowanych przez Arduino ...................................................................................................................... 184 Czego b(cid:218)dziesz potrzebowa(cid:239)? ......................................................................................... 185 Konstrukcja ...................................................................................................................... 186 Program ........................................................................................................................... 192 Korzystanie z urz(cid:200)dzenia odwracaj(cid:200)cego uwag(cid:218) zombie za pomoc(cid:200) d(cid:283)wi(cid:218)ku i ruchu ... 195 10 KOMUNIKACJA Z INNYMI OCALA(cid:146)YMI ............................................... 197 Projekt 17. Radiolatarnia wykonana na bazie Raspberry Pi ................................................. 198 Czego b(cid:218)dziesz potrzebowa(cid:239)? ......................................................................................... 198 Konstrukcja ...................................................................................................................... 200 Program ........................................................................................................................... 200 Korzystanie z nadajnika FM ............................................................................................. 201 Projekt 18. Skaner radiowy oparty na Arduino ................................................................... 204 Czego b(cid:218)dziesz potrzebowa(cid:239)? ......................................................................................... 204 Konstrukcja ...................................................................................................................... 205 8 S p i s t r e (cid:258) c i Poleć książkęKup książkę Program ...........................................................................................................................210 Korzystanie ze skanera .....................................................................................................212 Projekt 19. Latarnia nadaj(cid:200)ca komunikaty za pomoc(cid:200) kodu Morse’a ..................................212 Czego b(cid:218)dziesz potrzebowa(cid:239)? .........................................................................................213 Konstrukcja ......................................................................................................................214 Program ...........................................................................................................................217 Korzystanie z latarni nadaj(cid:200)cej kod Morse’a ....................................................................222 11 KOMUNIKACJA ZA POMOC(cid:107) WIBRACJI ............................................... 225 Projekt 20. Arduino i cicha komunikacja za pomoc(cid:200) wibracji ..............................................225 Czego b(cid:218)dziesz potrzebowa(cid:239)? .........................................................................................227 Konstrukcja ......................................................................................................................228 Program ...........................................................................................................................233 Korzystanie z projektu .....................................................................................................236 A KOMPONENTY ...................................................................................... 239 Modu(cid:239)y elektroniczne ...........................................................................................................240 Mikrokomputer Raspberry Pi i zwi(cid:200)zane z nim komponenty ..............................................240 Kable, druty i z(cid:239)(cid:200)cza .............................................................................................................241 Narz(cid:218)dzia .............................................................................................................................242 Komponenty elektroniczne ..................................................................................................242 Pozosta(cid:239)e komponenty ........................................................................................................243 Kod paskowy rezystora ........................................................................................................243 B PODSTAWOWE UMIEJ(cid:125)TNO(cid:165)CI .............................................................. 245 Zdejmowanie izolacji ............................................................................................................245 Skr(cid:218)canie ze sob(cid:200) przewodów ............................................................................................246 Podstawy wykonywania po(cid:239)(cid:200)cze(cid:241) lutowniczych ..................................................................248 Lutowanie kabli ................................................................................................................249 Przylutowywanie komponentów do p(cid:239)ytki obwodu ........................................................250 Korzystanie z koszulek termokurczliwych ...........................................................................253 Korzystanie z multimetru .....................................................................................................254 Pomiar napi(cid:218)cia pr(cid:200)du sta(cid:239)ego .........................................................................................256 Pomiar nat(cid:218)(cid:285)enia pr(cid:200)du sta(cid:239)ego .......................................................................................257 Pomiar rezystancji ............................................................................................................258 Testowanie ci(cid:200)g(cid:239)o(cid:258)ci ........................................................................................................259 Dodatkowe funkcje multimetru .......................................................................................260 C ARDUINO — PORADNIK DLA POCZ(cid:107)TKUJ(cid:107)CYCH .............................. 261 Czym jest Arduino? ..............................................................................................................261 (cid:165)rodowisko programistyczne Arduino .................................................................................263 S p i s t r e (cid:258) c i 9 Poleć książkęKup książkę Instalacja zintegrowanego (cid:258)rodowiska programistycznego Arduino ................................... 263 Wgrywanie szkicu ............................................................................................................ 265 Instalowanie szkiców u(cid:239)atwiaj(cid:200)cych walk(cid:218) z zombie ....................................................... 266 Podstawy programowania Arduino ..................................................................................... 267 Struktura szkicu Arduino ................................................................................................. 267 Tworzenie zmiennych i sta(cid:239)ych ....................................................................................... 268 Konfigurowanie cyfrowych wyj(cid:258)(cid:202) .................................................................................... 268 Konfigurowanie cyfrowych wej(cid:258)(cid:202) .................................................................................... 269 Stabilizacja cyfrowych wej(cid:258)(cid:202) za pomoc(cid:200) rezystora podci(cid:200)gaj(cid:200)cego ................................ 270 Odczyt danych z analogowych wej(cid:258)(cid:202) .............................................................................. 271 Generowanie analogowych sygna(cid:239)ów wyj(cid:258)ciowych ........................................................ 272 Powtarzanie kodu za pomoc(cid:200) p(cid:218)tli warunkowych .......................................................... 272 Okre(cid:258)lanie dwóch warunków za pomoc(cid:200) instrukcji if i else ............................................ 274 Porównywanie warto(cid:258)ci logicznych ................................................................................ 275 Grupowanie kodu — tworzenie funkcji .......................................................................... 275 Monta(cid:285) p(cid:239)ytki Screw Shield ................................................................................................. 277 Dalsza lektura ...................................................................................................................... 280 SKOROWIDZ .......................................................................................... 281 10 S p i s t r e (cid:258) c i Poleć książkęKup książkę 5 Monitoring i Raspberry Pi POZA WYKRYWANIEM ZOMBIE WARTO RÓWNIE(cid:191) OBSERWOWA(cid:109) ICH POCZYNANIA. NIE PRÓBUJ (cid:165)LEDZI(cid:109) HORDY UMARLAKÓW OSO- BI(cid:165)CIE! PRZYGL(cid:107)DAJ SI(cid:125) IM Z BEZPIECZNEJ ODLEG(cid:146)O(cid:165)CI, CZYLI z wn(cid:218)trza swojej bazy — uchroni Ci(cid:218) to przed zgubnymi skutkami bezpo(cid:258)redniego kontaktu z zombie. W tym rozdziale dowiesz si(cid:218), jak korzysta(cid:202) z kamer sieciowych wyposa(cid:285)onych w interfejs USB oraz z kamer wyposa(cid:285)onych w interfejs bezprzewodowy. W celu zminimalizowania zu(cid:285)ycia pr(cid:200)du b(cid:218)dziemy korzysta(cid:202) z jednop(cid:239)ytkowego kom- putera Raspberry Pi (rysunek 5.1). Oba projekty przedstawione w tym rozdziale wymagaj(cid:200) pobrania odpowied- niego oprogramowania. W zwi(cid:200)zku z tym warto przygotowa(cid:202) system do pracy jeszcze przed nadej(cid:258)ciem apokalipsy. Raspberry Pi Zaprezentowane przeze mnie projekty mog(cid:200) by(cid:202) obs(cid:239)ugiwane za pomoc(cid:200) stan- dardowego laptopa lub komputera stacjonarnego, ale urz(cid:200)dzenia te pobieraj(cid:200) du(cid:285)o pr(cid:200)du. Laptop charakteryzuje si(cid:218) moc(cid:200) od 20 W do 60 W, a komputer stacjonarny mo(cid:285)e pobiera(cid:202) jeszcze wi(cid:218)cej pr(cid:200)du. Ponadto potrzebowa(cid:239)by(cid:258) falownika. Zasilacze laptopów generuj(cid:200) pr(cid:200)d sta(cid:239)y o niskim napi(cid:218)ciu, ale zwykle napi(cid:218)cie to jest wy(cid:285)sze od 12 V, a wi(cid:218)c bezpo(cid:258)rednie zasilanie laptopa z akumulatora 12 V jest niemo(cid:285)liwe. Poleć książkęKup książkę Rysunek 5.1. Zombie u(cid:258)miechaj(cid:200)cy si(cid:218) i machaj(cid:200)cy do obiektywu kamery Ponadto wyobra(cid:283) sobie sytuacj(cid:218), w której jeste(cid:258) zmuszony do opuszczenia swojej bazy z powodu naporu zombie. Czy naprawd(cid:218) chcia(cid:239)by(cid:258) ryzykowa(cid:202) (cid:285)ycie, taszcz(cid:200)c ogromn(cid:200) obudow(cid:218) komputera stacjonarnego? Raspberry Pi jest miniaturowym jednop(cid:239)ytkowym komputerem pracuj(cid:200)cym pod kontrol(cid:200) systemu Linux. Wymiary tej p(cid:239)ytki s(cid:200) zbli(cid:285)one do wymiarów karty kredytowej. Raspberry Pi charakteryzuje si(cid:218) moc(cid:200) 3 W. W tym projekcie, a tak(cid:285)e w innych projektach opisanych w tej ksi(cid:200)(cid:285)ce wykorzystujemy p(cid:239)ytk(cid:218) Raspberry Pi Model B+ (rysunek 5.2). Je(cid:285)eli dysponujesz starsz(cid:200) p(cid:239)ytk(cid:200) Raspberry Pi Mo- del B lub nowsz(cid:200) Raspberry Pi 2, te(cid:285) mo(cid:285)esz z nich korzysta(cid:202). Wi(cid:218)ksza wydaj- no(cid:258)(cid:202) nowszej p(cid:239)ytki powinna sprawi(cid:202), (cid:285)e strona pokazuj(cid:200)ca obraz rejestrowany przez kamer(cid:218) powinna by(cid:202) wy(cid:258)wietlana znacznie szybciej. Nie warto korzysta(cid:202) z modeli A i A+, poniewa(cid:285) charakteryzuj(cid:200) si(cid:218) one ni(cid:285)sz(cid:200) wydajno(cid:258)ci(cid:200) i zainsta- lowano na nich pami(cid:218)(cid:202) operacyjn(cid:200) o mniejszej pojemno(cid:258)ci. Raspberry Pi mo(cid:285)e wykonywa(cid:202) skrypty napisane w Pythonie i mo(cid:285)e zosta(cid:202) pod- (cid:239)(cid:200)czony do zewn(cid:218)trznych urz(cid:200)dze(cid:241). Na przyk(cid:239)ad w projekcie opisanym w podroz- dziale „Projekt 7. Monitorowanie zombie za pomoc(cid:200) kamery sieciowej wyposa(cid:285)onej w interfejs USB” dioda LED pod(cid:239)(cid:200)czona do z(cid:239)(cid:200)cza GPIO p(cid:239)ytki Raspberry Pi zmieni kolor emitowanego (cid:258)wiat(cid:239)a z zielonego na czerwony. Z(cid:239)(cid:200)cze GPIO sk(cid:239)ada si(cid:218) z dwóch rz(cid:218)dów pinów znajduj(cid:200)cych si(cid:218) z boku p(cid:239)ytki (zob. rysunek 5.2). 96 R o z d z i a (cid:239) 5 Poleć książkęKup książkę Rysunek 5.2. P(cid:239)ytka Raspberry Pi Model B+ System Raspberry Pi W celu uzyskania w pe(cid:239)ni funkcjonalnego komputera do p(cid:239)ytki Raspberry Pi nale(cid:285)y pod(cid:239)(cid:200)czy(cid:202) klawiatur(cid:218) i mysz USB, a tak(cid:285)e ma(cid:239)y monitor wyposa(cid:285)ony w z(cid:239)(cid:200)cze HDMI (multimedialny interfejs wysokiej rozdzielczo(cid:258)ci) — rysunek 5.3. Rysunek 5.3. System komputerowy oparty na Raspberry Pi Klawiatura i mysz to standardowe urz(cid:200)dzenia peryferyjne, które mo(cid:285)esz kupi(cid:202) wsz(cid:218)dzie. W celu ci(cid:200)g(cid:239)ego podgl(cid:200)du poczyna(cid:241) zombie do Raspberry Pi mo(cid:285)esz M o n i t o r i n g i R a s pb e r r y P i 97 Poleć książkęKup książkę pod(cid:239)(cid:200)czy(cid:202) zwyczajny telewizor lub monitor. Jednak(cid:285)e w celu zminimalizowania ilo(cid:258)ci pobieranego pr(cid:200)du w tym projekcie b(cid:218)dziemy korzysta(cid:202) z monitora zasila- nego pr(cid:200)dem sta(cid:239)ym o napi(cid:218)ciu 12 V, o przek(cid:200)tnej ekranu równej 7 cali (18 cm). W najgorszym wypadku zastosowanie tego monitora podwoi moc pobieran(cid:200) przez komputer, która mo(cid:285)e wtedy osi(cid:200)gn(cid:200)(cid:202) szczytow(cid:200) warto(cid:258)(cid:202) 6 W. Czego b(cid:218)dziesz potrzebowa(cid:239)? Do pod(cid:239)(cid:200)czenia systemu komputerowego opartego na Raspberry Pi do akumu- latora dostarczaj(cid:200)cego pr(cid:200)d o napi(cid:218)ciu 12 V b(cid:218)dziesz potrzebowa(cid:239) nast(cid:218)puj(cid:200)cych komponentów: Komponent (cid:135) Raspberry Pi (cid:135) Ma(cid:239)y monitor wyposa(cid:285)ony w z(cid:239)(cid:200)cze HDMI (cid:135) Klawiatura i mysz (cid:135) Kabel HDMI Uwagi Model B+ lub Pi 2 z kart(cid:200) SD zawieraj(cid:200)c(cid:200) pakiet NOOBS Monitor ze z(cid:239)(cid:200)czem HDMI zasilany pr(cid:200)dem o napi(cid:218)ciu 12 V; sugerowane urz(cid:200)dzenie charakteryzuje si(cid:218) rozdzielczo(cid:258)ci(cid:200) 800(cid:117)480 pikseli Standardowa klawiatura i mysz (oba urz(cid:200)dzenia musz(cid:200) by(cid:202) wyposa(cid:285)one w interfejs USB) Najkrótszy (cid:135) Adapter pod(cid:239)(cid:200)czany do gniazdka Minimalne nat(cid:218)(cid:285)enie pr(cid:200)du: 1 A zapalniczki samochodowej umo(cid:285)liwiaj(cid:200)cy zasilanie urz(cid:200)dze(cid:241) wyposa(cid:285)onych w z(cid:239)(cid:200)cze USB (cid:135) Adapter zapalniczki samochodowej zako(cid:241)czony wtykiem zasilaj(cid:200)cym o (cid:258)rednicy 2,1 mm (cid:135) Aktywny koncentrator USB (cid:189)ród(cid:239)o Adafruit (2358), Botland (RPI-02544) Adafruit (1934), Allegro Sklep komputerowy, sklepy internetowe Sklep komputerowy, sklepy internetowe Sklep motoryzacyjny, sklep komputerowy Sklep motoryzacyjny Niezb(cid:218)dny tylko w przypadku pracy z p(cid:239)ytk(cid:200) Raspberry Pi Model B Sklep komputerowy, sklepy internetowe Je(cid:285)eli korzystasz z p(cid:239)ytki Raspberry Pi Model B, która zawiera zaledwie dwa gniazda USB, to b(cid:218)dziesz musia(cid:239) zastosowa(cid:202) aktywny koncentrator USB lub zestaw myszy i klawiatury bezprzewodowej wyposa(cid:285)ony we wspólny kontroler USB. Je(cid:285)eli pod(cid:239)(cid:200)czysz mysz i klawiatur(cid:218) bezpo(cid:258)rednio do dwóch portów USB p(cid:239)ytki Raspberry Pi, to nie b(cid:218)dziesz mia(cid:239) gdzie pod(cid:239)(cid:200)czy(cid:202) kamery b(cid:218)d(cid:200)cej elementem kolejnego projektu. Zasilanie systemu Raspberry Pi jest zasilany za po(cid:258)rednictwem gniazda micro USB, a wi(cid:218)c w celu pod(cid:239)(cid:200)czenia tej p(cid:239)ytki do akumulatora 12 V mo(cid:285)esz skorzysta(cid:202) z adaptera umo(cid:285)- liwiaj(cid:200)cego pod(cid:239)(cid:200)czanie urz(cid:200)dze(cid:241) USB do gniazdka zapalniczki samochodowej. Sugerowany przeze mnie monitor jest wyposa(cid:285)ony w oddzieln(cid:200) p(cid:239)ytk(cid:218) steruj(cid:200)c(cid:200), 98 R o z d z i a (cid:239) 5 Poleć książkęKup książkę która dostarcza do niego pr(cid:200)d i umo(cid:285)liwia po(cid:239)(cid:200)czenie z Raspberry Pi (p(cid:239)ytk(cid:218) t(cid:218) wida(cid:202) na (cid:258)rodku rysunku 5.3). P(cid:239)ytka steruj(cid:200)ca prac(cid:200) monitora jest wyposa(cid:285)ona w gniazdo zasilania o (cid:258)rednicy 2,1 mm. Rozdzielacz gniazda zapalniczki samochodowej wyposa(cid:285)ony w z(cid:239)(cid:200)cza USB (rysunek 5.4) doskonale nadaje si(cid:218) do zasilania ca(cid:239)ego systemu z akumulatorów. Je(cid:285)eli jeszcze tego nie zrobi(cid:239)e(cid:258), to zast(cid:200)p teraz wtyczk(cid:218) gniazda zapalniczki samo- chodowej par(cid:200) zacisków typu krokodyl, co umo(cid:285)liwi pod(cid:239)(cid:200)czenie takiego rozdzie- lacza bezpo(cid:258)rednio do akumulatora. W rozdziale 3. znajdziesz instrukcje dotycz(cid:200)ce pod(cid:239)(cid:200)czania do akumulatora ró(cid:285)nych urz(cid:200)dze(cid:241). Rysunek 5.4. Rozdzielacz gniazda zapalniczki samochodowej wyposa(cid:285)ony w dodatkowe gniazda USB Korzystaj(cid:200)c z urz(cid:200)dzenia widocznego na rysunku 5.4, mo(cid:285)esz zasila(cid:202) Raspberry Pi za pomoc(cid:200) standardowego przewodu micro USB, a w podrozdziale „Projekt 8. Bezprzewodowy system monitorowania zombie” do gniazda zapalniczki pod(cid:239)(cid:200)- czysz adapter umo(cid:285)liwiaj(cid:200)cy zasilanie kamery Wi-Fi i routera. Przyjrzyj si(cid:218) napi(cid:218)- ciom znamionowym kamery i routera. Najprawdopodobniej urz(cid:200)dzenia te s(cid:200) zasila- ne pr(cid:200)dem sta(cid:239)ym o napi(cid:218)ciu 12 V, co w postapokaliptycznym (cid:258)wiecie umo(cid:285)liwi zasilanie ich za pomoc(cid:200) zgromadzonego zapasu akumulatorów samochodowych. Ostrze(cid:285)enie Zachowaj ostro(cid:285)no(cid:258)(cid:202) podczas pracy z wy(cid:258)wietlaczem, szczególnie je(cid:285)eli tylna (cid:258)ciana obudowy ekranu jest wykonana z metalu — je(cid:285)eli dotknie ona ods(cid:239)oni(cid:218)tego ty(cid:239)u p(cid:239)ytki sterownika, to dojdzie do zwarcia i uszkodzenia p(cid:239)ytki. P(cid:239)ytk(cid:218) sterownika ekranu mo(cid:285)esz pod(cid:239)(cid:200)czy(cid:202) do akumulatora za pomoc(cid:200) kabla, który z jednej strony b(cid:218)dzie zako(cid:241)czony okr(cid:200)g(cid:239)(cid:200) wtyczk(cid:200) o (cid:258)rednicy 2,1 mm, a z drugiej zaciskami typu krokodyl. Jednak(cid:285)e lepszym pomys(cid:239)em od zak(cid:239)adania wielu tego typu zacisków na bieguny jednego akumulatora jest skorzystanie z rozdzielacza gniazda zapalniczki samochodowej. Dzi(cid:218)ki niemu b(cid:218)dziesz móg(cid:239) pod(cid:239)(cid:200)czy(cid:202) do akumulatora wiele ró(cid:285)nych urz(cid:200)dze(cid:241) wyposa(cid:285)onych we wtyczki zapalniczki samochodowej (zob. rozdzia(cid:239) 3., sekcj(cid:218) „Gniazdo zapalniczki samo- chodowej”). M o n i t o r i n g i R a s pb e r r y P i 99 Poleć książkęKup książkę Instalacja systemu Raspbian Komputer Raspberry Pi nie jest wyposa(cid:285)ony w dysk twardy. System operacyjny komputerów Raspberry Pi 2 i Raspberry Pi Model B+ jest zapisany na karcie microSD, na której przechowywane s(cid:200) równie(cid:285) programy i dane. Starsze wersje Raspberry Pi korzysta(cid:239)y ze standardowej karty SD. Podczas apokalipsy nie b(cid:218)dziesz mia(cid:239) dost(cid:218)pu do internetu, a wi(cid:218)c postaraj si(cid:218) kupi(cid:202) kart(cid:218) z za(cid:239)adowanym systemem. Je(cid:285)eli chcesz sam zainstalowa(cid:202) system na pustej karcie pami(cid:218)ci, a internet jeszcze dzia(cid:239)a, to wykonaj instrukcje przedstawione na stronie: http://www.raspberrypi. org/help/noobs-setup/. Niezale(cid:285)nie od tego, czy kupisz kart(cid:218) z za(cid:239)adowanym systemem, czy umie(cid:258)cisz go na karcie sam, zak(cid:239)adam, (cid:285)e posiadasz kart(cid:218) microSD z instalatorem NOOBS (ang. New Out Of the Box Software) stworzonym przez Raspberry Pi Foundation. W(cid:239)ó(cid:285) kart(cid:218) microSD w odpowiednie gniazdo komputera Raspberry Pi, pod(cid:239)(cid:200)cz do niego klawiatur(cid:218), mysz i monitor, a nast(cid:218)pnie pod(cid:239)(cid:200)cz wszystko do zasilania. Sugerowany przeze mnie monitor powinien wykry(cid:202) Raspberry Pi pod(cid:239)(cid:200)czony do portu HDMI, a Raspberry Pi powinien automatycznie wykry(cid:202) rozdzielczo(cid:258)(cid:202) tego ekranu. Je(cid:285)eli Raspberry Pi nie wykrywa rozdzielczo(cid:258)ci ekranu, to zajrzyj do do- kumentacji znajduj(cid:200)cej si(cid:218) na stronie: http://www.raspberrypi.org/documentation/ — sekcja configuration (konfiguracja) — i zapoznaj si(cid:218) z zawarto(cid:258)ci(cid:200) pliku config.txt, dzi(cid:218)ki której dowiesz si(cid:218), jak skonfigurowa(cid:202) komputer Raspberry Pi. Wydrukuj wspomnian(cid:200) dokumentacj(cid:218) i w(cid:239)ó(cid:285) j(cid:200) do tej ksi(cid:200)(cid:285)ki — przygotuj si(cid:218) na nadej(cid:258)cie apokalipsy i brak dost(cid:218)pu do internetu. Wskazówka Po uruchomieniu Raspberry Pi pakiet NOOBS zaproponuje Ci wybór sys- temu operacyjnego. W tej ksi(cid:200)(cid:285)ce korzystamy z systemu Raspbian, a wi(cid:218)c zaznacz pole znajduj(cid:200)ce si(cid:218) obok nazwy tego systemu i kliknij przycisk Install (instaluj). Instalacja systemu operacyjnego jest d(cid:239)ugotrwa(cid:239)a, a wi(cid:218)c obserwuj wskazania sys- temu wykrywaj(cid:200)cego zombie i upewnij si(cid:218), czy dysponujesz odpowiednim zapasem akumulatorów. Po zako(cid:241)czeniu instalacji mo(cid:285)esz wykona(cid:202) kolejne czynno(cid:258)ci. Do systemu Raspbian do(cid:239)(cid:200)czono wiele u(cid:285)ytecznych programów, ale w chwili pisania tej ksi(cid:200)(cid:285)ki brakuje w nim porz(cid:200)dnej przegl(cid:200)darki internetowej, która b(cid:218)dzie wspó(cid:239)pracowa(cid:239)a z kamer(cid:200) sieciow(cid:200). Moj(cid:200) ulubion(cid:200) przegl(cid:200)dark(cid:200) jest Chromium — zmodyfikowana wersja Google Chrome, która dzia(cid:239)a sprawnie po uruchomieniu na skromnych zasobach komputera Raspberry Pi. Aplikacja Chro- mium, tak jak wi(cid:218)kszo(cid:258)(cid:202) darmowego oprogramowania, musi zosta(cid:202) pobrana z internetu. Przepraszam, je(cid:285)eli jest ju(cid:285) na to za pó(cid:283)no, ale musisz teraz pod(cid:239)(cid:200)czy(cid:202) Rasp- berry Pi do swojego domowego routera za pomoc(cid:200) kabla Ethernet i zainstalowa(cid:202) przegl(cid:200)dark(cid:218) Chromium. Kliknij ikon(cid:218) LX Terminal znajduj(cid:200)c(cid:200) si(cid:218) na pulpicie. Spowoduje to otwarcie okna terminala, w którym b(cid:218)dzie widoczny tylko znak zach(cid:218)ty: $ 100 R o z d z i a (cid:239) 5 Poleć książkęKup książkę Za ka(cid:285)dym razem, gdy b(cid:218)d(cid:218) Ci(cid:218) prosi(cid:239) o wpisanie jakiego(cid:258) polecenia, b(cid:218)d(cid:218) podawa(cid:239) je obok znaku zach(cid:218)ty, którego nie musisz wpisywa(cid:202). W otwartym wcze- (cid:258)niej oknie wprowad(cid:283) nast(cid:218)puj(cid:200)ce polecenia: $ sudo apt-get update $ sudo apt-get install chromium Polecenie sudo (z ang. substitute user do) umo(cid:285)liwia wykonywanie polece(cid:241) administracyjnych. Nale(cid:285)y poprzedzi(cid:202) nim polecenia wymagaj(cid:200)ce uprawnie(cid:241) admi- nistratora — przyk(cid:239)adem takich polece(cid:241) s(cid:200) polecenia instaluj(cid:200)ce nowe oprogra- mowanie, z których teraz korzystamy. Program zarz(cid:200)dzaj(cid:200)cy pakietami apt-get jest sk(cid:239)adnikiem dystrybucji systemu Linux opartych na projekcie Debian i s(cid:239)u(cid:285)y do zarz(cid:200)dzania oprogramowaniem i instalowania aplikacji. Polecenie update u(cid:285)yte wraz z poleceniem apt-get powoduje aktualizacj(cid:218) listy programów dost(cid:218)pnych w internetowych repozytoriach. Polecenie apt-get install sprawi, (cid:285)e program apt-get znajdzie i zainstaluje naj- nowsz(cid:200) wersj(cid:218) pakietu okre(cid:258)lanego przez ostatni argument, który w tym przy- padku okre(cid:258)la konieczno(cid:258)(cid:202) zainstalowania przegl(cid:200)darki Chromium. Po zainstalowaniu przegl(cid:200)darki Chromium mo(cid:285)esz przyst(cid:200)pi(cid:202) do pracy nad projektem monitoringu przeznaczonego do obserwowania poczyna(cid:241) zombie! Projekt 7. Monitorowanie zombie za pomoc(cid:200) kamery sieciowej wyposa(cid:285)onej w interfejs USB W tym projekcie b(cid:218)dziemy korzysta(cid:202) z taniej kamery sieciowej wyposa(cid:285)onej w interfejs USB, któr(cid:200) pod(cid:239)(cid:200)czymy do Raspberry Pi za pomoc(cid:200) d(cid:239)ugiego przewodu. Maksymalna d(cid:239)ugo(cid:258)(cid:202) kabla USB 2.0 wynosi 30 m, a wi(cid:218)c kamer(cid:218) mo(cid:285)esz umie(cid:258)ci(cid:202) nawet w takiej odleg(cid:239)o(cid:258)ci od komputera. Wi(cid:218)kszo(cid:258)(cid:202) elementów projektu wida(cid:202) na rysunku 5.5. Kamera internetowa znajduje si(cid:218) poza kadrem po lewej stronie biurka, a wi(cid:218)c pokaza(cid:239)em j(cid:200) na dodat- kowym obrazku widocznym w prawym górnym rogu tego rysunku. Samodzielna konstrukcja systemu monitoringu, w przeciwie(cid:241)stwie do gotowych zestawów telewizji przemys(cid:239)owej, umo(cid:285)liwia zaprojektowanie oprogramowania idealnie dopa- sowanego do Twoich potrzeb. Kamera sieciowa jest sterowana za pomoc(cid:200) krótkiego programu napisanego w Pythonie. Program ten wykrywa zmiany przechwytywanego obrazu. Po wykry- ciu ruchu zmienia on z zielonego na czerwony kolor (cid:258)wiat(cid:239)a emitowanego przez diod(cid:218) RGB pod(cid:239)(cid:200)czon(cid:200) do pinów z(cid:239)(cid:200)cza GPIO p(cid:239)ytki Raspberry Pi. Alarm mo(cid:285)esz skasowa(cid:202), wciskaj(cid:200)c klawisz spacji — spowoduje to zmian(cid:218) koloru (cid:258)wiat(cid:239)a emito- wanego przez diod(cid:218) z powrotem na zielony. M o n i t o r i n g i R a s pb e r r y P i 101 Poleć książkęKup książkę Rysunek 5.5. Kamera monitoruj(cid:200)ca poczynania zombie oraz alarm wykrywaj(cid:200)cy ruch Projekt ten ma t(cid:218) przewag(cid:218) nad projektem opisanym w rozdziale 4., w pod- rozdziale „Projekt 6. Wykrywanie zombie za pomoc(cid:200) podczerwieni”, (cid:285)e po uru- chomieniu alarmu b(cid:218)dziesz móg(cid:239) dok(cid:239)adnie przyjrze(cid:202) si(cid:218) zombie, który chce Ci(cid:218) zaatakowa(cid:202). Czego b(cid:218)dziesz potrzebowa(cid:239)? Do wykonania tego projektu b(cid:218)dziesz potrzebowa(cid:239) systemu opartego na p(cid:239)ytce Raspberry Pi (opisanego w podrozdziale „Raspberry Pi”) i nast(cid:218)puj(cid:200)cych kompo- nentów: Komponent (cid:135) Kamera USB (cid:135) Przed(cid:239)u(cid:285)acz kabla USB (cid:135) Raspberry Squid — dioda RGB i nak(cid:239)adka u(cid:239)atwiaj(cid:200)ca prac(cid:218) ze z(cid:239)(cid:200)czem GPIO Uwagi List(cid:218) kompatybilnych kamer znajdziesz na stronie: http://elinux.org/RPi_USB_ Webcams Wybierz kabel o w(cid:239)a(cid:258)ciwej d(cid:239)ugo(cid:258)ci (nie mo(cid:285)e ona przekracza(cid:202) 30 m) Dioda RGB z rezystorami ograniczaj(cid:200)cymi oraz przewodami umo(cid:285)liwiaj(cid:200)cymi pod(cid:239)(cid:200)czenie jej do gniazda GPIO (cid:189)ród(cid:239)o Sklep komputerowy Sklep komputerowy Allegro, http://www. monkmakes.com/squid/ 102 R o z d z i a (cid:239) 5 Poleć książkęKup książkę Nie ka(cid:285)da kamera USB jest kompatybilna z Raspberry Pi. List(cid:218) kompatybilnych urz(cid:200)dze(cid:241) znajdziesz na stronie: http://elinux.org/RPi_USB_Webcams. W swojej wersji opisywanego projektu skorzysta(cid:239)em z kamery HP 2300 Webcam. Wskazówka Istnieje specjalny modu(cid:239) kamery o wysokiej rozdzielczo(cid:258)ci przeznaczonej dla Rasp- berry Pi, pod(cid:239)(cid:200)czany bezpo(cid:258)rednio do specjalnego gniazda p(cid:239)ytki Raspberry Pi. Modu(cid:239) ten sprawdza si(cid:218) doskonale jako kamera, jednak w naszym projekcie nie mo(cid:285)emy z niego skorzysta(cid:202), poniewa(cid:285) kamera, której u(cid:285)ywamy, musi by(cid:202) zainsta- lowana w du(cid:285)ej odleg(cid:239)o(cid:258)ci od Raspberry Pi. Raspberry Squid jest praktycznym gad(cid:285)etem stworzonym z my(cid:258)l(cid:200) o Rasp- berry Pi. Jest to dioda RGB LED z wbudowanymi rezystorami ograniczaj(cid:200)cymi, któr(cid:200) mo(cid:285)esz pod(cid:239)(cid:200)czy(cid:202) bezpo(cid:258)rednio do pinów portu GPIO. Projekt ten jest otwarty i instrukcje umo(cid:285)liwiaj(cid:200)ce jego samodzielne zbudowanie znajdziesz na stronie: https://github.com/simonmonk/squid/. Istnieje równie(cid:285) mo(cid:285)liwo(cid:258)(cid:202) zakupu gotowego gad(cid:285)etu. Wi(cid:218)cej informacji na ten temat znajdziesz na stronie: http:// www.monkmakes.com/. Konstrukcja Po po(cid:239)(cid:200)czeniu ze sob(cid:200) wszystkich komponentów wymienionych w sekcji „System Raspberry Pi” b(cid:218)dziesz musia(cid:239) jedynie pod(cid:239)(cid:200)czy(cid:202) diod(cid:218) Raspberry Squid do portu GPIO, kamer(cid:218) do gniazda USB, monitor do pr(cid:200)du o napi(cid:218)ciu 12 V i Raspberry Pi do pr(cid:200)du o napi(cid:218)ciu 5 V (rysunek 5.6). Krok 1. Pod(cid:239)(cid:200)cz diod(cid:218) Raspberry Squid Steruj(cid:200)c trzema z(cid:239)(cid:200)czami, do których pod(cid:239)(cid:200)czona jest dioda Raspberry Squid, mo(cid:285)na wygenerowa(cid:202) dowolny kolor emitowanego przez ni(cid:200) (cid:258)wiat(cid:239)a. W projekcie nie b(cid:218)dziemy korzysta(cid:202) z pe(cid:239)nego potencja(cid:239)u tej diody, poniewa(cid:285) potrzebujemy jedynie (cid:258)wiate(cid:239) zielonego i czerwonego. W celu u(cid:239)atwienia identyfikacji pinów z(cid:239)(cid:200)cza GPIO mo(cid:285)esz skorzysta(cid:202) ze spe- cjalnego szablonu. Szablony takie znajdziesz w ofercie ró(cid:285)nych dostawców, m.in. udost(cid:218)pnia je Adafruit. Przyk(cid:239)adem takiego szablonu jest Raspberry Leaf do(cid:239)(cid:200)- czany do gotowej diody Raspberry Squid. Szablon na(cid:239)ó(cid:285) na piny z(cid:239)(cid:200)cza GPIO — b(cid:218)dziesz móg(cid:239) z (cid:239)atwo(cid:258)ci(cid:200) zidentyfikowa(cid:202) poszczególne styki tego z(cid:239)(cid:200)cza. Teraz mo(cid:285)esz pod(cid:239)(cid:200)czy(cid:202) diod(cid:218) Raspberry Squid (rysunek 5.7). Czarny przewód diody Raspberry Squid nale(cid:285)y pod(cid:239)(cid:200)czy(cid:202) do dowolnego pinu oznaczonego etykiet(cid:200) GND (masa). Proponuj(cid:218), aby(cid:258) skorzysta(cid:239) w tym celu z trzecie- go pinu (licz(cid:200)c od góry) znajduj(cid:200)cego si(cid:218) w prawym rz(cid:218)dzie styków (patrz(cid:200)c na p(cid:239)ytk(cid:218) tak, jak pokazano na rysunku 5.7). Czerwony przewód diody Raspberry Squid pod(cid:239)(cid:200)cz do pinu numer 18, a zielony do pinu numer 23. Nie b(cid:218)dziesz potrzebowa(cid:239) koloru niebieskiego, a wi(cid:218)c niebieski przewód diody Raspberry Squid mo(cid:285)esz pozostawi(cid:202) niepod(cid:239)(cid:200)czony, ale dla porz(cid:200)dku mo(cid:285)esz go pod(cid:239)(cid:200)czy(cid:202) do dowolnego z pozosta(cid:239)ych pinów z(cid:239)(cid:200)cza GPIO oznaczonych etykiet(cid:200) GND. M o n i t o r i n g i R a s pb e r r y P i 103 Poleć książkęKup książkę Rysunek 5.6. Schemat systemu monitoringu Rysunek 5.7. Pod(cid:239)(cid:200)czanie diody Raspberry Squid do z(cid:239)(cid:200)cza GPIO Krok 2. Zainstaluj kamer(cid:218) USB Je(cid:285)eli masz ju(cid:285) kamer(cid:218) USB, to przed ewentualnym zakupem innego modelu sprawd(cid:283), czy posiadany przez Ciebie egzemplarz wspó(cid:239)pracuje z Raspberry Pi. Na pocz(cid:200)tku sprawd(cid:283), czy Raspberry Pi wykrywa Twoj(cid:200) kamer(cid:218) jako urz(cid:200)dzenie 104 R o z d z i a (cid:239) 5 Poleć książkęKup książkę USB — w oknie LXTerminal wpisz polecenie lsusb. Polecenie to nale(cid:285)y wpisa(cid:202) po raz pierwszy przed pod(cid:239)(cid:200)czeniem kamery do komputera oraz po raz drugi po jej pod(cid:239)(cid:200)czeniu (nie korzystaj jeszcze z przed(cid:239)u(cid:285)acza kabla USB). $ lsusb Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. Bus 001 Device 004: ID 03f0:e207 Hewlett-Packard Bus 001 Device 006: ID 04d9:1603 Holtek Semiconductor, Inc. Keyboard Bus 001 Device 005: ID 1c4f:0034 SiGma Micro Je(cid:285)eli po pod(cid:239)(cid:200)czeniu kamery na li(cid:258)cie pojawia si(cid:218) dodatkowe urz(cid:200)dzenie, to powinno by(cid:202) ono Twoj(cid:200) kamer(cid:200). Moja kamera jest wy(cid:258)wietlana na powy(cid:285)szej li(cid:258)cie jako jej czwarty element (licz(cid:200)c od góry). Je(cid:285)eli Twoja kamera nie pojawia si(cid:218) na li(cid:258)cie, to spróbuj j(cid:200) od(cid:239)(cid:200)czy(cid:202), pod(cid:239)(cid:200)czy(cid:202) ponownie, a nast(cid:218)pnie po raz kolejny uruchomi(cid:202) polecenie lsusb. Je(cid:285)eli to nie zadzia(cid:239)a, spróbuj uruchomi(cid:202) Raspberry Pi ponownie. Niestety, wykrywanie kamery jako urz(cid:200)dzenia USB nie gwarantuje jej poprawnej wspó(cid:239)pracy z Raspberry Pi. Oka(cid:285)e si(cid:218) to dopiero po uruchomieniu programu. Mo(cid:285)e by(cid:202) tak, (cid:285)e Twoja kamera dzia(cid:239)a poprawnie dopiero po pod(cid:239)(cid:200)czeniu do aktywnego koncentratora USB. W przypadku starszych modeli Raspberry Pi pod(cid:239)(cid:200)czenie kamery do portu USB mo(cid:285)e powodowa(cid:202) ponowne uruchamianie si(cid:218) ca(cid:239)ego systemu. W takim przypadku kamer(cid:218) nale(cid:285)y pod(cid:239)(cid:200)czy(cid:202) przed uruchomie- niem Raspberry Pi. Krok 3. Instalacja oprogramowania Pod(cid:239)(cid:200)cz Raspberry Pi do sieci za pomoc(cid:200) kabla Ethernet. Upewnij si(cid:218), (cid:285)e po(cid:239)(cid:200)- czenie z internetem jest aktywne, i pobierz archiwum z kodami programów opi- sanych w tej ksi(cid:200)(cid:285)ce. W celu pobrania tego archiwum uruchom przegl(cid:200)dark(cid:218) internetow(cid:200) i wpisz w jej oknie adres: http://www.helion.pl/ksiazki/apokal.htm. Na stronie tej znajdziesz odwo(cid:239)anie do pliku b(cid:218)d(cid:200)cego archiwum z kodem. Podczas pracy nad tym projektem b(cid:218)dziesz korzysta(cid:239) z kodu znajduj(cid:200)cego si(cid:218) w folderze usb_webcam. Archiwum z kodem mo(cid:285)esz pobra(cid:202) równie(cid:285) bezpo(cid:258)rednio z serwera FTP (ramka „Pobieranie kodu z serwera”). Kod programu monitor.py napisanego w Pythonie jest do(cid:258)(cid:202) krótki — wyja- (cid:258)ni(cid:218) go w dalszej cz(cid:218)(cid:258)ci tego podrozdzia(cid:239)u. Nie b(cid:218)d(cid:218) tu opisywa(cid:239) zagadnie(cid:241) zwi(cid:200)zanych z j(cid:218)zykiem Python, które wykraczaj(cid:200) poza tematyk(cid:218) tego projektu. Je(cid:285)eli nie mia(cid:239)e(cid:258) wcze(cid:258)niej styczno(cid:258)ci z tym j(cid:218)zykiem programowania, to mo- (cid:285)esz zajrze(cid:202) do mojej ksi(cid:200)(cid:285)ki Raspberry Pi. Przewodnik dla programistów Py- thona (Helion, 2014). Kod programu rozpoczyna si(cid:218) od polece(cid:241) importuj(cid:200)cych modu(cid:239)y, z których korzysta aplikacja. Importowane biblioteki wchodz(cid:200) w sk(cid:239)ad systemu Raspbian, a wi(cid:218)c nie b(cid:218)dziesz musia(cid:239) ich dodatkowo instalowa(cid:202). M o n i t o r i n g i R a s pb e r r y P i 105 Poleć książkęKup książkę POBIERANIE KODU Z SERWERA Kod wszystkich programów opisanych w tej ksi(cid:200)(cid:285)ce mo(cid:285)esz pobra(cid:202) z serwera FTP. Mo(cid:285)esz to zrobi(cid:202), wpisuj(cid:200)c w oknie przegl(cid:200)darki adres: ftp://ftp.helion.pl/ przyklady/apokal.zip lub wpisuj(cid:200)c w oknie LXTerminal polecenie: $ wget ftp://ftp.helion.pl/przyklady/apokal.zip Spowoduje to pobranie archiwum zawieraj(cid:200)cego kod programów (b(cid:218)dzie do tego potrzebne po(cid:239)(cid:200)czenie z internetem, a wi(cid:218)c plik ten warto pobra(cid:202), zanim rozpocznie si(cid:218) apokalipsa). Pobrane archiwum nale(cid:285)y rozpakowa(cid:202). W tym celu uruchom polecenie: $ unzip apokal.zip W niektórych dystrybucjach systemu Linux rozpakowanie pliku mo(cid:285)e wyma- ga(cid:202) zainstalowania specjalnego narz(cid:218)dzia. W tym celu uruchom polecenie: $ sudo apt-get install unzip import sys import time import pygame import pygame.camera import RPi.GPIO as GPIO Modu(cid:239)y time i sys zawieraj(cid:200) narz(cid:218)dzia umo(cid:285)liwiaj(cid:200)ce dost(cid:218)p do systemu opera- cyjnego i u(cid:258)pienie programu (jest to sposób na opó(cid:283)nienie wykonywania niektó- rych operacji). Modu(cid:239) pygame zawiera graficzn(cid:200) bibliotek(cid:218) gier Pygame, w której znajduje si(cid:218) interfejs obs(cid:239)uguj(cid:200)cy kamer(cid:218). Program wymaga równie(cid:285) dost(cid:218)pu do systemu GPIO w celu sterowania prac(cid:200) diody LED — umo(cid:285)liwia to biblio- teka RPi.GPIO. W dalszej cz(cid:218)(cid:258)ci kodu znajduj(cid:200) si(cid:218) sta(cid:239)e, które b(cid:218)d(cid:200) u(cid:285)ywane przez program. Mo(cid:285)esz je zmodyfikowa(cid:202), je(cid:285)eli chcesz korzysta(cid:202) z obrazu kamery o innej rozdziel- czo(cid:258)ci lub je(cid:285)eli chcesz zwi(cid:218)kszy(cid:202) domy(cid:258)lny rozmiar okna. camera_res = (320, 240) window_size = (640, 480) red_pin = 18 green_pin = 23 Parametry znajduj(cid:200)ce si(cid:218) w nawiasach po sta(cid:239)ych camera_res i window_size okre(cid:258)laj(cid:200) kolejno szeroko(cid:258)(cid:202) i wysoko(cid:258)(cid:202) wyra(cid:285)one w pikselach. Kod znajduj(cid:200)cy si(cid:218) po tych sta(cid:239)ych inicjalizuje system Pygame (u(cid:285)ywany do wy(cid:258)wietlania obrazu rejestrowanego przez kamer(cid:218)), kamer(cid:218) oraz porty GPIO, które umo(cid:285)liwiaj(cid:200) ste- rowanie barw(cid:200) diody Raspberry Squid: 106 R o z d z i a (cid:239) 5 Poleć książkęKup książkę pygame.init() pygame.camera.init() # Inicjalizuj z(cid:225)(cid:261)cze GPIO. GPIO.setmode(GPIO.BCM) GPIO.setup(red_pin, GPIO.OUT) GPIO.setup(green_pin, GPIO.OUT) screen = pygame.display.set_mode(window_size, 0) # Znajd(cid:296), otwórz i uruchom kamer(cid:266) o niskiej rozdzielczo(cid:286)ci. cam_list = pygame.camera.list_cameras() webcam = pygame.camera.Camera(cam_list[0], camera_res) webcam.start() old_image = False Pierwsze dwie linie kodu inicjalizuj(cid:200)cego ( ) obs(cid:239)uguj(cid:200) bibliotek(cid:218) Pygame ) inicjalizuj(cid:200) porty z(cid:239)(cid:200)cza GPIO. Nast(cid:218)pnie inicjali- i kamer(cid:218), a kolejne trzy linie ( ) — przybiera on wymiary okre(cid:258)lone przez sta(cid:239)(cid:200) window_size. zowany jest ekran ( ) wyszukuje wszystkie kamery Kolejny fragment kodu (oznaczony numerem pod(cid:239)(cid:200)czone do Raspberry Pi, a nast(cid:218)pnie tworzy odwo(cid:239)anie do pierwszej z nich (webcam). Nast(cid:218)pnie kamera ta jest uruchamiana. Ostatnia linia kodu ( ) definiuje zmienn(cid:200) o nazwie old_image, która jest u(cid:285)ywana do wykrywania ruchu w wyniku porównywania ze sob(cid:200) kolejnych klatek rejestrowanych przez kamer(cid:218). Po inicjalizacji wszystkich elementów program uruchamia sprawdzaj(cid:200)c(cid:200) ruch funkcj(cid:218) check_for_movement: def check_for_movement(old_image, new_image): global c diff_image = pygame.PixelArray(new_image) .compare(pygame.PixelArray(old_image), distance=0.5, weights=(0.299, 0.587, 0.114)) ys = range(0, camera_res[1] / 20) for x in range(0, camera_res[0] / 20): for y in ys: if diff_image[x*20, y*20] 0: return True return False Funkcja check_for_movement porównuje ze sob(cid:200) dwa obrazy: poprzedni(cid:200) klatk(cid:218) (old_image) i ostatni(cid:200) klatk(cid:218) (old_image). Parametr distance jest u(cid:285)ywany do porów- nywania (compare) ró(cid:285)nicy pomi(cid:218)dzy kolorami odpowiadaj(cid:200)cych sobie pikseli obu obrazów. Parametr weights nie jest wyja(cid:258)niony w dokumentacji biblioteki pygame, a warto(cid:258)ci u(cid:285)yte w tym programie zosta(cid:239)y wzi(cid:218)te z przyk(cid:239)adu PixelArray przedstawionego w dokumentacji tej biblioteki (http://www.pygame.org/docs/ref/ pixelarray.html). W wyniku operacji porównywania powstaje nowy obraz o nazwie diff_image, w którym bia(cid:239)e piksele zosta(cid:239)y wstawione w miejsca, gdzie wykryto ró(cid:285)nic(cid:218) kolorów. M o n i t o r i n g i R a s pb e r r y P i 107 Poleć książkęKup książkę W celu wykrycia ruchu program powinien przeanalizowa(cid:202) ka(cid:285)dy piksel obrazu diff_image, ale du(cid:285)y ruch spowoduje zmian(cid:218) wielu pikseli, a zombie s(cid:200) du(cid:285)e. W zwi(cid:200)zku z tym kod analizuje co dwudziesty piksel. Kolejne dwie funkcje sprawiaj(cid:200), (cid:285)e dioda Raspberry Squid emituje czerwone (red) lub zielone (green) (cid:258)wiat(cid:239)o: def led_red(): GPIO.output(red_pin, True) GPIO.output(green_pin, False) def led_green(): GPIO.output(red_pin, False) GPIO.output(green_pin, True) Raspberry Squid jest zwyczajn(cid:200) diod(cid:200) RGB LED i tak jak w przypadku wi(cid:218)kszo(cid:258)ci diod tego typu kolor emitowanego przez ni(cid:200) (cid:258)wiat(cid:239)a mo(cid:285)na okre(cid:258)li(cid:202), stosuj(cid:200)c odpowiedni(cid:200) kombinacj(cid:218) wysokich (True) i niskich (False) stanów sygna(cid:239)ów podawanych na piny z(cid:239)(cid:200)cza GPIO, do których pod(cid:239)(cid:200)czona jest dioda. W tym projekcie chcemy, aby dioda emitowa(cid:239)a (cid:258)wiat(cid:239)o o kolorach czerwonym i zielo- nym, a wi(cid:218)c kod przekazuje do jednego z pinów argument True, a do drugiego argument False. Nie korzystamy tu z koloru niebieskiego, a wi(cid:218)c nie musimy zaj- mowa(cid:202) si(cid:218) trzecim emiterem diody. Na koniec doszli(cid:258)my do g(cid:239)ównej p(cid:218)tli programu, która przechwytuje now(cid:200) klatk(cid:218) obrazu i skaluje j(cid:200) tak, aby mo(cid:285)na j(cid:200) by(cid:239)o wy(cid:258)wietli(cid:202) w oknie programu: count = 0 led_green() while True: count = count + 1 new_image = webcam.get_image() # Zdefiniuj obraz old_image podczas pierwszego wykonania kodu p(cid:266)tli. if not old_image: old_image = new_image scaled_image = pygame.transform.scale(new_image, window_size) # Pnly sprawdza co dziesi(cid:261)t(cid:261) klatk(cid:266). if (count 10) == 0 : if check_for_movement(old_image, new_image): led_red() count = 0 old_image = new_image screen.blit(scaled_image, (0, 0)) pygame.display.update() Zmienna count przechowuje liczb(cid:218) wywo(cid:239)a(cid:241) p(cid:218)tli. Gdy zmienna count osi(cid:200)gnie warto(cid:258)(cid:202) równ(cid:200) 10, to porównywane s(cid:200) ostatnie dwa obrazy. Analiza co dziesi(cid:200)tego obrazu przyspiesza dzia(cid:239)anie programu (gdyby nie ten zabieg, dzia(cid:239)a(cid:239)by on zbyt wolno). W przypadku wykrycia ruchu funkcja check_for_movement zwraca war- to(cid:258)(cid:202) logiczn(cid:200) True, a kolor (cid:258)wiat(cid:239)a emitowanego przez diod(cid:218) LED jest zmieniany na czerwony. 108 R o z d z i a (cid:239) 5 Poleć książkęKup książkę Ostatnia cz(cid:218)(cid:258)(cid:202) kodu g(cid:239)ównej p(cid:218)tli programu sprawdza wyst(cid:200)pienie zdarzenia zamkni(cid:218)cia okna, które powoduje zatrzymanie dzia(cid:239)ania programu: # Sprawd(cid:296) wyst(cid:261)pienie zdarze(cid:276). for event in pygame.event.get(): if event.type == pygame.QUIT: webcam.stop() pygame.quit() sys.exit() if event.type == pygame.KEYDOWN: print(event.key) if event.key == 32: # spacja led_green() Podczas sprawdzania wyst(cid:200)pienia zdarze(cid:241) przechwytywane s(cid:200) równie(cid:285) zda- rzenia polegaj(cid:200)ce na wci(cid:258)ni(cid:218)ciu klawisza (KEYDOWN). Po wci(cid:258)ni(cid:218)ciu spacji program zmienia kolor (cid:258)wiat(cid:239)a emitowanego przez diod(cid:218) LED na zielony. Korzystanie z kamery W celu uruchomienia kamery w oknie terminala Raspberry Pi wpisz wymienione ni(cid:285)ej polecenia. Powinny one spowodowa(cid:202) otwarcie okna pokazuj(cid:200)cego podgl(cid:200)d obrazu rejestrowanego przez kamer(cid:218) (rysunek 5.8). $ cd /home/pi/zombie/Raspberry Pi/usb_webcam $ sudo python monitor.py Rysunek 5.8. Dzia(cid:239)anie kamery USB M o n i t o r i n g i R a s pb e r r y P i 109 Poleć książkęKup książkę Dioda Raspberry Squid powinna teraz emitowa(cid:202) (cid:258)wiat(cid:239)o zielone. W celu spraw- dzenia dzia(cid:239)ania mechanizmu wykrywaj(cid:200)cego ruch pomachaj r(cid:218)k(cid:200) przed obiek- tywem kamery. Dioda LED powinna zmieni(cid:202) kolor emitowanego (cid:258)wiat(cid:239)a na czer- wony. Zmiana koloru na zielony nast(cid:200)pi dopiero po wci(cid:258)ni(cid:218)ciu klawisza spacji. Je(cid:285)eli wszystko dzia(cid:239)a poprawnie po pod(cid:239)(cid:200)czeniu kamery bezpo(cid:258)rednio do Raspberry Pi, czas sprawdzi(cid:202) dzia(cid:239)anie kamery po pod(cid:239)(cid:200)czeniu jej za po(cid:258)red- nictwem przed(cid:239)u(cid:285)acza kabla USB. Kamer(cid:218) zamontuj w miejscu umo(cid:285)liwiaj(cid:200)cym podgl(cid:200)d wej(cid:258)cia do bazy (dzi(cid:218)ki kamerze b(cid:218)dziesz wiedzia(cid:239), czy mo(cid:285)esz bezpiecznie wyj(cid:258)(cid:202) z bazy). Istnieje pewna d(cid:239)ugo(cid:258)(cid:202) kabla, po przekroczeniu której zniekszta(cid:239)cenia sygna(cid:239)u generowanego przez kamer(cid:218) b(cid:218)d(cid:200) na tyle du(cid:285)e, (cid:285)e Raspberry
Pobierz darmowy fragment (pdf)

Gdzie kupić całą publikację:

Apokalipsa zombie nadchodzi! Obroń swoją bazę za pomocą prostych obwodów, Arduino i Raspberry Pi
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ą: