andgrus

  • Dokumenty12 163
  • Odsłony696 816
  • Obserwuję375
  • Rozmiar dokumentów19.8 GB
  • Ilość pobrań549 612

Kurs Raspberry

Dodano: 5 lata temu

Informacje o dokumencie

Dodano: 5 lata temu
Rozmiar :17.3 MB
Rozszerzenie:pdf

Kurs Raspberry.pdf

andgrus Dokumenty Arduino
Użytkownik andgrus wgrał ten materiał 5 lata temu.

Komentarze i opinie (0)

Transkrypt ( 25 z dostępnych 97 stron)

Poziomtekstu:średniotrudnySZKOŁA Na warsztacie Raspberry Pi jak zacząć? Bez obaw! To zrozumiałe dla nieelektroników Ten temat w rubryce „Na warsztacie” to prawdziwy znak czasów. Tak właśnie może wyglądać nowoczesne majsterkowanie. Tak, czyli jak? Przeczytajcie tekst o kom- puterku Raspberry Pi i wszystko będzie jasne. I wcale nie trzeba być elektronikiem, by umiejętnie dobierać komponenty i przy pewnej wiedzy o budowie środowiska tworzyć własne projekty. Tego właśnie nauczy Cię ten artykuł. 1. Ciężarówka Lego sterowana przez RPi 2. Raspberry Pi się w formie wykresu na serwerze WWW dostar- czonym przez RPi, to żaden problem. Nawet jeżeli zbytnio „namieszamy” w Linuksie, wystarczy od nowa nagrać obraz systemu na kartę SD (ang. Secure Digital) i zaczynamy zabawę od początku. Wszystko to sprawia, że RPi może być pierwszym krokiem do przygody z mechatroniką. To oryginalny sposób na naukę Linuksa, programowania w C, Pythonie i wprowadzenie w dziedzinę elektroniki cyfrowej – czyli swego rodzaju elementarz inżyniera-projek- tanta systemów. Raspberry Pi a konkurencja Raspberry Pi to unikalna kombinacja możliwości do ceny. Na rynku istnieją inne konstrukcje, zarówno tańsze, jak i znacznie droższe, oferujące różne opcje i przeznaczone do różnych zastosowań. Wspomnę tu chociażby BeagleBone Black czy serię Arduino. Tym jednak, co czyni RPi tak wyjątkowym, jest wsparcie społeczności. RPi to bowiem dzieło fundacji non- -profit, której celem jest popularyzacja Linuksa i elek- troniki. W efekcie powstało tanie i łatwo dostępne urządzenie o sporych możliwościach. Natychmiast skupiło wokół siebie setki tysięcy pasjonatów na całym świecie. Chętnie dzielą się oni wiedzą, do- świadczeniem i kodem udostępnianym najczęściej w ramach otwartych licencji. Do czego to służy? Raspberry Pi (RPi) to minikomputer z możliwoś- ciami mikrokontrolera. Podłączając do niego monitor, klawiaturę i myszkę, zmienimy go w sta- cjonarny komputer wyposażony w system Linuks. Umieszczone na płycie RPi złącza GPIO (ang. General Purpose Input/Output) można wykorzy- stać do podłączenia czujników (np. temperatury, odległości) czy sterowania silnikami. Za pomocą RPi zmienicie zwykły telewizor w urządzenie typu „smart” z dostępem do Internetu i obsługą zasobów sieciowych. W oparciu o RPi zbudujecie robota albo wzbogacicie swój dom o inteligentne rozwiązania sterujące np. oświetleniem. Ilość zastosowań zależy tylko od Waszej inwencji! Czym jest? Raspberry Pi ze względu na ograniczoną wydajność nie zastąpi komputera stacjonarnego. Ma jednak wystarczającą moc, żeby odtwarzać domowe multi- media. RPi nie jest tak mały i wyspecjalizowany jak klasyczne kontrolery. Za to napędza go Linuks, który daje bardzo duże możliwości tworzenia aplikacji (również graficznych). W porównaniu do komputerów jest tani, choć droższy od większości kontrolerów. Powiedziałbym, że w żadnej dziedzinie nie jest asem, ale w każdej ma coś ciekawego do zaoferowania. Raspberry Pi zachęca do próbowania, ekspery- mentowania, łączenia różnych technik. Wpięcie do niego czujnika temperatury, którego odczyty pojawią

79 zostały uprzednio sprawdzone pod względem zgodności z RPi i dostarcza się je z nagranym instalatorem systemu. Są praktycznie gotowe do użycia. W innym przypadku należy zaopatrzyć kartę w taki obraz – co samo w sobie nie jest operacją specjalnie skomplikowaną. Kolejnym elementem pakietu podstawowego jest obudowa. Kupując RPi, dostajemy płytkę w foliowym woreczku, więc zadbanie o odpowiednią obudowę jest konieczne ze względów praktycznych, a także bez- pieczeństwa. Zapłacimy za nią co najmniej 25 zł, ale można ją również zrobić samemu – np. z dostępnych w Internecie szablonów lub nawet z klocków Lego. Najdroższym elementem na naszej liście zaku- pów jest monitor. W zasadzie można się bez niego obejść (poprzez zdalny dostęp, patrz poniżej). Dobrze jednak zapewnić go sobie ze względu na sytuacje awaryjne (niestety się zdarzają). RPi ma dwa rodzaje wyjść wideo: cyfrowe HDMI i analogowe. Wejście HDMI (audio+video) znajdziemy w większości współczesnych monitorów i w prawie każdym tele- wizorze. Do połączenia służy specjalny kabel, który można nabyć w dowolnym markecie w cenie od ok. 10 zł. I tu mała uwaga: HDMI jest połączeniem cy- frowym. Pozłacanie styków ma w najlepszym razie marginalny wpływ na jakość sygnału. Dobierajcie raczej kabel o odpowiedniej długości niż niesamowi- tych właściwościach. Analogowe wyjście wideo kompozytowe typu „cinch” (RCA) służy do podłączania starszych telewi- zorów. Żółte wyjście zapewnia obraz. Dźwięk można wyprowadzić z niebieskiej wtyczki stereo typu „jack” z użyciem przejściówki na dwa „cinche” (najczęściej biała lub czarna dla lewego i czerwona dla prawego kanału). Przejściówki i kable kosztują po kilka zł. RPi i sieć Kolejnym niezwykle pożądanym krokiem jest podłą- czenie RPi do sieci domowej i Internetu. Pozwala to nie tylko na zdalną pracę, ale np. na ściąganie dodat- kowych bibliotek, uzupełnianie systemu o poprawki czy łatwy dostęp do plików. Większość użytkowni- ków dostaje się do Internetu za pomocą domowego routera podłączonego do np. linii telefonicznej (np. technologia ADSL). Takie routery najczęściej mają zestaw gniazd pozwalających na podłączenie kilku dodatkowych komputerów. Właśnie tam należy wpiąć nasz RPi za pomocą kabla RJ45 (ang. path- cord). RPi stanie się wtedy jednym z komputerów w naszej domowej sieci. Upewnijcie się wcześniej, czy ustawienia routera nie zablokują ruchu z/do RPi (np. wewnętrzny firewall, filtracja adresów MAC). Sprawdźcie również, czy umowa z Waszym opera- torem nie ogranicza liczby podłączanych urządzeń w ramach jednego abonamentu. Dostęp zdalny Mając RPi podłączone do sieci domowej, może- my pracować na nim zdalnie. Polega to na tym, że np. nasz laptop łączy się do RPi za pomocą RPi jako komputer stacjonarny Raspberry Pi można używać na wiele sposobów. Zacznijmy od przypadku, gdy RPi działa jako kom- puter stacjonarny. Potrzebujemy do tego: płytki Raspberry Pi, zasilacza, klawiatury, myszy, karty SD (ang. Secure Digital), obudowy i monitora. Możliwości komputerka będą większe, jeżeli RPi podłączymy do sieci domowej lub Internetu. Na rynku znajdziemy wiele dodatkowych akcesoriów, ja skoncentruję się na konfiguracji podstawowej. Nadmienię jedynie, że RPi można wyposażyć w większość dostępnych urządzeń USB (jak karta WiFi czy Bluetooth) oraz całkiem spory wybór akcesoriów specyficznych dla tego minikompu- tera (np. kamera na podczerwień). Zanim cokolwiek kupimy, warto jednak przejrzeć zawartość szuflad. Do RPi pasują np. ładowarki z większości telefonów ko- mórkowych (pod warunkiem ich odpowiedniej mocy, o czym napiszę dalej). Monitor możemy dzielić z do- mowym komputerem (lub użyć telewizora). Podobnie jest z klawiaturą i myszą na USB. Niektóre urządzenia mogą wymagać dodatkowej konfiguracji w oprogra- mowaniu RPi (jak np. uruchomienie analogowego wyjścia audio). Na rynku spotkamy dwie wersje Raspberry Pi: A i B (rewizja 2). Wersja A ma mniej pamięci (256 MB zamiast 512) i jedno gniazdo USB zamiast dwóch w wersji B. Nie przewidziano w niej też gniazda Ethernet – nie można jej więc bezpośrednio podłą- czyć do Internetu czy sieci domowej (Ethernetu). Obchodzimy jednak to ograniczenie, używając karty WiFi podłączonej do portu USB. Wersje A i B nie róż- nią się pod względem procesora głównego (CPU) czy graficznego (GPU). Obydwie z powodzeniem wyświet- lą film w jakości HD poprzez złącze HDMI. Ze wzglę- du na port Ethernet zdecydowanie polecam jednak zakup wersji B. Jej obecny koszt to ok. 160 zł. W porównaniu do A, wersja B odznacza się więk- szym „apetytem” na prąd. Wymaga zasilacza o na- tężeniu co najmniej 700 mA. Dodatkowe akcesoria zwiększą to zapotrzebowanie. Najlepiej więc zakupić zasilacz 1,5 A, 5 V, z wyjściem typu micro USB. Oznacza to dodatkowy koszt od ok. 15 zł. Potrzebujemy jeszcze klawiatury oraz myszki na USB; ceny za komplet zaczynają się od 30 zł. RPi nie ma wbudowanej żadnej pamięci nieulotnej – typu flash czy twardego dysku. System operacyjny i system plików umieszczone są na karcie typu SD. Karta SD jest więc konieczna, bez niej RPi w ogóle nie wystartuje. Czytnik karty znajduje się pod płytką. Jeżeli macie miniSD czy microSD potrzebny będzie odpowied- ni adapter. Rynek oferuje karty wielu producentów o róż- nych klasach prędkości (najszybsze to klasa 10). Problem z RPi polega jednak na tym, że nie wszystkie będą gwarantowały stabilne działanie. Możliwości są dwie: zakup karty sygnowanej logo Raspberry lub innej, której kompatybilność potwierdzono w rejestrze kart na stro- nie www.elinux.org/RPi_SD_cards. Karty sygnowane

Poziomtekstu:średniotrudnySZKOŁA 80 Na warsztacie sklepów elektronicznych i marketów (tylko za nowe części, bez kosztów przesyłki). A gdybym chciał sterować diodami? Dotychczasowy kosztorys obejmował głównie część „komputerową”. RPi stworzono jednak z myślą o łączeniu z zewnętrzną elektroniką, np. czujni- kami, silnikami. Na rynku dostępna jest bardzo duża ilość zarówno pojedynczych elementów, jak i kompletnych modułów. Ich ceny są zróżnicowane – od kilkudziesięciu groszy po setki zł. Jeżeli prze- widujemy zabawę elektroniką, warto zaopatrzyć się w taśmę 26 pin (2×13) oraz płytkę stykową (ang. breadboard). Taśma pozwoli na wyprowadzenie złącza GPIO poza kontroler. Łączenie kabli bezpośrednio do szpilek GPIO na RPi – zwłaszcza umieszczonego w obudowie – jest i niewygodne, i ryzykowne (moż- na uszkodzić szpilkę lub zewrzeć nie to, co trzeba). Odpowiednią taśmę dość trudno jednak dostać. Najłatwiej więc zrobić ją samemu, kupując dwa wty- ki IDC żeńskie 26 pin (dwa rzędy po 13 pinów) i pół metra taśmy 26-żyłowej. Roboty będzie na pięć mi- nut, a koszt okaże się nie większy niż 2 zł (samouczki są do znalezienia w Internecie). Płytka stykowa służy do łatwego tworzenia prototypów. Nie trzeba nic lutować, elementy łączy się za pomocą przewodów wtykanych w odpowied- nie dziurki. Przykładowo, proponuję zakup płytki stykowej z 400 polami i przewodów połączeniowych odpowiedniego protokołu sieciowego (np. SSH). Użytkownik, siedząc przed własnym kompute- rem, pracuje na RPi. Komputer użytkownika staje się wtedy jedynie terminalem przekazującym polecenia do RPi i wyświetlającym ich rezultaty. W rzeczywistości właśnie z tego trybu korzysta się najczęściej. Nie wymaga on podłączenia do RPi ani myszki, ani nawet klawiatury. Nie potrzebujemy monitora. Należy tylko skonfigurować domową sieć. Wspomniany wyżej router stanowi jej centralną część i zazwyczaj decyduje np. o adresie IP. Każde urządzenie w sieci domowej musi mieć unikalny adres IP – tak, aby można było je jednoznacznie zidentyfikować. Dzięki temu router odpowiednio kieruje ruchem między urządzeniami i do Internetu. Warunkiem sprawnej zdalnej pracy jest to, żeby nasz RPi dostawał taki sam adres IP przy każdym restarcie. Można to osiągnąć np. poprzez dodanie wyjątku do serwera DHCP dostarczanego przez Wasz router. Niestety, w prawie każdym typie rou- tera ustawia się to inaczej – odsyłam więc do odpo- wiedniej instrukcji obsługi. Oczywiście tryb zdalny wcale nie musi oznaczać, że nie będziecie widzieli żadnej grafiki. Przesyłanie grafiki z użyciem np. Xming można bez większych problemów skonfigurować na komputerze i cieszyć się linuksowymi okienkami na ekranie laptopa z Windowsem. Podsumowanie listy zakupów Podsumujmy koszty związane z używaniem RPi. Tabela 1 zawiera minimalne ceny ze znanych mi Tabela 1. Czego potrzeba, by rozpocząć pracę z RPi? Element Orientacyjna cena minimalna [zł] Wymagane do pracy stacjonarnej Wymagane do pracy zdalnej Uwagi Raspberry Pi B 160 tak tak Zasilacz 5 V 1,5 A, microUSB 15 tak tak Mogą pasować niektóre zasilacze do telefonów komórkowych Karta SD, 8 GB, klasa 10 20 tak tak Dowolna zgodna z RPi; sygnowane – ok. 30 zł Klawiatura, mysz USB 30 tak nie Może być dzielona z domowym PC Kabel HDMI lub RCA cinch 10 tak nie Zależnie od monitora/ telewizora Obudowa RPi 25 zalecane zalecane Można zrobić samemu, nawet z Lego Pathcord RJ45 5 nie tak Do podłączenia do routera Monitor z HDMI 450 tak nie Można zastąpić przez domowy telewizor Suma 260 bez monitora; 710 z monitorem 225 Dostęp do Internetu/sieci domowej Zalecany Konieczny dostęp do sieci domowej m.technik - www.mt.com.pl

81 w oprogramowania OpenSource. System operacyjny jest darmowy, większość narzędzi również. W sieci znajdziemy wiele bezpłatnych bibliotek i przykła- dów. Wyjątkiem mogą być dekodery do niektórych formatów plików multimedialnych. W zastosowa- niach edukacyjnych nie są one jednak wymagane. Podsumowanie Powyższa analiza pokazuje, że skompletowanie śro- dowiska do pracy z Raspberry Pi nie jest skompliko- wane, choć wymaga pewnego rozpoznania i przygo- towania. Za stosunkowo niewielkie pieniądze można pozyskać świetną pomoc dydaktyczną, platformę do doświadczeń mechatronicznych czy wzbogacić moż- liwości domowego centrum rozrywki.  Arkadiusz Merta męsko-męskich (łączenie na płytce) oraz męsko- -żeńskich (łączenie z płytki do taśmy) – przynajmniej po 20 sztuk, najlepiej różnokolorowych. Koszt płytki stykowej i kabli wynosi ok. 25 zł. Alternatywnie zamiast taśmy i przewodów męsko- -żeńskich można zakupić gotowy adapter do GPIO. Kosztuje ok. 36 zł. Wygląda profesjonalnie, ale zabie- ra sporo miejsca na płytce stykowej. Do pierwszych eksperymentów elektronicznych proponuję zaopatrzyć się w podstawowe elementy, jak diody LED (świecące) czy wyłączniki (ang. tact switch) z zestawem koniecznych rezystorów. Później możecie pomyśleć o (podanych w kolejności skom- plikowania) następujących elementach: • pamięć EEPROM, np. 24xx512: do podłącze- nia wystarczą dwa rezystory 4,7 kΩ i kilka przewodów; nauka protokołu I2 C; koszt części w granicach 5 zł; • czujnik temperatury DS18B20: do podłą- czenia wymaga jednego rezystora 4,7 kΩ, pozwala opanować protokół 1-Wire, wymaga trochę więcej oprogramowania; koszt części w granicach 5 zł; • miernik odległości HC-SR04: wymaga zasi- lania 5 V i dzielnika napięcia na wyjściu (5 V do 3,3 V); koszt w granicach 15 zł; • wyświetlacz LCD, np. pozyskany ze starej Nokii 3310/5510 lub podobnych; nauka inter- fejsu SPI wymaga trochę więcej kodu i zdol- ności elektronicznych, ale efekt bywa bardzo ciekawy; • silnik sterowany przez odpowiedni moduł prądowy, np. DRV8833 (ok. 25 zł); silnik można pozyskać np. z zestawu Lego; warto tu rozpatrzyć użycie ekspandera portów podłą- czanego na I2 C, np. PCF8574. Oczywiście jeżeli zechcemy przenieść nasz projekt z płytki stykowej na docelowy układ, trzeba będzie rozszerzyć warsztat o lutownicę, miernik elektro- niczny, płytki do elementów przewlekanych itp. W przypadku budowy np. robotów warto zastano- wić się nad zasilaniem i sterowaniem niezależnym od gniazdek w ścianie. Dla przykładu, jako źródło zasilania można użyć zewnętrznych baterii do „ratun- kowego” ładowania telefonu. Sprzedawane są modele dające nawet 2 A i obsługujące do dwóch urządzeń jednocześnie (np. RPi i silniki robota; koszt ok. 80 zł). Do bezprzewodowego sterowania nadaje się połącze- nie przez Wi-Fi lub Bluetooth na USB. Można także zbudować układ z użyciem odbiornika podczerwieni i sterować naszym urządzeniem za pomocą pilota (przykładowe odbiorniki: TSOP1238, TSOP32338). Oprogramowanie Jak zapewne zauważyliście, w powyższych zesta- wieniach nie ma słowa o cenach oprogramowania. W przypadku komputerów stacjonarnych opłaty licencyjne mogą przewyższać cenę samego sprzę- tu. Na nasze szczęście RPi to projekt celujący 3. Płytka stykowa z modułem czujnikiem odległości HC-SR04, pamięcią EEPROM 24fc512 i czujnikiem temperatury 1-Wire DS18B20 4. Raspberry Pi z płytką prototypową do sterowania ciężarówką; widoczny ekspander portów I2 C PCF8574AP, sterownik silników DRV8833 i odbiornik podczerwieni TSOP1238

83 SZKOŁA Na warsztacie Poziomtekstu:średniotrudny Raspberry Pi Pierwsze kroki Bez obaw! To zrozumiałe dla nieelektroników W poprzednim numerze „Młodego Technika” przedstawialiśmy Raspberry Pi – minikomputer z możliwościami mikrokontrolera. Pytanie brzmiało prosto: jak zacząć? Tym razem zastanowimy się nad codzienną pracą z tym zaskakująco wydajnym urządzeniem. Jakiego oprogramowania będziemy potrzebować? Jak je wykorzystamy? Jakich problemów możemy się spodziewać i jak je rozwiążemy? pamięci nieulotnej. Cały system operacyjny i system plików umieszczony jest właśnie na karcie SD. Jej obecność warunkuje start naszego minikomputera. Wbudowany czytnik wymaga kart o rozmiarze SD. Dla kart mini- albo microSD potrzebujemy odpo- wiedniego adaptera. Używajcie kart sygnowanych logo Raspberry albo zgodnych. Lista przetestowanych kart znajduje się na stronie http://elinux.org/RPi_SD_cards. Karty sygnowane logo RPi mają już zainstalowany obraz systemu i można ich używać bez dodatkowych zabie- gów. Inne karty trzeba uprzednio zainicjować. Robi się to poprzez skopiowanie na wyczyszczoną kartę odpowiedniego zestawu plików (ok. 1.7 GB). Pliki można nieodpłatnie ściągnąć ze strony Czego potrzebuję do instalacji? Do pierwszego uruchomienia Raspberry Pi (RPi), oprócz samego urządzenia, będziecie potrzebować odpowiedniego zasilacza (microUSB, 5 V i 1,5 A), karty SD, monitora z wejściem HDMI lub telewizora z wejściem kompozytowym (plus odpowiednie kab- le) oraz klawiatury USB (opcjonalnie myszki USB). Do przygotowania karty SD niesygnowanej logo Raspberry konieczny będzie dodatkowy komputer wyposażony w czytnik kart SD. Opcjonalnie RPi po- winien mieć też możliwość podłączenia do Internetu. Słowo o kartach SD Przed uruchomieniem RPi należy odpowiednio przy- gotować kartę SD. RPi nie ma bowiem wewnętrznej 1. Płytka RPi – rozkład elementów

84 m.technik - www.mt.com.pl Poziomtekstu:średniotrudnySZKOŁA Na warsztacie Większość z tych opcji można ustawić póź- niej, wywołując konfigurator poleceniem: „sudo raspi-config”. Gdy przejdziemy ten etap, na ekranie powinno pokazać się okienko logowania do interfejsu gra- ficznego (tylko w przypadku monitora podłączonego przez złącze HDMI). Logujemy się jako użytkownik „pi” z hasłem „raspberry”. Po chwili otworzy się pulpit. Jestem pewien, że szybko poradzicie sobie z nawigacją i zaczniecie odkrywać zasoby systemu. Na początek proponuję zlokalizować przeglądarkę Midori oraz skrót do konsoli (ang. terminal). Jeżeli nie macie podłączonej myszki, wystarczy wcisnąć CTRL-ALT-F1, żeby przejść to trybu terminala. Podłączenie do sieci RPi otworzy przed Wami więcej możliwości, gdy włączycie go do domowej sieci i dalej – do Internetu. W praktyce ogranicza się to najczęściej do wpię- cie kabla RJ45 z jednej strony do gniazda Ethernet naszego RPi, a z drugiej do domowego routera. Resztę załatwią automatyczne serwisy działające na obu urządzeniach (np. serwer DHCP na routerze przydzie- lający adresy). Nasz RPi będzie widziany jako kolejny komputer w sieci. Opcjonalnie RPi można wyposa- żyć w kartę WiFi wtykaną do gniazda USB. Wymaga to dodatkowej konfiguracji – sposób ten pozostawiam bardziej zaawansowanym użytkownikom. Jeżeli wszystko jest w porządku, na płytce RPi za- świeci się dioda FDX oraz 100, a dioda LNK zacznie www.raspberrypi.org. Znajdują się w dziale Download. Na początek najlepiej wybrać opcję Noobs. Warto obejrzeć samouczek znajdujący się pod adresem http://www.raspberrypi.org/help/noobs-se- tup, który wyjaśni wszelkie wątpliwości dotyczące instalacji (materiał jest po angielsku). Czytnik kart znajduje się na spodzie płytki. Kartę wkłada się stykami do góry. Karta powinna siedzieć w gnieździe głęboko i pewnie. W żadnym wypadku nie należy wyciągać jej podczas działania RPi. Przed włożeniem karty upewnijcie się, że RPi nie jest pod- łączony do prądu – podłączenie sygnalizuje palenie się czerwonej diody PWR (koło gniazda USB). Przed usunięciem karty zastopujcie Linuksa (polecenie „sudo halt”) i wyłączcie RPi z zasilania, gdy dioda ACT przestanie na dobre mrugać. Niekontrolowane wyciągnięcie karty może spowodować uszkodzenie systemu plików lub samej karty. W rezultacie RPi w ogóle nie wystartuje lub uruchomi się w trybie do- stępu lokalnego (o diagnostyce dowiecie się z dalszej części tego tekstu). W niektórych przypadkach można również fizycznie zablokować zapis na karcie. Wszystkie karty SD mają taką blokadę. Znajduje się na kra- wędzi i jest najczęściej opisana jako lock (używam takiej blokady np. przy prezentacjach, gdy jestem pewien, że zapis na karcie nie jest wymagany). Zablokowanie karty chroni ją przed logicznym uszkodzeniem systemu plików w razie niekontrolo- wanego wyłączenia. Przede wszystkim zalecam jednak regularne ro- bienie kopii karty. Sam używam do tego darmowego programu Win32 Disk Imager. Program wczytuje całą zawartość karty i zapisuje jej obraz w pliku *.img na dysku komputera. Jeżeli chcecie odzyskać zawar- tość takiej karty, po prostu wkładamy ją do czytnika w komputerze i zapisujemy na niej wybrany obraz (tracąc, niestety, dane zmienione od momentu stwo- rzenia obrazu). Podłączenie i pierwszy start Podłączamy do RPi monitor i klawiaturę, wkłada- my uprzednio przygotowaną kartę SD, a na koniec podpinamy zasilanie. Obserwujemy diody na RPi. Po doprowadzeniu zasilania powinna zapalić się czerwona dioda PWR sygnalizująca zasilanie. Po kil- ku sekundach zielona dioda ACT będzie intensywnie mrugać, sygnalizując start systemu. Aby zainstalo- wać wybrany system operacyjny, postępujemy zgod- nie z instrukcjami na ekranie. Na początek zalecam opcję Raspbian. Gdy zakończy się instalacja systemu (co może potrwać kilka minut), otworzy się aplikacja konfiguratora RPi. Użyjcie tego konfiguratora, aby: • zagospodarować pozostałą przestrzeń karty SD dla systemu: opcja Expand Filesystem; • ustawić region, strefę czasową i typ klawiatu- ry: opcja Internationalisation Options; • ustawić bezpieczne taktowanie rdzenia: opcja Overclock; ustaw None. 2. Czytnik kart SD znajduje się na spodzie płytki

85 „192.168.1.68”. Każde urządzenie w sieci musi mieć taki adres. Dzięki niemu (i kilku innym właściwościom) router może identyfikować urządzenia i zarządzać ruchem do i od nich. Problem polega na tym, że naj- częściej router domowej sieci dynamicznie przydziela adresy (z użyciem serwera DHCP). RPi domyślnie oczekuje więc, że taki adres dostanie (nie „wymyśla” sobie adresu sama). W takim układzie adres IP naszego RPi może się za każdym startem różnić. Oczywiście niektóre routery będą same próbować przypisać danemu urządzeniu zawsze ten sam adres, ale nie jest to żadną regułą. Są dwa sposoby rozwiązania tego problemu: • ustawienie dla RPi stałego adresu i ograniczenie puli adresów dostępnych dla serwera DHCP na routerze; • ustawienie statycznego adresu dla RPi na ser- werze DHCP. W pierwszym przypadku odpowiednio modyfikuje- my na RPi plik „/etc/interfaces”, ustawiając stały adres IP. Konieczne jest również zmodyfikowanie ustawień serwera DHCP (znajdującego się na routerze) – tak, żeby żadnemu z urządzeń nie przydzielił on adresu wybranego przez nas dla RPi. Można to zrobić poprzez np. ograniczenie puli adresów dostępnych dla serwera DHCP. Dla RPi ustawiamy wtedy adres spoza tej puli. Zabieg ten jest konieczny. Inaczej w jednej sieci mogą pojawić się dwa urządzenia o tym samym adresie: nasz RPi (o adresie wybranym przez nas) i drugie – o tym samym adresie przyznanym automatycznie przez serwer DHCP routera. Taki konflikt sprawi, że żadne z urządzeń nie będzie działało poprawnie. Zalecam inne podejście: modyfikację reguł serwera DHCP tak, żeby naszemu RPi zawsze przydzielał on ten sam adres. Sposobów na konfigurację serwera DHCP jest tyle co routerów. Pozostaje przeczytanie odpowied- niego rozdziału w instrukcji obsługi. Podpowiem, jak intensywnie migać, sygnalizując wymianę danych po sieci. Podłączenie do Internetu możemy spraw- dzić z poziomu konsoli RPi, np. wydając polecenie „ping” (z odpowiednimi parametrami), albo z pozio- mu interfejsu graficznego uruchamiając domyślną przeglądarkę internetową Midori. Praca zdalna? Dostęp zdalny to podstawowy tryb pracy wykorzysty- wany np. w wypadku nauki Linuksa czy programowa- nia. Zamiast podłączać klawiaturę i monitor do RPi, wykorzystujemy ulubionego laptopa, który poprzez od- powiednie oprogramowanie łączy się z RPi. Fizycznie pracujemy wtedy na laptopie, ale jest on jedynie „ter- minalem”. Jego rola ogranicza się do wysyłania komend na RPi i wyświetlania zwróconych przez niego rezul- tatów. Jedną z podstawowych zalet takiej pracy jest to, że na jednym RPi może równocześnie pracować wiele osób. Często z tego korzystam – każdy z użyt- kowników przychodzi z własnym laptopem i łączy się zdalnie do jednego RPi. Nie potrzeba wtedy wielu RPi – wystarczy jeden dla wszystkich. Oczywiście nic nie stoi na przeszkodzie, żeby jeden użytkownik pracował lokalnie przy monitorze i klawiaturze podłączonym do RPi, a reszta łączyła się zdalnie. Do pracy zdalnej na komputerze używa się naj- częściej darmowego programu Putty. Wykorzystując Putty, otwieramy połączenie SSH do RPi, podając jej adres IP (mówimy wtedy, że Putty jest klientem SSH). Standardowe konto RPi to wspomniane „pi”, a hasło „raspberry”. Serwer SSH jest domyślnie włączony na RPi. Jeżeli tak nie jest, aby go uruchomić, moż- na użyć konifguratora („sudo raspi-config”, opcja Advanced Options/SSH). Kluczowa kwestia to znajomość adresu IP nasze- go RPi. Adres IP najczęściej zapisuje się jako cztery liczby z zakresu 0 do 255, oddzielone kropkami, np. Tabela 1. Podstawowe komendy Linuksa dla RPi Komenda Rezultat Uwagi sudo halt zatrzymuje RPi poprzez kontrolowane zamknięcie systemu „sudo” umożliwia wykonanie komendy podanej po prawej stronie z prawami administratora sudo reboot lub sudo shutdown-r now restartuje RPi sudo raspi-config wywołuje konfigurator systemowy nano otwiera edytor plików np. sudo nano /etc/network/interfaces ifconfig konfiguracja interfejsów sieciowych konfiguruj w pliku /etc/network/interfaces ping pl.wikipedia.org sprawdza, czy można połączyć się z danym serwerem; tu – z polską Wikipedią. Można używać np. do diagnostyki połączenia z Internetem uwaga: ze względów bezpieczeństwa, niektóre serwery mają zablokowaną obsługę „ping”; polecenie „ping” zwróci wtedy błąd, co nie oznacza wcale niemożności nawiązania połączenia sudo apt-get update uaktualnienie bazy danych zainstalowanych pakietów (aplikacji, bibliotek) wykonuj regularnie: najpierw Update, potem Upgrade sudo apt-get upgrade aktualizacja pakietów sudo apt-get install * instalacja aplikacji (pakietów); zamiast „*” użyj nazwy aplikacji sudo apt-get remove * usuwanie aplikacji (pakietów) startx wystartuj interfejs graficzny

86 m.technik - www.mt.com.pl Poziomtekstu:średniotrudnySZKOŁA Na warsztacie Fundacja Raspberry Pi (www.raspberrypi.org) przedstawiła odświeżoną wersję modelu B: model B+. Najbardziej widoczne są dwa dodatkowe porty USB. Nowy moduł zasilania ma podnieść ich wydajność prądową nawet do 1,2A. W miejsce plastykowego, pełnowymiarowego SD wstawiono metalowe gniazdo microSD. Złącze GPIO urosło z 26 do 40 pinów. 9 pinów to dodatkowe wejścia/wyjścia uniwersalne. Dwa z dodatkowych pinów to szyna I2 C zarezerwowana dla pamięci EEPROM, używanej do przechowywania konfiguracji portów lub sterowników linuksowych. Nowa płytka ma także 4 otwory montażowe znacznie sensowniej rozmieszczone niż 2 w wersji B. Gniazdo analogowe audio zintegrowano w nowe, 4-stykowe gniazdo kompozytowe. Wpięcie do niego 3,5 mm jacka audio umożliwi słuchanie muzyki poprzez słuchawki czy zewnętrzne głośniki. Testy i dokładniejszy opis modelu B+ wkrótce na łamach Młodego Technika. można to zrobić dla dwóch popularnych urządzeń dostarczanych przez Orange i Netię. Dla routera LiveBox 2.0 Orange: • podłącz RPi do rutera i upewnij się, że dioda LNK się świeci; • wejdź na stronę konfiguracyjną routera, podając adres http://192.168.1.1 (domyślny, może być inny); • w prawym górnym rogu wpisz hasło admini- stratora i kliknij opcję Zaloguj; • wybierz górną poziomą zakładkę Zaawansowane i poniżej zakładkę DHCP; • na dole strony znajduje się ramka „Statyczny adres IP”; • w pierwszym wierszu, w kolumnie Nazwa, wy- bierz swoje urządzenie i kliknij przycisk Dodaj, znajdujący się w kolumnie ostatniej. Dla routera Netia Spot: • podłącz RPi do routera i upewnij się, że dioda LNK się świeci; • wejdź na stronę routera, podając adres http://192.168.1.254 (domyślny, może być inny); • zaloguj się na konto administratora, podając jako konto „admin” i odpowiednie hasło; • wybierz zakładkę Usługi, a potem – Dystrybucja adresów IP; • kliknij przycisk „Lista połączeń”; • znajdź na liście swoje RPi , a w ostatniej kolumnie, Działanie, kliknij ikonkę z ołówkiem (Edytuj); • zaznacz opcję „Typ statycznej dzierżawy”, zapa- miętując przyporządkowany adres. Pozostaje teraz uruchomić na komputerze program Putty, w polu „Host name” podać zapamiętany adres IP, w polu „Connection type” zaznaczyć SSH i kliknąć Open. Powinniśmy zobaczyć okienko linii komend, z zachętą do wpisania loginu „Login as:”. Domyślne konto to „pi”, a hasło „raspberry”. Wstało... Gdy wszystko działa, warto pamiętać o regularnym uzupełnianiu systemu o poprawki i najnowsze wersje bibliotek. Komendy „sudo apt-get update” i „sudo apt-get upgrade” powinny stać się Waszym nawykiem – podobnie jak wspomniane wcześniej kopie obrazu systemów. Praca zdalna będzie głównym sposobem korzystania z RPi – ale musimy mieć możliwość wymiany plików z innymi komputerami. W tym celu należy zainstalować serwer FTP (np. vsftpd). Bardziej zaawansowani użytkownicy mogą pomyśleć o serwe- rze Samba. Jednym z przydatnych programów do za- rządzania plikami jest Midnight Comander (instalacja: „sudo apt-get install mc”). Wreszcie przyszedł czas, żeby pomyśleć o instalacji Xming. Dzięki temu oprogramowaniu można zdalnie uzyskać dostęp do interfejsu graficznego. Zobaczcie przykład instalacji, np. http://straightrunning.com/ XmingNotes/pixming.php. Inna możliwość to instala- cja zdalnego pulpitu typu VNC (zob. tightVNC, [2]* ). ...i padło! Jak wspominaliśmy, RPi nie ma pamięci nieulotnej. System operacyjny i wszystkie pliki zapisywa- ne są na karcie SD. Zaletami takiego rozwiązania są prostota i niska cena. Wada to kapryśność kart SD. Zdarzają się błędy w zapisie, zwłaszcza w przypadku wyjęcia czy przypadkowego rozłączenia karty podczas działania RPi. Często kończy się to tym, że RPi nie uruchamia się lub uruchamia bez możliwości dostępu w trybie zdalnym. Wtedy konieczne jest serwisowanie z użyciem monitora i klawiatury podłączonych bezpo- średnio do RPi (stąd wcześniejsze uwagi o konieczno- ści zapewnienia sobie takiej możliwości). Moje dotychczasowe doświadczenia pokazują, że stosunkowo najwięcej kłopotów sprawia właśnie karta SD. Zdarzyło mi się, że RPi przestał odpowia- dać. Na dzień przed prezentacją! Objawy typowe dla 3. Diody na płytce RPi

87 Osobną kategorią są problemy, które mogą wyniknąć podczas doświadczeń z różnymi elementami elek- tronicznymi podłączanymi do wyjść GPIO. RPi jest wrażliwy na wszelkie zwarcia (podobnie zresztą jak większość kontrolerów). W ekstremalnym wypadku mogą one doprowadzić do spalenia płytki. Należy zwrócić tu szczególną uwagę na: • zwarcie pinów zasilania 3,3 V (fizyczne piny 1 i 17) i 5 V (fizyczne piny 2 i 4) lub do pinów masy (GND, piny: 6, 14, 20 i 9, 25); • podanie napięcia na piny skonfigurowane jako wyjściowe; • użycie układów o logice 5V. Ostatni przypadek jest stosunkowo częsty, zwłaszcza gdy do doświadczeń z RPi wykorzystujemy materia- ły szkoleniowe opracowane dla Arduino. Arduino posługuje się logiką 5 V a RPi logiką 3,3 V. Moduły o logice 5 V wymagają zasilania 5 V. RPi ma wyprowa- dzenia 5 V (fizyczne piny 2 i 4). Problem polega na tym, że odpowiedź takich modułów najczęściej jest również na poziomie 5 V. Wprowadzenie takiego wyjścia na pin RPi (oczekujący maksymalnie 3,3 V) może skończyć się spaleniem RPi. Za przykład niech posłuży moduł czujnika odległości HC-SR04. Nie wyklucza to wcale RPi z używania takich modułów. Po prostu nie można podłączyć ich wyjścia logicznego bezpośrednio do RPi. Trzeba zastosować specjalne układy konwertujące poziomy napięcia. Z reguły wystarczy jednak zwykły dzielnik napięcia (zwróćcie tu uwagę na możliwość wystąpienia wewnętrznych rezystorów). Podsumowanie Przedstawiłem podstawowe wyzwania, z którymi zetkniecie się w codziennej pracy z Raspberry Pi. Niektóre z opisanych zagadnień wymagają dodatkowej wiedzy z zakresu sieci komputerowych. W Internecie znajdziecie jednak wiele poradników, które krok po kroku wyjaśnią, jak rozwiązać każdy problem. A już za miesiąc – kolejny stopień wtajemniczenia w Raspberry Pi.  Arkadiusz Merta * Źródła [1] http://goo.gl/2Igp0C [2] http://rembiejewski.pl/blog/ Tabela 2. Podstawowe aplikacje Narzędzie Zastosowanie URL do pobrania/instalacja Uwagi Noobs pakiet/instalator systemu operacyjnego dla Raspberry Pi www.raspberrypi.org/downloads RPi Putty (Windows) Klient SSH, telnetu http://www.putty.org/ terminal (PC) Win 32 Disk Imager nagrywanie/wczytywanie obrazu karty SD; kopie zapasowe http://sourceforge.net/projects/ win32diskimager/ terminal vsftpd serwer FTP sudo apt-get install vsftpd RPi Midnight Commander zarządzanie plikami sudo apt-get install mc RPi Xming zdalny klient graficzny http://sourceforge.net/projects/xming/ terminal i RPi tightVNC zdalny pulpit http://www.tightvnc.com/ terminal i RPi karty to: dioda PWR się świeci, a system się nie ładuje (nie mruga dioda ACT). We wspomnianym wypadku problemem okazał się adapter karty. Używałem karty microSD w adapterze do rozmiaru SD. Po wymianie adaptera RPi wystartował bez problemu. W razie problemów diagnostykę zaczynamy od ob- serwacji stanu diód systemowych. RPi ma na płycie pięć diód: ACT: zielona, sygnalizuje operacje na karcie, powinna migać nieregularnie; PWR: czerwona, sygnalizuje stan zasilania, powinna świecić ciągle; FDX: zielona, symbolizuje połączenie sieciowe typu „pełny dupleks” (ang. full duplex), informacje przekazy- wane są w obydwu kierunkach jednocześnie, powinna świecić się ciągle; LNK: zielona, sygnalizuje komunikację w sieci, powin- na mrugać nieregularnie; 100: żółta, sygnalizuje tryb pracy sieci 100 Mb na sekundę. Podstawowe objawy niewłaściwego działania to: • czerwona dioda PWR nie świeci się lub pul- suje: problem związany z zasilaniem. Najpierw spróbujcie odłączyć wszystkie dodatkowe urządzenia podpięte do USB (również huby USB) i wystartować RPi jeszcze raz. Upewnijcie się, że używacie odpowiedniego zasilacza, który działa poprawnie; ewentualnie spróbujcie wymienić zasilacz; • w chwilę po włączeniu zasilania (kilka sekund) powinna zacząć mrugać zielona dioda ACT. Jeżeli tak się nie stanie, RPi nie mógł znaleźć systemu na karcie; • regularnie mrugająca zielona dioda ACT (np. szybko dwa, trzy, cztery razy) oznacza inne problemy z obrazem systemu, np. uszkodzenie lub brak plików „loader.bin” lub „start.elf” (zob. [1]* ); • po podłączeniu monitora przy starcie nie znika kolorowy ekran: uszkodzony plik „kernel.img” (zob. [1]* ). W większości powyższych wypadków konieczne bę- dzie odświeżenie obrazu systemu na karcie SD. Dlatego jeszcze raz namawiam Was na robienie regularnych kopii karty. Więcejo RaspberryPidowieszsięz miesięcznikaElektronikaPraktyczna.na stroniehttp://goo.gl/WSU4H6ľ Wydaniebieżącei numeryarchiwalnemożnaprzejrzeći kupićna www.ulubionykiosk.pl

80 m.technik - www.mt.com.pl Poziomtekstu:średniotrudnySZKOŁA Na warsztacie Raspberry Pi paszport do świata inżynierów W poprzednich tekstach o Raspberry Pi dowiedzieliście się, jak kupić ten minikomputer, zainstalować system czy stworzyć środowisko do pracy. Proponuję chwilę odpocząć od szczegółów technicznych i przyjrzeć się samej naturze projektów – mechatronicznych w szczególności. Mechatronika Mechatronika to dziedzina na styku mechaniki (me- cha-) i  elektroniki (-tronika). Mówi o  systemach, w  których elementy wykonawcze (mechaniczne) są  sterowane przez podzespoły elektroniczne. We współczesnych urządzeniach elektronika odpowia- da nie tylko za uruchamianie czy manipulowanie elementami mechanicznymi (silnikami, siłownika- mi) zgodnie z programem, ale również za zbieranie danych z otoczenia i ich przetwarzanie. Dzieła me- chatroniczne –  lub popularniej: automaty, roboty – wykonują zadane im prace. Ale robią to ze „świa- domością” otoczenia, do którego potrafią się dostoso- wywać (np. tempo pracy). Zdolność zbierania i prze- twarzania informacji umożliwia im dalszą adaptację i w rezultacie wydajniejszą pracę. Dzisiaj rozwiązania takie są  dostępne nie tyl- ko dla politechnicznych naukowców i  studentów. Eksperymentowanie z  robotyką stało się względnie tanie, a  komponenty elektroniczne i  mechaniczne –  łatwo osiągalne we wszystkich sklepach elektro- nicznych. Dodatkowo producenci oferują całe mo- duły czy wręcz zestawy umożliwiające realizację praktycznie dowolnych pomysłów. Problemu nie stanowi dostępność, a  umiejętność wykorzystania takich środków. Sprawa wcale nie jest prosta, a programy naucza- nia techniki czy informatyki w szkole podstawowej lub gimnazjalnej niewiele pomogą –  kształcą ucz- niów w innym zakresie. A szkoda, bo mechatronika (czy: robotyka, automatyka) jest dziedziną absolut- nie wyjątkową. Polega na łączeniu bardzo wielu róż- nych technik. Projekty mechatroniczne to atrakcyjne studia interdyscyplinarne. Właśnie w tym upatruję ich największą zaletę –  w  synergii różnych two- rzyw, nauk i technologii. Chodzi tu o wykształcenie pewnego podejścia, gdzie problemy postrzegane są w szerszym kontekście, nie tylko przez pryzmat wybranej technologii czy medium. Chodzi o  umie- jętność poszukiwania rozwiązań pod kątem zastoso- wań, a nie posiadanych narzędzi. I co równie ważne –  rozumienie ograniczeń narzucanych przez różne elementy składające się na system. Dlatego właśnie mechatronika jest tak atrakcyjna. I trudna do nauki. Cel Dziedzina mechatroniki, nawet ograniczona do  Rasp- berry Pi (RPi) i  podstawowych modułów elektronicz- nych, jest bardzo rozległa. Nie da się jej nauczyć na raz, błyskawicznie. Z drugiej strony, doświadczenie podpo- wiada, że od początku należy do tematu podejść prze- krojowo. Można uczyć się obsługi Linuksa, programo- wania w Pythonie i elektroniki. Lepiej jednak postawić sobie cel, który angażowałby wszystkie te  dziedziny od początku, ale w stopniu ograniczonym do konkretne- go pomysłu. Zamiast więc spędzić miesiąc na poznanie Pythona i pisanie w nim kalkulatora, spróbujcie zbudo- wać układ oparty na Raspberry Pi, zgodnie z programem napisanym w Pythonie, sterujący pracą silnika poprzez odpowiedni mostek prądowy. Z pomocą rodzica zadanie to leży w zakresie możliwości każdego nastolatka. Mno- żąc takie pojedyncze klocki, proste przykłady, z czasem nauczycie się je łączyć i składać w większe całości. Wybranie sobie celu jest jednym z  pierwszych kroków każdego projektu. Musicie zdecydować, co  zamierzacie osiągnąć. Wbrew pozorom nie jest to takie łatwe. Zdziwilibyście się, jak wiele przedsię- wzięć zakończyło się fiaskiem tylko dlatego, że ich twórcy nie potrafili dokładnie określić, do  czego dążą. Pamiętajcie: dróg może być wiele – ale zawsze miejcie przed oczami konkretny cel. Wyznaczajcie sobie cele, które są: • Specyficzne (ang. Specific) –  ograniczone do jednej wąskiej kategorii; np. jak mierzyć temperaturę, jak zasilać układy, jak oszczęd- nie gospodarować portami GPIO. • Wymierne, mierzalne (ang. Measurable) – aby nasza praca zakończyła się jakimś kon- 1. Jest wiele dróg do celu To już trzeci odcinek hitowego cyklu o niezwykle popularnym systemie Raspberry Pi. Poprzednie 2 części znajdziesz w MT 8/2014 i MT 9/2014, osiągalne na www.ulubionykiosk.pl.

81 Rola żelaznego trójkąta nie kończy się jednak na  obrazowaniu ograniczeń. Pomaga on  również wybrnąć z  trudnych sytuacji. We wspomnianym przypadku zbliżającego się terminu oddania projek- tu może lepiej rozważyć ograniczenie liczby funkcji (tj. zakresu) niż nie spać po nocach? A może rozłożyć przedsięwzięcie na kilka faz? Warto pamiętać o trójkącie, planując projekty me- chatroniczne. Gdy już się upewnimy, że nasz cel jest dostatecznie SMART, zastanówmy się, czy można go zrealizować w rozsądnym czasie i budżecie. Doba ma tylko 24 godziny, niezależnie od  dostępnych nakła- dów finansowych. Przepełnienie projektu funkcjami prowadzi do rozmycia jego oryginalnego zastosowa- nia (ang. bloatware). Problem a wyzwanie Ktoś kiedyś powiedział, że trudności to okazje w prze- braniu. Ustawianie sobie poprzeczki wyżej niż nasze obecne umiejętności jest warunkiem koniecznym do rozwijania się. Różnica nie może być jednak zbyt duża. Pamiętajcie, lepiej osiągnąć „jakiś” efekt niż żaden. Nie od  razu uda nam się ogarnąć wszystkie możliwe aspekty rozwiązania. Stworzenie układu, który jest uniwersalny (można zastosować go do roz- wiązania większej liczby problemów), łatwy do roz- budowania (skalowalny) i oszczędnie gospodarujący dostępnymi zasobami (baterią, czasem pracy proce- sora, pamięcią operacyjną), wymaga doświadczenia. Ponadto zawsze istnieje pewien margines błędu, czyli coś co  objawi się dopiero podczas funkcjonowania systemu. Stwarza to jednak możliwości doskonalenia i w rezultacie konstruowania coraz ciekawszych urzą- dzeń. Nie należy się zrażać ewentualnymi porażkami. Każda z  nich niesie pewną cenną naukę. Kluczem do sukcesu jest umiejętność czerpania z takich lekcji w przyszłości, uczenia się na popełnionych błędach. Podejście Generalnie istnieją dwa rodzaje podejścia umożli- wiające rozwiązywanie zadań: synteza i  analiza. Synteza polega na składaniu rozwiązania ze szczegó- łów, aż do powstania pewnej całości. Analiza wręcz przeciwnie –  na  rozkładaniu pomysłu na  czynniki pierwsze, aż zrozumiemy każdy jego szczegół. Nie ma lepszego czy gorszego podejścia. Synteza sprzyja po- wstawaniu nowych pomysłów na bazie poprzednich doświadczeń. Mam „coś” i przy okazji budowy innego urządzenia wpadam na  pomysł rozszerzenia obec- nego projektu o  dodatkową funkcjonalność. W  tym ujęciu synteza to poszukiwanie nowych zastosowań. W przypadku analizy zaczynamy od wyzwania, nieja- ko od góry. Analiza pomaga nam zrozumieć wszyst- kie aspekty, od ogółów do szczegółów. Pozwala przy- gotować się do  jego wykonania z  uwzględnieniem szerszego kontekstu. Synteza i analiza nie są wcale sposobami wyklu- czającymi się nawzajem. Uzupełniają się i  można je kretnym efektem, który można zaprezento- wać. • Osiągalne (ang. Achievable) – nie stawiajcie sobie zbyt wielkich wyzwań, tylko takie, któ- re są możliwe do realizacji. • Rozsądne, celowe (ang. Reasonable) –  aby osiągnięcie celu dało jakiś konkretny zysk, zbliżało Was do  kolejnego, większego celu; np. wspomniane sterowanie silnikami może być zastosowane do  zbudowania jeżdżącej ciężarówki. • Ograniczone czasowo (ang. Timeable) – aby nie ciągnęły się miesiącami, aż stracicie siły (i ochotę) potrzebne do ich osiągnięcia. W  skrócie: wybierajcie cele, które są  SMART. Świadomość istnienia konkretnego punktu, do  któ- rego dążymy, jest podstawowym elementem sukcesu. Powyższe kryteria powinny Wam pomóc ocenić po- mysły pod kątem możliwości ich realizacji. Żelazny trójkąt Wasze projekty nie mogą być oderwane od rzeczywi- stości. Każdy z nich jest przedsięwzięciem, które ma na celu zrealizowanie pewnego zakresu zadań (funk- cji, które chcecie osiągnąć). Musi mieć swój początek i koniec (tzn. być ograniczony czasowo) i wreszcie re- alny budżet (koszty, których nie można przekroczyć). Parametry te są ze sobą ściśle powiązane. Zmiana jed- nego z nich nie pozostaje bez wpływu na kolejne lub na efekt końcowy. Dla przykładu, jeżeli postawimy so- bie zbyt duże wyzwanie (szeroki zakres), koszty jego realizacji mogą pogrążyć cały projekt albo odsunąć go w czasie tak, że będzie zalegał na półce miesiącami (co skutecznie zniechęci do dalszej pracy i rozwoju). Jeżeli zdecydujemy się przyspieszyć pracę nad pro- jektem (bo czas – gonią nas terminy) i nie dołożymy odpowiednich starań (np. nie zwiększymy nakładów na dobre przetestowanie), jakość efektu może nas roz- czarować. Ten zespół zależności (czas, koszty, zakres) menedżerowie zwykli nazywać „żelaznym trójkątem”. 2. Żelazny trójkąt zależności czasu, kosztów i zakresu

82 m.technik - www.mt.com.pl Poziomtekstu:średniotrudnySZKOŁA Na warsztacie stosować naprzemiennie, aby być pewnym, że  nasz projekt cały czas ma sens i nie odbiega od wyznaczo- nego celu. W  równym stopniu wymagają inwencji i kreatywności. Nabyte doświadczenia, wsparte jasną definicją celu, analizą zakresu, czasu i kosztów, pozwo- lą ocenić, które pomysły mają szansę powodzenia. Proces Projekty to nie tylko ograniczenia. To również pro- cesy, które muszą zajść, aby przedsięwzięcie zakoń- czyło się powodzeniem. Jest to szczególnie ważne z  edukacyjnego punktu widzenia, gdzie porażki mogą łatwo zniechęcić. Niestety, praca inżyniera to nie tylko radosna twórczość. To również (a może przede wszystkim) rzemiosło, którego trzeba się wyuczyć. W  tym zawodzie „artyści” są  konieczni, aby produkt był innowacyjny i świeży. Ale to „rze- mieślnicy” sprawiają, że  trafia pod przysłowiowe strzechy – a firma ma z czego zapłacić swoim pra- cownikom. Elementy rzemiosła to  właśnie świadomość celu, ważenie zakresu, kosztów i czasu w stosunku do  oczekiwanego efektu, strategia rozwiązywania zadań – i wiele innych. Dość powiedzieć, że każdy projekt powinien mieć początek, fazę planowania, wykonania i  monitorowania postępów oraz odpo- wiednie zakończenie. Istnieje wiele metodyk pro- wadzenia projektów. Inżynierowie (ich szefowie, menadżerowie itp.) stosują je, bo muszą mieć pew- ność, że to, co robią, skończy się sukcesem. Już nie- długo, gdy wkroczycie w życie zawodowe, na pew- no usłyszycie o PMBOK (ang. Project Management Body of Knowledge), PRINCE2 czy metodach Agi- le. Ich nauka i zrozumienie zajmują trochę czasu, a  stosowanie wymaga doświadczenia. Ale kiedyś trzeba zacząć – im wcześniej, tym lepiej. Na począ- tek, oprócz rozważań przedstawionych powyżej, polecam trening w… notowaniu i dokumentowaniu swojej pracy. Cóż – wspominałem już, że praca in- żyniera to nie jest bajka. Im poważniejsze zastoso- wania, tym mniejszy dopuszczalny margines błędu. Czas poświęcany na przygotowanie się do samego wykonania jest coraz dłuższy. Wiąże to  się z  ko- niecznością dokumentowania planowanych i  po- dejmowanych działań. Wymaga nawyku systema- tyczności – ale w prawdziwym życiu zawodowym przyniesie wiele korzyści. Zamiast więc rzucać się w wir walki, pisania skryptów, ściągania bibliotek, lutowania układów, spędźcie najpierw trochę cza- su nad kartką papieru. Sformułujcie cel, opiszcie sposób rozwiązania, rozpiszcie wszystkie kroki, podzielcie pracę na  etapy, wymieńcie założenia, które czynicie oraz ryzyko, jakie może przeszkodzić w realizacji celu. Zdziwicie się nieraz, jak inaczej wyglądają pomysły w głowie i na papierze. Zespół Nie powinniście również zamykać się ze  swoimi projektami w  czterech ścianach. Prezentujcie po- mysły rodzicom, na odpowiednich forach, konsul- tujcie je z  kolegami w  szkole, z  Waszym nauczy- cielem techniki czy informatyki. Takie świeże spojrzenie często bardzo pomaga. Może nauczyciel podpowie rozwiązania, o  których nie pomyśleli- ście? A może instruktor w lokalnym domu kultu- ry znajdzie praktyczne zastosowanie dla czegoś, co  miało być jedynie eksperymentem? I  w  drugą stronę –  może dzięki radzie kogoś bardziej do- świadczonego nie stracicie czasu na projekt, który idzie donikąd, nie jest innowacyjny, nie wnosi nic świeżego? Wiem, że to nie jest łatwe. Wiem, że to może wymagać trochę odwagi. Ale takie konfrontacje czekają Was w przyszłości niejednokrotnie. Trzeba nauczyć się przyjmować krytykę – również tę, któ- ra nie jest konstruktywna. Lepiej przygotowywać się na to zawczasu. Inżynier to  nie samotny bohater na  szańcu. W  dzisiejszym świecie wygrywają tylko zespoły. Jednostki, nawet najbardziej wybitne, bez odpo- wiedniego wsparcia, nie dojdą daleko. Problemy stawiane inżynierom są  zazwyczaj zbyt złożone, by mogła je rozwiązać jedna osoba. Jeżeli znaj- dziecie kolegę, któremu spodoba się Wasz projekt, może warto go zaprosić do współpracy? Być może zna się na aspektach Wam obcych, doda od siebie coś ciekawego. Dzieląc się pracą, szybciej skończy- cie. Wbrew pozorom umiejętność pracy w zespo- le wcale nie jest łatwą rzeczą. Podobne zdolności nazywamy „miękkimi” (ang. soft skills). Są równie ważne, jak znajomość rzemiosła (umiejętności „twarde”). Co  więcej, ponieważ zahaczają o  sferę emocjonalną, ich nauka może być dużo trudniej- sza i czasochłonna. Prezentacja Namawiam Was również do  chwalenia się rezul- tatami Waszych działań. Gdy osiągniecie cel, war- to podsumować go w  krótkiej prezentacji, którą przedstawicie rodzicom czy kolegom w klasie (np. w  porozumieniu z  nauczycielem na  kółku infor- matycznym). I nie chodzi tu tylko o chwalenie się osiągnięciami. Taka prezentacja pozwoli na ujęcie wykonanej przez Was pracy w  ramy, według sy- stemu „rozpoczęte-przeprowadzone-skończone”. Tworząc je, będziecie mogli spojrzeć na swój pro- jekt z pewnej perspektywy. To pomoże Wam ocenić drogę, którą przebyliście, podejmując różne decy- zje (czytaj: godząc się na  kompromisy w  ramach żelaznego trójkąta). Upewnijcie się, że Wasza pre- zentacja zawiera: • Krótki opis problemu, który zainicjował Wasz projekt. • Wybrany sposób rozwiązania –  dlaczego właśnie taki? • Przebieg prac. • Stwierdzenie, czy osiągnęliście wybrany cel?

83 www.elportal.pl Nie przegap! We wrześniowym wydaniu Elektroniki dla Wszystkich: Ponadto w numerze: 9/2014 WRZESIEŃ • CENA 12zł (w tym 5% VAT) • NAKŁAD: 14 990 egz. www.elportal.pl INDEKS33362XISSN1425-1698 Szkoła Konstruktorów – Niecodzienny układ elektroniczny EdW możesz zamówić na stronie Ulubionego Kiosku: www.ulubionykiosk.pl telefonicznie 22 257 84 50, fax: 22 257 84 55, listownie lub za pomocą e-maila: handlowy@avt.pl. Do kupienia także w Empikach i wszystkich większych kioskach z prasą. Na wszelkie pytania czeka także Dział Prenumeraty tel. 22 257 84 22, prenumerata@avt.pl n Układ nadzorujący akumulatory n Buzz Wire, czyli elektryczny tor przeszkód n Zasilacz superkondensatorowy n Obsługa czujników atmosferycznych n Robotic Day 2014 n Szkoła Konstruktorów – Zaproponuj dowol- ny niecodzienny układ elektroniczny, gdzie nietypowy jest jakiś element, przeznaczenie czy koncepcja układowa n Szkoła Konstruktorów – Zaproponuj układ elektroniczny, związany z fotografią cyfrową lub analogową albo z filmowaniem Robot klasy SCARA Artykuł zawiera informacje o różnych klasach robotów, przybliża ich historię oraz konstrukcję i możliwości. Przedstawia przykład nieskompli- kowanego robota klasy SCARA. Magiczny potencjometr Stereofoniczny cyfrowy potencjometr, wyposa- żony w czujnik zbliżeniowy, pracujący w zakre- sie podczerwieni. Zaskakujący sposób sterowa- nia za pomocą niewielkich ruchów ręki. Praktyczny Kurs Elektroniki. Cyfrowy dręczyciel... W tym odcinku od praktycznej strony badamy kolejne ważne zagadnienie, mianowicie problem poboru prądu przez układy cyfrowe CMOS. Jak tanim kosztem rozpocząć ekspery- menty z laserami? MłodziutkiAutorpodajepraktyczneinformacje,jakze starszegosprzętumożnapozyskaćużytecznelasery o różnych kolorach. Ratowanie starych odbiorników lampo- wych Praktyk dzieli się swoim doświadczeniem doty- czącym napraw i regeneracji radioodbiorników pochodzących sprzed kilkudziesięciu lat. można za darmo pobrać ze strony www.themagpi. com. Warto też śledzić fachowe media społecznoś- ciowe. To istna kopalnia nowości, informacji i in- spiracji. Z naszego podwórka zwróćcie uwagę na portal e-swoi.pl. Zawiera bardzo dużo wartościowych treści (tak dla uczniów, jak i  dla nauczycieli). Część z nich odnosi się bezpośrednio do Arduino, ale nadal można z  nich się wiele nauczyć (kilka słów o przenoszeniu projektów z Arduino na Ra- spberry Pi znajdziecie w  poprzednim i  kolejnych artykułach z tej serii). Oczywiście Internet jest pełen stron poświęco- nych Raspberry Pi (np. learn.adafruit.com) i  Li- nuksowi, blogów, wiki (np. http://elinux.org/RPi_ Hub) – jestem pewien, że z pomocą wyszukiwarki znajdziecie wiele przydatnych źródeł. Podsumowanie Przedstawione powyżej zagadnienia stanowią elementarną wiedzę z  zakresu planowania i  pro- wadzenia projektów. Mimo że  na  pierwszy rzut oka mogą wydawać się trochę skomplikowane, zachęcam do ich stosowania w Waszych przedsię- wzięciach, choćby nawet najmniejszych. Chodzi tu  o  wykształcenie odpowiedniej postawy, umoż- liwiającej dostrzeganie nie tylko samego zadania, ale też konieczności uporządkowanego i  zorgani- zowanego podejścia do  niego. Takie usystematy- zowanie to  podstawa rzemiosła inżynierskiego. Jeżeli będziecie chcieli w przyszłości rozwijać się w takim kierunku, wykształcone nawyki na pewno staną się Waszą rutyną. A wiadomo – czym skorup- ka za młodu nasiąknie...  Arkadiusz Merta • Odpowiedź na  pytanie, czy Wasza praca przyczyniła się do  rozwiązania oryginal- nego problemu? • Informację, czy zamierzacie rozwijać pro- jekt; jeśli tak, to w jakim kierunku? • Podsumowanie –  czego się nauczyliście, co poszło dobrze, gdzie popełniliście błę- dy, co poprawicie następnym razem? Zwróćcie uwagę na  ostatni element, bardzo ważny a  często pomijany: wnioski. Konieczne jest przeanalizowanie, jakie popełniliście błędy w trakcie realizacji (np. źle wybrana technologia, brak odpowiedniego planowania, koszty poza kon- trolą). Musicie się na nich uczyć (ang. lessons le- arnt), żeby Wasza praca była coraz bardziej wydaj- na, przynosiła coraz lepsze efekty. Najlepiej je spi- sać i brać pod uwagę podczas każdego następnego projektu. To jeden z wielu elementów budowania doświadczenia. W Sieci Na  koniec chciałbym skierować Waszą uwagę na kilka rzeczy, które mogą pomóc w Waszej edu- kacji mechatronicznej. W  zasobach raspberrypi.org, zwróćcie uwagę na dokument „The Raspberry Pi Education Manu- al” (do  pobrania bezpłatnie pod adresem http:// goo.gl/pXy2BU). Mimo że ma już kilka lat, zawiera cały przekrój problemów, włączając w to Scratcha, Pythona i Linuksa. Polecam czytanie książek, zwłaszcza tych anglojęzycznych, np. „Learn Raspberry Pi with Linux” (Membrey/Hows) czy „Raspberry Pi Coo- kbook” (Monk). Warto też zaznajomić się z  mie- sięcznikiem „The MagPi”, którego kolejne numery Więcejo RaspberryPiw miesięcznikuElektronikaPraktyczna.– http://goo.gl/WSU4H6ľ Wydaniebieżącei numeryarchiwalnemożnaprzejrzeći kupićna www.ulubionykiosk.pl

84 m.technik - www.mt.com.pl Poziomtekstu:łatwySZKOŁA Na warsztacie Raspberry Pi prawdziwe wyzwanie W poprzednich odcinkach zajmowaliśmy się Raspberry Pi od strony zakupów niezbędnych elementów i codziennego użytkowania. Dotknęliśmy też tematów związanych z planowaniem i zarządzaniem projektami. Teraz czas na praktyczne zastosowanie. I to w nie byle jakim wykonaniu: dwóch nastolatków postanowiło połączyć Raspberry Pi z klockami lego, aby zbudować swoje pierwsze dzieło mechatroniczne. Postanowiłem wreszcie zaprząc Raspberry do praw- dziwej pracy! Zdecydowałem się na współpracę z ko- legą, bo chciałem, żeby było raźniej i potrzebowałem trochę pomocy z jego strony. On jest dokładny, a ja z kolei mam wiele pomysłów. Uznałem, że nasz duet może osiągnąć coś ciekawego. A: Pomysł przedstawiony przez Kubę bardzo mi się spodobał. Tworzenie własnego robota jest przecież ekscytujące! O minikomputerze Raspberry usłyszałem po raz pierwszy na warsztatach organizowanych przez Uniwersytet Dzieci. Od razu wydał mi się ciekawy. K: Na początku myślałem o chodzącym robocie, który robiłby wszystko, za czym nie przepadam, ze sprzątaniem i zmywaniem na czele. Najlepiej żeby mógł też wystartować na igrzyskach olimpijskich. Ale do tego musiałby być mocny, z metalu, którego nie umiem jeszcze obrabiać. A: Trzeba było zejść na ziemię, musieliśmy dopaso- wać cel do umiejętności. Wybraliśmy więc formę cię- żarówki. Inspirację wzięliśmy z filmu „Transformers”. Nasz robot miał jeździć we wszystkich kierunkach, być zdalnie sterowany i wyposażony w termometr. Stwierdziliśmy, że zbudujemy go z klocków lego. 1. Ciężarówka, pierwszy prototyp K: Klocki mają wiele zalet: • łatwo się z nich tworzy, można szybko wprowadzać zmiany; Pomysł i planowanie Andrzej: Mam 12 lat. Bardzo lubię konstruować z klocków lego różne maszyny według własnego pomysłu. Czasami jest to robot, czasami statek kosmiczny. Budowałem również zestawy z „Małego Elektronika”, np. radio czy alarm. Komputera używam głównie do odrabiania lekcji, przeglądania Internetu oraz grania. Programowania dopiero zaczy- nam się uczyć. Kuba: Chodzimy z Andrzejem do jednej klasy. Ja również lubię budowanie z klocków lego, ale wolę architekturę – nowoczesną lub średniowiecz- ną. Interesuję się modelarstwem, ostatnio przede wszystkim zdalnie sterowanymi łodziami. Podobnie jak Andrzejowi, komputer służy mi głównie do nauki i zabawy, chociaż pierwszy program „Hello world” w języku C mam już za sobą. Umiem też tworzyć proste strony w HTML. Internet dostarcza mi inspira- cji do budowy nowych modeli. Andrzej i Kuba to zdolni modelarze. W swoich konstrukcjach łączą bardzo różne techniki. Nie unikają też prostych elementów elektrycznych – np. oświetle- nia. Do swoich celów potrafią również wykorzystywać Internet. W dziedzinie programowania stawiają do- piero pierwsze kroki. Swoje zainteresowania realizują podczas wielu zajęć pozaszkolnych. Uczestniczą w pro- gramach rozwijających ich zdolności, warsztatach modelarskich organizowanych w ramach Miejskiego Domu Kultury i innych. Mimo wielu łączących ich za- interesowań, Andrzej i Kuba są całkowicie inni. Swoje pasje rozwijają pod innym kątem. Zawsze zastana- wiałem się, co mogłoby wyjść z połączenia tak różnych żywiołowości i podejść do problemów. I całkiem nie- dawno nadarzyła się ku temu znakomita okazja. K: O „malince”, czyli Raspberry Pi, usłyszałem od mojego taty, który kupił ją i pokazał mi kilka fajnych trików. Szybko nauczyłem się podstaw Scratcha. Ponieważ na swoim komputerze mam zainstalowany Ubuntu, Linuks Raspberry nie był dla mnie żadnym szokiem. Ostateczną decyzję podjąłem po zajęciach o „inteligentnych” domach.

85 rozmieszczenia elementów, podstawowych mecha- nizmów. Skwitowano to stwierdzeniem: „najwyżej przełoży się kilka klocków”. Całkowitą nowością dla młodych adeptów sztuki inżynierskiej była również próba spisania zakresu działań (co będziemy robić) i stworzenia planu (jak to osiągniemy). Tworzenie z gotowych elementów nęci wizją skrócenia pewnych etapów, zwłaszcza projektowania i planowania. Jest to często jak najbardziej pożądane, bo umożliwia wcześniejsze dostarczenie produktu. Problem pojawia się jednak wtedy, gdy skrócenie w praktyce sprowadza się do pomijania. Mści się to nawet w trywialnym przypadku budowania z klocków. W obliczu braku do- brego projektu ciężarówka była wielokrotnie przebu- dowywana. Każda z takich iteracji wymagała czasu. Realizacja K: Samo budowanie z klocków było w miarę proste. Szybko powstała rama i układ jezdny. Niestety, musieliśmy wprowadzić wiele zmian, żeby wszystko działało razem. Samo Raspberry Pi mnie nie zasko- czyło. Linuks nie jest mi obcy. Gorzej było z pro- gramowaniem. Sterowanie robota mieliśmy pisać w Pythonie. Dziwna nazwa, co ma wąż wspólnego z programowaniem? Na szczęście tata zaczął robić nam lekcję o pisaniu programów w tym języku. A: Budowa elektroniki do tego robota nas przero- sła, wykonał ją i zmontował tata Kuby. My nie pod- jęliśmy się tego zadania, bo było to skomplikowane i trochę niebezpieczne! 3. Płytka rozszerzająca do RPi z elementami stero- wania ciężarówki (w oparciu o płytkę prototypową msx-elektronika.pl) Faktycznie, dodatkowe lekcje programowania oka- zały się konieczne. Po serii krótkich ćwiczeń, budow- niczowie zrozumieli podstawowe konstrukcje Pythona (zmienne, pętle, instrukcje warunkowe, funkcje) i byli w stanie je zastosować do tworzenia prostych progra- mów (np. kalkulatora). Instalacja i integracja różnych bibliotek, analiza zewnętrznych przykładów oraz konfiguracja Linuksa stanowiły dla nich nie lada wy- zwanie. Starałem się więc tak kierować pracami, żeby mogli się czegoś nauczyć, najlepiej bawiąc się przy okazji (np. konfiguracja pilota podczerwieni pod bi- blioteką lirc). Część pracy musiałem jednak wykonać • mamy ich dużo, różnych zestawów, również z silnikami; • ja i Andrzej umiemy dobrze budować, mamy znaczne doświadczenie w tym zakresie; • łatwo mogliśmy podzielić się pracą. Każdy z nas wziął się za inny element. Ja wolałem pracować nad wyglądem, Andrzej – nad elementami mechanicznymi. Burza mózgów w wykonaniu chłopaków była dla mnie wartościową lekcją. Co ciekawe, pierwsze, całkowicie fantastyczne koncepcje, bardzo szybko we- ryfikowali i przycinali do realiów. Za każdym nowym pomysłem zadawali sobie nawzajem pytanie, czy dadzą radę go zrealizować, czy ich koncepcja będzie praktyczna. Ani razu nie padło jednak pytanie o ogra- niczenia, jakie mogą wyniknąć ze strony samego Raspberry Pi. Zastanawiałem się, czy było to spowo- dowane wiarą w jego możliwości, czy… liczeniem na moje wsparcie. Już niedługo ten brak świadomości specyfiki środowiska miał się niekorzystnie odbić na projekcie. Decyzja o zastosowaniu klocków nie zaskoczyła mnie. Obaj są ich wielkimi fanami. Rozważania na temat użycia innych materiałów lub np. modyfika- cji już gotowej zabawki właściwie nie miały miejsca. Niewątpliwe zalety tworzywa, takie jak elastyczność, wydawały się na tym etapie wystarczająco przekonu- jące, aby je zastosować. Niestety, szybko okazało się, że wady klocków – mała sztywność, wysoka waga, specyfika utrudniająca łączenie z elementami spoza zestawów – stawały się dla projektu coraz większym obciążeniem. Autorzy raczej rezygnowali wtedy z „niepasujących” funkcji niż z samych klocków. Tworzywo zdominowało zakres. K: Gdy wszystko wymyśliliśmy, przyszedł czas na budowanie. A właściwie nie, bo szybko pojawiło się pytanie, dlaczego zamiast tego budowania siedzi- my nad kartką i planujemy? Przecież wszystko mamy w głowach! Moja propozycja zastosowania pewnych praktyk inżynierskich spotkała się z niezrozu- mieniem. Zachęcałem do uprzedniego przemy- ślenia i udokumentowania wyglądu urządzenia, 2. Planowanie etapów projektu

86 m.technik - www.mt.com.pl SZKOŁA Na warsztaciePoziomtekstu:łatwy Budowa bez dobrego planu przeciągała się. Okazało się, że proste rozwiązania przeniesienia napędu nie zdawały egzaminu. Przy stosunkowo dużym ciężarze (klocków, baterii) niewielkie niedopasowanie powo- dowało, że zębatki nie zachodziły dobrze na siebie i pojazd nie poruszał się tak, jak to sobie obaj wyobra- zili. Również wydajność silnika zasilanego z niższego napięcia niż nominalne 9V pozostawiała wiele do życze- nia. Dodatkowo Raspberry miał problemy ze startem. Częste awarie systemu plików uniemożliwiały poprawne wykonanie programu ciężarówki. Później okazało się, że problemem był adapter karty SD. Po jego wymianie i zablokowaniu zapisu na kartę, RPi zaczęło zachowy- wać się bardziej stabilnie. Należy tu jednak stwierdzić, że tego typu projekty nie są domeną RPi. Być może nale- żało raczej użyć typowego mikrokontrolera, np. Arduino Nano? Ograniczyłoby to ilość nowych elementów do na- uki i uprościło wiele napotkanych problemów. Mimo trudności zauważyłem, że chłopcy bardzo sprawnie radzili sobie z wymyślaniem obejść kolejnych przeszkód i dzieleniem się zadaniami. Ich współdzia- łanie było wręcz podręcznikowe: problem – konsylium – propozycja zmian – wdrożenie nowego rozwiązania. Szybko wpadli na pomysł tymczasowego zastąpienia niegotowych elementów elektronicznych innymi do- stępnymi podzespołami. Na plus można też im zaliczyć wymyśloną przez nich strategię natychmiastowego testowania każdego kolejno dodawanego elementu tak, aby upewnić się, że pasuje do całości. Kolejnym ciekawym elementem było świadome operowanie kosztami. Długo rozważali zakup drugiego silnika. Skończyło się to stwierdzeniem: „w następnej wersji”. Takich decyzji podejmowali więcej. Najczęściej ofiarą padała funkcjonalność (zakres). Wyznaczyli sobie termin zakończenia projektu na tydzień przed wysta- wieniem ocen i z determinacją starali się go dotrzymać. W swoim postanowieniu byli bardzo konsekwentni, co pozwala optymistycznie patrzeć na ich przyszłe projekty. Kurtyna w górę A: Postanowiliśmy z Kubą pochwalić się naszą pracą w szkole. Ja byłem odpowiedzialny za prezentację. sam, prezentując im jedynie pewne mechanizmy, bez wdawania się w detale. Ponadto projekt wymagał zagłębienia się w szcze- góły wykorzystywanych podzespołów elektronicznych. Mimo że ograniczyłem pole eksperymentów do sa- mej cyfrówki, zrozumienie jej szło bardzo powoli. Proste zabawy z zapalaniem diód dostarczyły wiele radości. Ale – mimo pewnych doświadczeń z różnymi zestawami elektronicznymi – trudno było o przyswo- jenie niektórych idei związanych np. z protokołami komunikacyjnymi (np. i2c czy 1-Wire wspomnianego powyżej termometru cyfrowego DS18b20). Z drugiej strony, obaj szybko pojęli aspekty związane z mocą i zasilaniem. Konieczność separacji zasilania RPi, zastosowania dodatkowego wzmocnienia dla silnika (DRV8833) oraz dobór parametrów akumulatorów okazały się zupełnie jasne. Zdziwiło mnie trochę, użyte przez obydwu konstruk- torów, sformułowanie o niebezpieczeństwach związa- nych z elektroniką. Okazało się, że odnoszą się głównie do... samego Raspberry. Rozmowa na temat spięć i ewentualnych efektów „dymnych” na tyle podzia- łała im na wyobraźnię, że obawiali się wszystkiego, co mogło doprowadzić do uszkodzenia minikomputera. Jednocześnie zagadnienia z elektroniki kojarzyły się nieodmiennie z gniazdkami sieciowymi. A każde dzie- cko wie, że należy się trzymać od nich z daleka. Dużą przeszkodą były też braki w angielskim. O ile chłopcy są w stanie porozumieć się w tym języku, brakuje im doświadczenia w terminologii technicznej. Widziałem też różnicę w łatwości posługiwania się RPi między Kubą, wychowywanym na angielskich wersjach otwartego oprogramowania, a Andrzejem – na co dzień używającym polskich Windowsów. A myślę, że świat nie zacznie używać języka polskie- go. Zwłaszcza ten komputerowo-inżynierski, gdzie angielski jest po prostu językiem urzędowym. Problemy K: Największymi problemami mechanicznymi pod- czas budowy były: • zabudowanie silnika i jego mechanizmów (jeśli coś było źle zrobione, silnik charczał i pojazd nie jeździł); • odpowiednie rozmieszczenie elementów; • zapewnienie wentylacji Raspberry Pi. Musieliśmy zrezygnować z kilku funkcji, np. ze skręcanych kół. Elementy elektroniczne lego są drogie. Kable połączeniowe kosztują niewiele mniej niż silniki! Żeby ograniczyć koszty, sami zro- biliśmy wtyczkę do silnika lego. Na drugi silnik już nie starczyło pieniędzy. Terminy goniły – chcieliśmy zdążyć przed końcem roku szkolnego. A tu jeszcze tyle sprawdzianów! A: Nie obyło się bez problemów po stronie elektro- niki. Najważniejszym była niestabilność RPi, który raz się włączał, raz nie. Ponieważ nie wszystko było gotowe na czas, do prób i budowy użyliśmy elemen- tów elektronicznych lego. 4. Niewykorzystane elementy

87 Więcejo RaspberryPiw miesięcznikuElektronikaPraktyczna.– http://goo.gl/WSU4H6ľ Wydaniebieżącei numeryarchiwalnemożnaprzejrzeći kupićna www.ulubionykiosk.pl Zabudowanie „malinki” też nie było łatwe, zwłaszcza zapewnienie jej odpowiedniej wentylacji. Zamierzamy dorobić jeszcze kilka rzeczy, takich jak dźwięk oraz wspomniany wcześniej czujnik odległości. Projekt na- uczył nas współpracy i szukania różnych rozwiązań. K: Ja nauczyłem się wielu tajemnic programowania, elektroniki i samej Raspberry Pi. Pewne rzeczy można było zrobić lepiej, np. podwozie. Chcę kontynuować eksperymenty z robotyką i RPi. Projekt zakończył się więc sukcesem. Mimo że nie cały zaplanowany zakres prac został zrealizowany, udało się dostarczyć na czas minimalną założoną funkcjonalność. Bardzo spodobała mi się również sama prezentacja. Chłopcy nie okazali żadnego skrę- powania i chętnie odpowiadali na pytania kolegów, po- zostając otwartymi na ich sugestie. Jako rodzice, dzięki temu projektowi, dowiedzieliśmy się więcej o zdol- nościach naszych dzieci. Pewne rzeczy przychodziły im łatwiej, inne trudniej. Obaj świetnie się dogadywali, dzielili zadaniami. Nie ukrywali problemów, często je konsultowali między sobą. Przeszkody ich nie zniechę- cały, szukali alternatywnych rozwiązań. Z drugiej strony, udało się zidentyfikować pewne luki w ich edukacji. Oprócz elektroniki, programo- wania – koniecznie musimy położyć większy nacisk na naukę technicznego ję- zyka angielskiego. Niestety, w dziedzinie inżynierii jego znajomość jest absolutnie konieczna. Kolejna uwaga dotyczy poziomu wsparcia, jakie należy udzielić młodym adeptom mechatroniki. Trudno mi sobie wyobra- zić, żeby mogli ten projekt przeprowadzić całkiem sami. Wiedzę i doświadczenie (przynajmniej na początku) musi dostarczyć rodzic, nauczyciel czy instruktor. Wymaga to od niego nie tylko znajomości domeny, ale – co dla mnie było zdecydo- wanie trudniejsze – talentów metodycznych. Wierzcie mi jednak – opłaca się zainwe- stować w to trochę czasu. Umiejętności, które Andrzej i Kuba zdobyli podczas tego krótkiego projektu, już procentują. I to nie tylko w konkretnym przypadku doświadczeń z mechatroniką. Obserwuję u nich pewną zmianę podejścia, która wyraża się w słowach: „dobra, ale najpierw musimy mieć plan!”. A, K: Dziękujemy za pomoc w realizacji projektu p. Pawłowi, naszemu nauczycielowi informatyki. Arkadiusz Merta Jakub Merta Andrzej Dąbrowski Ale tu powstał problem – nasze wzajemne kontakty były już wówczas ograniczone przez sprawdziany zamykające rok szkolny. Wszystko ustalaliśmy więc drogą mailową i telefoniczną. Nie mieliśmy już czasu na wspólne spotkanie i przećwiczenie prezentacji. Najtrudniejsze było dla mnie streszczenie całej na- szej pracy w jednym, krótkim wystąpieniu. K: Przeszkodą były też różne programy, których używaliśmy do zrobienia prezentacji. Ja pracowałem w LibreOffice, a Andrzej na Microsoft Office. Nie wszyst- kie elementy wymyślone przez Andrzeja były dobrze widoczne u mnie. Przez telefon musieliśmy też ustalić plan wystąpienia – w jakiej kolejności będziemy mówili. A: Nadszedł dzień prezentacji. Bałem się, że coś nie wypali, np. wysiądzie zasilanie albo napęd. Na szczęś- cie wszystkim bardzo się podobało. Kilka uwag wtrą- cili koledzy i nauczyciel informatyki. Podsuwano nam pomysły, by zmienić koła, zastosować różne czujniki (np. czujnik odległości), dodać oświetlenie… Pomysł podsumowania pracy przed całą klasą okazał się trafiony. Chłopcy musieli przygotować prezentację, ograniczając się do kontaktów przez Internet i telefony. Elektroniczny obrót dokumentami był dla nich kolejną ważną lekcją. Przy okazji mogli podszlifować swoje umiejętności prezentacji (ang. soft-skills). Wystąpienie przed całą klasą wymagało od nich niemałej odwagi. Zostali jednak bardzo entu- zjastycznie przyjęci przez rówieśników. Kilku kolegów zgłosiło nawet chęć budowy podobnych urządzeń. Zobaczymy, na ile starczy im zapału. Wnioski A: Najtrudniejsza w tym projekcie okazała się obsługa silnika i obudowa do Raspberry Pi. Przekazywanie napędu na bazie klocków lego było nieprecyzyjne. 5. Ciężarówka – wersja ostateczna

84 m.technik - www.mt.com.pl Poziomtekstu:średniotrudnySZKOŁA Na warsztacie Raspberry Pi: UART W poprzednich artykułach naszego cyklu o Raspberry Pi (RPi) rozpatrywaliśmy konfiguracje, w których RPi był dostępny zdalnie w sieci domowej. Tym razem opiszę wariant łączenia się do niego bezpośrednio za pomocą interfejsu szeregowego UART. danych odbywa się zgodnie z taktem zegara. W obli- czu braku takiego źródła odniesienia, dane wysyłane asynchronicznie muszą być odpowiednio „opakowa- ne” przez nadawcę. Dzięki temu odbiorca wiadomo- ści zorientuje się, gdzie jest ich początek i koniec. Dodatkowo należy znaleźć sposób na sprawdzanie poprawności transmisji danych. W związku z tym możecie natknąć się na następujące pojęcia: • bit startu (ang. start bit); • bit stopu (ang. stop bit); • bit parzystości (ang. parity bit); • szybkość transmisji (ang. baud rate). Bity startu/stopu to nic innego, jak sygnały oznacza- jące początek i koniec danych (może ich być kilka). Bit parzystości pozwala na pewną kontrolę poprawności odebranych danych. W zależności od trybu obliczania bit parzystości ustawia się tak, żeby dopełnił ilość jedynek w paczce. Dla trybu sprawdzania niepa- rzystości (ang. odd parity) bit parzystości zostanie ustawiony na „1” dla bitowej sumy danych parzystej lub „0” dla sumy nieparzystej. W ten sposób odbiornik dostanie nieparzystą liczbę jedynek. Dla trybu kontroli parzystości (ang. even parity) bit parzystości zostanie ustawiony na „0” dla sumy parzystej, a „1” dla sumy nieparzystej. Nadajnik zapisuje bity parzystości z da- nymi i wysyła paczkę. Odbiornik odczytuje paczkę i zlicza wszystkie wystąpienia „1” (ignorując bity star- tu i stopu). Jeżeli ich ilość nie zgadza się z wybranym trybem parzystości, odbiornik zgłasza błąd transmisji. Kolejnym parametrem jest szybkość przesyłania danych podawana w bitach na sekundę (ang. bauds). Przyjmuje się najczęściej wartości: 9600, 56 700, 115 200. Ponieważ w transmisji asynchronicznej nie ma zegara, to właśnie szybkość transmisji służy do synchronizacji nadajnika i odbiornika. Szybkość ta przekłada się bowiem na czas trwania sygnału oznaczającego pojedynczy bit. Raspberry Pi (RPi) używany jest najczęściej w try- bie zdalnego dostępu. RPi wpinamy do naszej sieci domowej bezpośrednio kablem Ethernet do rutera lub bezprzewodowo przez kartę WiFi umieszczoną w gnieździe USB. W takiej konfiguracji łączymy się z RPi za pomocą klienta SSH (np. Putty) z innego komputera znajdującego się w tej samej sieci. Może się jednak zdarzyć, że RPi nie jest podłączo- ne do sieci albo – w obliczu problemów ze startem – Linuks nie uruchomi usług zdalnego dostępu. Nie zawsze mamy pod ręką klawiaturę USB i dodatkowy monitor HDMI. W takiej sytuacji musimy znaleźć sposób, żeby bezpośrednio podłączyć się kompute- rem do RPi. Można to osiągnąć przez złącze UART. W takiej konfiguracji wykorzystujemy komunikację poprzez połączenie szeregowe. Niesie to ze sobą kilka szczególnych wyzwań: • szeregowy port UART, w który Raspberry Pi jest wyposażony, działa z poziomami napięć logiki charakterystycznymi dla niego, czyli 0-3,3V; • obecnie niewiele komputerów jest wyposażo- nych w port szeregowy; a jeżeli już – to działają one zgodnie ze standardem RS232 operującym zakresem napięć zdecydowanie niebezpiecznych dla RPi; • wszystkie nowoczesne komputery wyposażone są w złącze USB; • złącze microUSB służy RPi tylko do zasilania (piny danych nie są podłączone); w trybie klienta gniazda USB można użyć najwyżej do skonfigu- rowania RPi jako urządzenie masowe. Poniższy tekst opisuje rozwiązania tych proble- mów. Połączymy Raspberry Pi zarówno z komputera- mi wyposażonymi w port szeregowy, jak i tylko USB. UART UART (ang. Universal Asynchronous Receiver/ Transmitter) oznacza protokół, który potrafi komu- nikować systemy mikroprocesorowe, posługując się asynchroniczną transmisją szeregową (ang. serial). Dane przesyła się po kolei, jeden bit po drugim. Dla odróżnienia, w przypadku metod równoległych (ang. parallel), dane transmitowane są jednocześnie poprzez wiele linii połączeniowych (1). Asynchroniczność odnosi się tu do braku zegara, który kontroluje rytm wszystkich komunikujących się urządzeń. Dla przykładu, typowym połącze- niem synchronicznym jest I2 C. Każdy zapis i odczyt 1. Idea połączenia równoległego i szeregowego

85 Z powyższego opisu wynika, że nadajnik i odbior- nik „dogadają się” jedynie wtedy, gdy posłużą się takimi samymi wartościami parametrów transmisji. Jeżeli choć jeden z nich jest inny – transmisja się nie powiedzie. Rezultat różnie ustawionych parametrów to serie nic nieznaczących artefaktów wyświetlanych na konsoli (2). W pierwszej kolejności należy wtedy sprawdzić zgranie szybkości odbioru nadajnika i odbiornika. W celu uniknięcia podobnych nieporozumień parametry połączenia opisuje się w odpowiednim formacie. Dla przykładu: „115200 8-N-1” oznacza: • „115200”: szybkość przesyłania danych w bitach na sekundę (baudach); • „8”: ilość bitów danych w paczce, najczęściej 5-9; • „N”: brak kontroli parzystości; rzadziej może być np. E (ang. even) dla trybu kontroli pa- rzystości lub O (ang. odd) dla trybu kontroli nieparzystości; • „1”: pojedynczy bit stopu. Powyższe ustawienia są charakterystyczne dla portu UART Raspberry Pi. RS232 Przykładem protokołu szeregowego wykorzystywane- go przez komputery klasy PC jest RS232. RS232 był kiedyś jednym z podstawowych standardów do wy- miany danych. Stosowano go do podłączania myszy, modemów czy też samych kompute- rów. Wraz z upo- wszechnieniem się USB minęły jego czasy w zastosowa- niach domowych (czy biurowych). Trudno w nowo- czesnych kompute- rach czy laptopach znaleźć port RS232. Obecnie jest mało prak- tyczny i po prostu przestarzały. Stało się tak ze względu na rosnące wymagania co do szybkości transmisji, wzajemnego łączenia urządzeń (RS232 to połączenie 1:1), zasi- lania w jednym kablu z transmisją danych, a także potrzeby spójnego, znormalizowanego i przekrojo- wego podejścia (nie skoncentrowanego na warstwie elektrycznej). W zastosowaniach profesjonalnych prostota RS232 sprawia jednak, że nadal jest szeroko wyko- rzystywany. Można go też stosować do połączenia z Raspberry. Na poziomie logicznym (organizacji paczek danych) RS232 jest zgodny z UART. Problem polega na tym, że RPi posługuje się logiką 0 – 3,3V (TTL). Interfejs RS definiuje całkiem inne poziomy napięć. Zależnie od implementacji: • wartość -15 V to logiczna „1” (ang. mark); • wartość +15 V to logiczne „0” (ang. space); • wartości z przedziału -3..+3 V uważane są za nieustalone. Różne implementacje RS mogą używać poziomów ±12 V, ±10 V, maksymalnie do ±25 V. Ta różnica napięć między RPi i RS232 sprawia, że bezpośrednie podłączenie pinów TxD/RxD RPi (nadawania i od- bioru) do portu RS drugiego urządzenia doprowadzi do zniszczenia RPi. Potrzebujemy więc takiego konwertera, który z jednej strony ograniczy napięcie interfejsu RS232 do poziomu RPi (RS232 do TTL; RPi w trybie odbiornika), a z drugiej dostosuje wyjścia z pinów RPi do poziomu transmisji RS (TTL do RS232, RPi w trybie nadajnika). Rolę tę spełniają konwertery UART-do-RS232. Możliwości są tu dwie: • moduły rozszerzające, nakładane na złącze GPIO; • moduły podłączane do GPIO za pomocą taśmy (lub kilku kabli). Na rynku znajdziecie wiele modułów rozszerza- jących. nakładanych na złącze GPIO (4, 5). Koszt takiego rozwiązania to ok. 60 zł. 2. „Krzaczki” na Putty: problem z parametrami komunikacji 3. Port RS232 w komputerze Dell OptiPlex 745 4. Moduł RS232 dla RPi linksprite.com (źródło: linksprite.com)

86 m.technik - www.mt.com.pl SZKOŁA Na warsztaciePoziomtekstu:średniotrudny Podłączenie konwertera UART-do-RS232 RPi oferuje zestaw pinów, które mogą być wykorzy- stane do komunikacji po UART. Są to: • TxD (nadawanie): fizyczny pin 8 (GPIO14); • RxD (odbiór): fizyczny pin 10 (GPIO15); • Vcc (zasilanie) 3,3 V: fizyczny pin 1 (też 17); • GND (masa): fizyczny pin 6 (też 9, 14, 20, 25). Piny RPi z konwerterem UART-do-RS232 należy połączyć w następujący sposób: • Pin 8 RPi (TxD) do pinu TX konwertera; • Pin 10 RPi (RxD) do pinu RX konwertera; • Pin 1 RPi (3,3V) do pinu VCC konwertera; • Pin 6 RPI (GND) do pinu GND konwertera. Proszę zwrócić uwagę, że łączymy piny TxD z TX (nadawanie z nadawaniem) i RxD z RX (odbiór z od- biorem). Przykładowe podłączenie konwertera do RPi znajdziecie na zdjęciu 7. Przeszkodą w podłączaniu może być „rozrzucenie” odpowiednich pinów RPi. Żeby ułatwić podłączanie, skleiłem wtyczkę z 4-pinowego i 2-pinowego gniazda „goldpin” (raster 2,54 mm jak dla GPIO) w kształt litery L (8). W ten sposób nie popełnię błędu. Proszę zwrócić uwagę, że konwerter jest zasilany z pinu 3,3 V. Takie też będą poziomy logiki TX/RX. Nie ma zagrożenia uszkodzenia RPi. Powyższa konfiguracja, uzupełniona o dodatkowy kabel połączeniowy 9-pinowy męsko-żeński RS232 (9), wystarczy do połączenia RPi z komputerem Użycie podobnego rozszerzenia to sensowne rozwiązania dla przypadków, w których RS232 jest witalną częścią projektu. Dla potrzeb diagnostycz- nych wystarczy nam jednak możliwość czasowego podłączenia. Użyjemy do tego celu konwerterów, które podłącza się do GPIO za pomocą kilku żeńsko- -żeńskich przewodów (6). Proszę zwrócić uwagę na wykorzystanie układu MAX3232. W odróżnieniu od MAX232, operuje on na szerszym zakresie napięć zasilających. Działa zarówno na 3,3 V, jak i 5 V. Taki zakres pasuje zarów- no do RPi, jak i Arduino. Szukajcie konwerterów opar- tych na układzie MAX3232 – są najbardziej uniwersal- ne. Model prezentowany na zdjęciu 6 kosztował ok. 10 zł. Jak na razie sprawuje się bez problemów. Muszę jednak przyznać, że z dwóch zakupionych egzempla- rzy, tylko jeden zadziałał poprawnie. 5. Moduł Serial Pi z miejscem na prototypowanie (abelectronics.co.uk) 6. Przykładowy konwerter poziomów UART-do- RS232 (lctech-inc.com) 7. Podłączenie konwertera UART-do-RS232 do RPi 8. L-wtyczka do UART 9. Kabel RS232

87 Mój przygodnie kupiony Prolific nie chciał działać z Win7 ani z Win8. Za to Ubuntu poradził sobie z nim bez problemów. Z reguły najłatwiej uruchomić takie przejściówki właśnie pod Linuksem albo Win7. Najwięcej problemów sprawia Win8, do którego nie- rzadko brakuje odpowiednich sterowników. Pomniejszą przeszkodą mogą być same wtyczki. Mój kabel FTDI miał gniazdo ze śrubami mocują- cymi, podobnie jak konwerter UART-do-RS232. Nie dało się spiąć jednego z drugim bez rozkręcenia którejś z wtyczek. Żeby tego uniknąć, można użyć dodatkowego przedłużacza. Składamy klocki Do uruchomienia komunikacji szeregowej zostało dosłownie kilka kroków: • podłączenie przejściówki RS232-do-USB do kom- putera, określenie numeru jej portu szeregowego; • określenie szybkości transmisji konsoli na RPi; • uruchomienie i skonfigurowanie Putty; • wyłączenie RPi; • podłączenie konwertera UART-do-RS232 do RPi; • połączenie konwertera poziomów UART-do- RS232 do przejściówki RS232-do-USB; • uruchomienie RPi; • ustanowienie połączenia Putty z RPi. Gdy już zaopatrzymy się w odpowiednią przej- ściówkę RS232-do-USB, podłączamy ją do naszego komputera. Musimy najpierw określić numer portu komunikacyjnego, który zostanie jej przypisany. Dla systemu Windows: otwórzcie Menedżera Urządzeń (np. dla Win7: „Start”, prawy klik na „Komputer”, z menu podręcznego „Zarządzaj”, „Menedżera urządzeń” znajdziecie na liście po lewej) i rozwińcie „Porty (COM i LPT)”, szukając „Port szeregowy USB”. Zapamiętajcie numer (np. COM9). Jeżeli chcecie zo- baczyć aktualne ustawienia portu, z menu podręcz- nego wybierzcie „Właściwości” i otwórzcie zakładkę „Ustawienia Portu” (12). wyposażonym w port szeregowy. Jeżeli komputer go nie ma, można zaopatrzyć się w odpowiednią kartę rozszerzającą o porty RS232. RS232 do USB Zajmijmy się teraz przypadkiem połączenia RPi z komputerem, który nie jest (lub nie może być) wy- posażony w złącze RS232 (np. laptop). Ideę postępo- wania prezentuje rysunek 10. Mamy żeńską wtyczkę RS232 (ang. DB9 fe- male) na wyjściu konwertera UART-do-RS232. Potrzebujemy przejściówki RS232-do-USB. Są one dość popularne na rynku. Kupując taką przejściówkę, zwróćcie uwagę na: • układ konwertujący; • wsparcie dla USB 1.1/2.0; • kompatybilność z systemami operacyjnymi; • rodzaj wtyczki. RS232 i USB to dwa różne standardy i nie można po prostu „zdrutować” styków. Mimo że przejściów- ki RS232-do-USB wyglądają najczęściej jak zwykłe kable, kryją w sobie wyspecjalizowane układy konwertujące. Najbardziej popularne pochodzą od firmy Prolific (np. PL-2303 i podobne) oraz FTDI (np. FT232R). Z mojego doświadczenia wynika, że pod Windows najtrudniej jest uruchomić Prolifica. I nie chodzi o jego możliwości. Po prostu na rynku trudno trafić na produkt firmowy (oryginalny). Ceny takich kabli zaczynają się od 5 zł. Niestety, te naj- tańsze to najczęściej podróbki i próba ich instalacji pod Windows skończy się błędem sterownika numer 10 (lub podobnymi). Spotkałem oczywiście też tanie kable, które chodziły bezproblemowo – kwestia szczęścia. Proponuję więc szukać kabli opartych na układach FTDI (11). Pracowałem z nimi na kilku systemach i na żadnym nie stwarzały problemów. Oczywiście są znacznie droższe (50 zł i więcej). Przy zakupie przejściówek, warto sprawdzić z jakimi systemami operacyjnymi są kompatybilne. 10. Idea łączenia UARTu RPi przez RS232 do portu USB 11. Przejściówka RS232-do-USB firmy FTDI (z le- wej) i inna 12. Menedżer urządzeń ustawił COM9 jak port przejściówki

88 m.technik - www.mt.com.pl SZKOŁA Na warsztaciePoziomtekstu:średniotrudny Z Linuksem... Nie ma żadnego problemu z instalacją Putty dla kom- puterów opartych na Linuksie. Dla przykładu, żeby zainstalować Putty na Ubuntu wystarczy wydać ko- mendę: „sudo apt-get install putty” (komputer musi mieć dostęp do Internetu). Dostęp do przejściówki odbywa się poprzez port szeregowy, najczęściej ozna- czony jako: „/dev/ttyUSB0”. Pamiętajcie o nadaniu odpowiednich praw dostępu do tego portu: „sudo chmod 666 /dev/ttyUSB0”. Komendę należy wykonać z terminala za każdym razem, gdy włączamy przej- ściówkę do portu USB. Na skróty: UART do USB Powyższe rozważania pozwalają na uzyskanie bardzo elastycznego rozwiązania. W sprzedaży znajdziemy również układy, które oferują bezpośrednie przejście z UART na USB (14). Użycie takiego konwertera ma kilka zalet: • nie potrzebujemy konwertera UART-do-RS232 (tanie czasami sprawiają problemy); • nie potrzebujemy przejściówki RS232-do-USB (tanie zazwyczaj sprawiają problemy); • nie potrzebujemy dodatkowych kabli RS232 (dla wygody przedłużacz USB). Najpierw należy się upewnić, że konwerter UART- do-USB operuje logiką 3,3 V. Niektóre układy tego typu oferują jedynie wyjście z logiką 5 V. Ten poziom jest jak najbardziej akceptowalny przez Arduino, ale nie przez RPi. Napięcie wyższe niż 3,3 V, przyłożo- ne do pinów danych GPIO, może spowodować ich uszkodzenie. Spójrzmy na przykładową realizację konwertera UART-do-USB, opartą na układzie FTDI FT232R (15). Konwerter ma dodatkową zworkę, która umożli- wia przełączanie poziomów logiki między 3,3 i 5 V. Upewnijcie się, że dla RPi zworka jest przełączona na 3,3 V, a dla Arduino na 5 V. Następnie połączcie piny tak, żeby: • Pin 8 GPIO (fizyczny, TxD, GPIO14) połączony był z RxD konwertera; • Pin 10 GPIO (fizyczny, RxD, GPIO15) połączony był z TxD konwertera; • Pin 6 Raspberry (fizyczny, GND) połączony był z GND konwertera. Proszę zauważyć, że piny TxD i RxD spięte są na krzyż: TxD RPi z RxD konwertera i RxD RPi z TxD konwertera – odwrotnie niż w przypadku konwertera UART-do-RS232. Testowany przeze mnie konwerter UART-do-USB działał bezproblemowo W naszym przypadku nie musicie osobno konfiguro- wać właściwości sterownika w Menedżerze Urządzeń. Putty poradzi sobie z ich odpowiednim nadpisaniem. Teraz musimy poznać parametry transmisji konsoli UART RPi. „8N1” to wartość domyślna. Pozostaje określić szybkości transmisji. Jest to parametr startu kernela RPi. Można go odczytać z pliku „cmdline. txt” karty SD. Z poziomu Linuksa RPi (zakładam, że używacie dystrybucji Raspbian) znajdziecie ten plik w katalogu „/boot”. Wyświetlcie jego zawartość za pomocą komendy „cat”: cat /boot/cmdline.txt >dwc_otg.lpm_enable=0 console=ttyAMA0,115200 console=tty1 root=/dev/ mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait Zwróćcie uwagę na wpis: „console=ttyAMA0,115200”. Wynika z niego, że cho- dzi o szybkość 115 200. Alternatywnie kartę SD można włożyć do komputera z odpowiednim czytni- kiem kart. Plik „cmdline.txt” znajduje się na partycji widocznej z poziomu Windows. Na komputerze startujemy klienta Putty, ustawia- jąc sesję na odpowiedni port szeregowy – tutaj COM9 – i szybkość: 115 200 (13). W następnym kroku do wyłączonego z prądu Raspberry podłączamy konwerter UART-do-RS232. Ten z kolei łączymy z przejściówką RS232-do-USB. Teraz możemy otworzyć połączenie szeregowe z Putty (klawisz „Open”) i włączyć RPi do zasilania. Jeżeli wszystko poszło dobrze – cieszymy się logami startowymi wyświetlanymi w oknie Putty. Należy tu zwrócić uwagę, że wpięcie przejściówki do innego portu USB może spowodować przypisanie jej innego numeru portu szeregowego. Takie zacho- wanie jest zależne od samego układu i sterowników zainstalowanych w systemie operacyjnym. 13. Ustawienia Putty do komunikacji z portem szeregowym 14. Idea łączenia UART RPi z USB komputera za po- mocą konwertera UART-do-USB

89 Musicie się upewnić, że podłączone do tego pinu zasilanie (ang. back-power) jest stabilne. Inaczej mo- żecie bardzo skutecznie uszkodzić swoje RPi. Nigdy nie zasilajcie też RPi z dwóch źródeł jednocześnie: portu microUSB i przez pin 2. Raspberry Pi model B+ Pierwsze 26 pinów Raspberry Pi B+ jest identyczne z GPIO Raspberry B. Nie ma żadnych różnic przy podłączaniu UART do tych modeli Raspberry. Podsumowanie Połączenie RPi przez UART pozwala na uzyskanie łatwego dostępu do konsoli. Taki sposób jest bardzo pomocny zarówno w diagnostyce RPi, jak i w co- dziennym użytkowaniu. Nie potrzebujemy wtedy sieci ani monitora. Możemy wykorzystać jakikolwiek komputer (również laptop) – nawet, gdy jest wypo- sażony jedynie w port USB. Konwertery UART-do- RS232 są tanie i zazwyczaj nie sprawiają żadnych problemów (pod warunkiem wykorzystania układu MAX 3232). Choć, jak wspomniałem, mnie udało się kupić jeden niedziałający. Więcej szczęścia (lub po prostu funduszy) potrzeba przy zakupie kabla- -przejściówki RS232-do-USB. Te najtańsze bywają kapryśne. Chyba że zdecydujemy się na większy wydatek i zaopatrzymy w kabel oparty na oryginal- nych układach (np. FTDI). Najlepiej więc kupować tam, gdzie istnieje możliwość wymiany. Układy UART-do-USB mogą być atrakcyjną alternatywą, pod warunkiem że ostrożnie dobierzemy je pod kątem wyjściowego poziomu napięć logiki.  Arkadiusz Merta Źródła: http://goo.gl/JpEQjj http://goo.gl/tMviLq http://goo.gl/PzB7fA http://goo.gl/ktcDhn na Win8, Win7, Vista i Ubuntu. Koszt jego zakupu nie przekroczył 40 zł. Proszę również zwrócić uwagę na szpilkę konwer- tera oznaczoną PWR. Konwerter UART-do-RS232, opisany wcześniej (6), zasilany jest poprzez fizyczny pin 1 RPi (3,3 V, dokładniej zasilany jest układ MAX3232). Szpilka oznaczona jako VCC oczekuje zasilania, jest wejściem. Konwertery UART-do-USB zbudowane są inaczej: szpilka opisana jako PWR to wyjście. Niestety, nie przyda się ona do zasilenia RPi. Ustawiając poziom logiki na 3,3 V, na PWR otrzymamy 3,3 V. To zbyt niska wartość, żeby zasilić RPi (zwłaszcza, że maksymalny prąd nie przekracza 100 mA). PWR może się przydać np. dla Arduino, które posługuje się logiką 5 V (500 mA do dyspozycji w opisywanym modelu). Ostatnią rzeczą, o którą mu- sicie zadbać, jest połączenie pinu GND konwertera z pinem 6 (GND) RPi. Masa musi być wspólna. Na marginesie proszę pamiętać, że fizyczny pin numer 2 RPi jest bezpośrednio połączony do szyny zasilania. Nie ma żadnych dodatkowych zabezpie- czeń na wypadek zwarcia, skoków napięcia itp. (ina- czej niż „oficjalne” zasilanie poprzez port microUSB). Więcejo RaspberryPiw miesięcznikuElektronikaPraktyczna.– http://goo.gl/WSU4H6 Wydaniebieżącei numeryarchiwalnemożnaprzejrzeći kupićna www.ulubionykiosk.pl 15. Konwerter UART-do-USB z układem FTDI FT232R; zworka przełącza napięcie logiki między 3,3 i 5V (msx-elektronika.pl) Szanowni Czytelnicy. Ewentualne pytania do autora można kierować bezpośrednio, na adres: arkadiusz.merta@mt.com.pl Jak grzyby po  deszczu pojawiają się nowe „owocowe” komputerki. Części konstruktorów nieobca jest Sakura, czyli „wiśnia”, z  32-bitowym procesorem RX63N firmy Renesas, a  niedawno do  koszyka owoców dodano Banana PI, czyli „banana”, o  którym przeczytacie w  „Elektronice Praktycznej” 11/2014 –  www.ulubionykiosk.pl

84 m.technik - www.mt.com.pl Poziomtekstu:średniotrudnySZKOŁA Na warsztacie Raspberry Pi: Arduino Nano jako alternatywne rozwiązanie W ostatnich odcinkach tej serii zajmowaliśmy się wyłącznie Raspberry Pi. Warto teraz przyjrzeć się innym rozwiązaniom. Wybrałem Arduino Nano: jeden z mniejszych zestawów z całej rodziny Arduino. Sprawdźmy, czy można go zastosować do zadań, które dotychczas powierzaliśmy Raspberry Pi. rozwiązania uniwersalnego – droga do niego będzie bardziej skomplikowana. Rozważenie wielu przy- padków, również tych skrajnych (ang. corner cases), zapewne wydłuży czas wykonania. Ale na końcu otrzymamy rozwiązanie, które zastosujemy jeszcze wielokrotnie. I możemy być pewni, że nie zawie- dzie podczas prezentacji. Czasami jednak celem jest coś, co inżynierowie nazywają POC: ang. proof of concept. W tym przypadku nie chodzi o pełne rozwiązanie problemu czy dostarczenie stabilnego rozwiązania, które będzie używane przez pokolenia. Chodzi o sprawdzenie pewnych możliwości, ogólne udowodnienie, że cele są w ogóle realizowalne (ang. achievable). W związku z powyższym, nie bójcie się poszuki- wać nowych rozwiązań. Zanim zaczniecie pracę, poświęćcie trochę czasu na dokładne określenie celu. Zmieniajcie swoje podejście do problemu, oceniaj- cie nowe pomysły pod kątem ich wpływu na efekt końcowy. Szacujcie czas, koszty, ryzyko kolejnych pomysłów. Postarajcie się oceniać je w kategoriach liczbowych. W takim rachunku uwzględnijcie rów- nież inne potencjalne zyski – zdobyte doświadcze- nie, możliwość jego ponownego wykorzystania. I nie bójcie się wyzwań! David i Goliat Raspberry Pi (RPi) oraz Arduino Nano to zawodnicy dwóch skrajnych wag. Są na tyle różne, że porówny- wanie ich może wydać się niecelowe. RPi to minikomputer. Można do niego podłączyć klawiaturę, mysz, monitor HDMI i pracować jak na zwykłym PC z Linuksem jako systemem operacyj- nym. Ma wystarczająco dużo mocy obliczeniowej, aby służyć jako domowe centrum multimediów, włącznie z odtwarzaniem filmów w formacie HD. Linuks, wspierany przez całą gamę aplikacji i biblio- tek, ułatwia tworzenie złożonych rozwiązań w ję- zykach programowania, takich jak Java czy Python. Umożliwia łączenie z multimediami, stawianie Środki i cele Stare porzekadło mówi: „mierz siły na zamiary”. W dziedzinie inżynierii można je przetłumaczyć na: „dobieraj środki do celów”. Jest to bardzo ważne zagadnienie. Młody inżynier często patrzy na posta- wione przed nim zadanie najpierw przez pryzmat znanych mu technologii. Oznacza to, że nie próbuje rozwiązać problemu, tylko dopasowuje go do już znanych mu rozwiązań technicznych. W skrajnych przypadkach robi to na siłę. I zazwyczaj kończy się to źle, zarówno dla samego procesu tworzenia, jak i produktu końcowego. Doświadczony inżynier najpierw patrzy na to, co ma być zrobione. Dopiero później rozważa, jak to wykonać. Różnica jest fundamentalna. W tym podejściu priorytetem jest cel, efekt końcowy. To on steruje całym projektem. Zawsze powinniście patrzeć przed siebie i zadawać sobie pytanie, jak podejmowane przez Was decyzje wpłyną na końco- we rozwiązanie. Jasny i konkretny cel pozwoli Wam szybko weryfikować pomysły i odrzucać te, które do niego nie prowadzą. Zdefiniowanie celu nie jest wcale takie łatwe. W jednym z poprzednich tekstów („Młody Technik” 10/2014) podałem metodę SMART. Nazwa SMART to akronim pochodzący od angielskich słów specific (specyficzne, konkretne), measurable (mierzalne, dające się określić), achievable (możliwe do osiąg- nięcia), reasonable (sensowne, skutkujące postępem, innowacją) i timeable (ograniczone czasowo, mające swój koniec w określonym czasie). W praktyce ozna- cza to wybieranie celów konkretnych, wymiernych, możliwych do realizacji w określonym czasie i wno- szących coś nowego – czy to do Waszego doświad- czenia, czy – a jakże! – do historii świata. Gdy cel jest priorytetem, droga do niego wcale nie staje się mniej ważna. Jest wiele dróg do rozwiązania każdego problemu. Jedne są prostsze, drugie bardziej kręte – co wcale nie musi przesądzać o ich popraw- ności. Jeżeli za cel postawimy sobie zbudowanie

85 powoli budowanie z klocków. W tym sposobie liczą się inwencja, innowacja, kreatywność. Wszystko leży na stole – i od Was zależy, jak to połączycie! To wyjątkowy i niespotykany wcześniej ruch, przez niektórych określany wręcz mianem III rewolucji przemysłowej. Każdy, nawet dysponujący mini- malnymi umiejętnościami, może stworzyć własny projekt nie tylko do zastosowań domowych. Dzięki serwisom typu KickStarter komercjalizacja pomy- słu nie jest już żadnym problemem. Droga do bycia przedsiębiorcą jest otwarta – od Was zależy, czy zechcecie nią podążyć! Plug&… pray? Z poprzednich tekstów tej serii wiecie już, że tworze- nie środowiska dla Raspberry Pi nie jest specjalnie skomplikowane – ale też nie takie znowu trywialne. Praca z RPi wymaga kilku peryferiów (np. zasila- cza, karty SD, klawiatury, monitora, przejściówki UART-do-USB), być może zmian w konfiguracji domowego rutera (np. ustawianie RPi stałego adresu IP). Wymaga też pewnego zasobu wiedzy w temacie Linuksa (ang. learning curve). Oczywiście w zamian otrzymujemy bardzo uniwersalny zestaw umożli- wiający wiele różnych eksperymentów – nie tylko amatorskich. Ale czy można prościej? W przypadku Nano całe peryferia sprowadzają się do… kabla miniUSB. Za jego pomocą podłącza się Nano bezpośrednio do komputera. Odpowiedzialny za komunikację szeregową układ FTDI na większości systemów operacyjnych nie wymaga instalacji żad- nych dodatkowych sterowników. Programy piszemy z użyciem aplikacji „Arduino IDE”, dostępnej nieod- płatnie na stronie http://goo.gl/yOz5J7. Jej instalacja nie powinna nastręczać żadnych problemów. Jedyną trudność może sprawić zidentyfikowanie numeru wirtualnego portu szeregowego (ang. Virtual COM Port, VCP), tworzonego przez system operacyjny po podłączeniu Nano do komputera. W tym celu: • podłączcie Nano do komputera (2); • otwórzcie Menedżera Urządzeń; • w wyświetlonym drzewku rozwińcie element „Porty (COM & LPT)”; • odszukajcie „USB Serial Port (COMx)” gdzie ‚x’ będzie numerem portu, np. 5 serwerów WWW i tym podobne. To taki komputer w skali karty kredytowej. Nano to całkiem inny świat. Napędza go typo- wy mikrokontroler. Nie działa na nim Linuks, nie da rady zrobić z niego biurkowego komputera. Miniaturowe rozmiary (ok. 4,3x1,7 cm; podczas gdy RPi: 8,5x5,6 cm), minimalny pobór prądu w czasie pracy (~20 mA) i łatwe programowanie sprawiają, że jego domeną są projekty typowo elektroniczne. RPi i Nano łączą wspólne cechy: kompaktowa budowa oparta na jednej płytce oraz porty, których można użyć do kontrolowania innych elementów elektronicznych (np. diód, czujników). Czy pamięta- cie ciężarówkę wykonaną z klocków lego, sterowaną przez Rpi, przedstawioną w artykule z listopadowego numeru „Młodego Technika”? Wnioski z tego projek- tu sugerowały, że RPi nie był dla niego najlepszym wyborem. Długi start systemu, cały bagaż Linuksa z mnogością wymaganych bibliotek, problemy z kartą SD – wszystko to podpowiada, że platforma RPi była zbyt „ciężka”. Spróbujmy więc przyjrzeć się Nano jako alternatywnej metodzie rozwiązania naszego „problemu ciężarówkowego”. Open Source Zanim przejdziemy do szczegółów, warto zwrócić uwagę na to, że Raspberry Pi i Arduino są projektami bardzo mocno wspieranymi przez międzynarodową społeczność. Ich twórcy zdecydowali się na mak- symalne „otwarcie” swoich produktów. Na bazie wolnych licencji udostępnili dosłownie wszystko – od schematów elektrycznych, projektów płytek PCB, środowisk do programowania i bibliotek. Większość z tych elementów, które zazwyczaj chroni się patentami i licencjami, jest dostępnych za darmo do wykorzystania i modyfikowania. Efekt takiego postępowania to przechodząca wszelkie oczekiwa- nia popularność. Miliony ludzi na świecie budują urządzenia oparte o Raspberry i Arduino, dzielą się wynikami swoich doświadczeń, pomagają innym entuzjastom w tworzeniu ich własnych projektów (zob. [1]). Okazję zauważyły też firmy komercyjne. Dostarczają wiele komponentów, z których można łatwo budować swoje projekty. Shield’y dla Arduino, rozszerzenia GPIO czy nadchodzący standard HAT dla Raspberry – tworzenie z nich przypomina 1. Raspberry Pi oraz Arduino Nano 2. Arduino Nano podłączone do portu USB komputera