Komputery SBC 390-FG1-2SBC
Profil studiów ogólnoakademicki
Forma studiów: stacjonarne
Rodzaj przedmiotu:obowiązkowy, moduł 4 Kształcenie praktyczne i specjalistyczne
Dziedzina i dyscyplina nauki: Dziedzina nauk ścisłych i przyrodniczych, Dyscyplina nauki fizyczne
Rok studiów/semestr: 3 rok, 1 semestr, studia I-go stopnia
Wymagania wstępne: wymagane zaliczenie następujących przedmiotów: Programowanie mikroprocesorów, Systemy operacyjne, Programowanie strukturalne, Wstęp do elektroniki
Liczba godzin dydaktycznych: wykład 15h, laboratoria 45h
Metody dydaktyczne: wykład, praca laboratoryjna, dyskusja, konsultacje, kolokwia, praca własna studenta w domu
Punkty ECTS: 5.00
Bilans nakładu pracy studenta: udział w wykładach: 0,6 ECTS, udział w laboratoriach: 1,8 ECTS, praca własna w domu: 1,2 ECTS, przygotowanie do zaliczenia: 1.4 ECTS
Wskaźniki ilościowe: nakład pracy studenta związany z zajęciami wymagającymi bezpośredniego udziału nauczyciela: 2,4 ECTS, nakład pracy studenta związany z zajęciami o charakterze praktycznym: 1,8 ECTS
TEMATYKA ZAJĘĆ
WYKŁAD - omówienie następujących zagadnień:
1) komputery SBC - rodzaje, parametry sprzętowe, porty GPIO, charakterystyka parametrów i możliwości , system operacyjny, jako reprezentant komputer Raspberry Pi (RPi) - porównanie do innych SBC
2) wybór i instalacja systemu operacyjnego, KODI, RetroPi, Raspbian, RaspberryPi OS; dostęp zdalny do komputera RPi - konfiguracja intefejsu sieciowego, narzędzia dostępowe dla Windows i dla Linux, także Android (putty, Nautilius, ssh), udostępnianie środowiska graficznego (VNC); praca w terminalu tekstowym - edytor tekstowy nano;
3) praca w Raspbianie/RaspberyPI OS - konfiguracja środowiska, praca w terminalu (praca administratora systemu - aktualizacje systemu, oprogramowania, administracja pakietami - dodawanie nowych i/lub usuwanie zbytecznych); instalacja pakietów oprogramowania do obsługi GPIO, języka Python; wizualne narzędzia - gnuplot, matplotlib; serwer muzyczny na RPi i obsługa z Andoida
4) dedykowana kamera - programy do robienia zdjęć (w tym timelapse), filmów, autodetekcja ruchu, konwersja plików graficznych, tworzenie filmów z obrazów statycznych (pakiet imagemagick).
5) obsługa GPIO - sterowanie LED-ami z poziomu terminala, z języka C/C++ (biblioteki wiringPi)/python/skryptów powłoki bash.
6) bezpieczeństwo portów GPIO podczas wprowadzania/wyprowadzenia sygnałów: układ ULN2003, transoptor LTV847; komunikacja UART, I2C, SPI: oprogramowanie i2c-tools, wiringPi; rozszerzenie portów GPIO (układy PCF8574, MCP 23017), konwertery analogowo-cyfrowe (PCF8591, MCP3008); programowanie powyższych układów w języku C(wiringPi), python, powłoce bash.
7) moduły elektroniczne współpracujące z RaspberryPi - wyświetlacz LCD16x2, termometr DS18b20, czujnik ciśnienia; integracja Arduino z RPi: komunikacja przewodowa - UART oraz bezprzewodowa - nRF24 (sieć radiowa 2.4GHz). Progwamowanie w C (wiringPi) oraz python.
8) instalacja LAMP (Linux, Apache, MySQL, PHP), które oznacza zestaw oprogramowania umożliwiającego uruchomienie platformy serwerowej zdolnej do utrzymywania dynamicznych stron www - mowa będzie o pakietach apache, php, MySQL. Uruchomienie serwera prezentującego dane z podłączonych czujników w postaci strony www (z wykresami - matplotlib, gnuplot), przyciskami sterującymi urządzeniami (tu: LEDy, przekaźniki 10A/250VAC) oraz tekstem (data, czas, odczyty analogowe). Komunikacja z bazą MySQL przy pomocy php i pythona.
LABORATORIA - polegają na dogłębnym ćwiczeniu poznanych zagadnień z cyklu wykładów.
Tryb prowadzenia przedmiotu
Wymagania (lista przedmiotów)
Programowanie strukturalne
Systemy operacyjne
Wstęp do elektroniki
Wstęp do elektroniki
Założenia (lista przedmiotów)
Założenia (opisowo)
Koordynatorzy przedmiotu
Efekty kształcenia
Student
1) zna charakterystyczne parametry komuterów SBC, wymienia różne platformy i producentów [K U25] [K KOs] [K KO3]
2) potrafi wymienić różnice pomiędzy rodziną SBC RaspberryPi [K U25] [K KOs] [K KO3]
3) potrafi zainstalować system operacyjny na RPi i w nim pracować (w terminalu, oraz w środowisku graficznym), zdalnie oraz lokalnie [K U22] [K KOs] [K KO3]
4) potrafi obsługiwać dedykowaną kamerę do RPi [K U23] [K U25]
5) potrafi budować układy elektroniczne na płytce stykowej i programować je w C/C++/Pythonie, a także sterować w konsoli tekstowej [K W25] [K U23]
6) potrafi wykorzystywać konwerter analogowo-cyfrowy do rozbudowy możliwości RPi [K W25] [K U23][K U25]
7) umie komunikować się pomiędzy Arduino a RPi [K W25] [K U23] [K U25]
[K W25] zna podstawy programowania w wybranym języku wyższego poziomu
[K U22] umie pracować w środowisku różnych systemów operacyjnych oraz korzystać z wybranych programów aplikacyjnych
[K U23] umie napisać prosty program komputerowy w wybranym języku
programowania, skompilować go i uruchomić
[K U25] umie wyszukiwać i wykorzystywać specjalistyczne oprogramowanie komputerowe w zasobach Internelu z poszanowaniem własności Intelektualnej oraz zasad użytkowania
[K KO1] zna ograniczenia swojej wiedzy i rozumie potrzebę dalszego
kształcenia, podnoszenia kompetencji zawodowych, osobistych i społecznych
[K KO3] rozumie znaczenie uczciwości intelektualnej w działaniach własnych i innych osób
[K KOs] potrafi samodzielnie wyszukiwać informacje w literaturze i zasobach Inlernetu, także w językach obcych
Kryteria oceniania
Studenci wykonują prace podczas zajęć laboratoryjnych tym samym zdobywając punkty niezbędne do zaliczenia przedmiotu (10 punktów, nie każde zajęcia są punktowane - o tym decyduje prowadzący). Dodatkowo studenci mogą zwiększyć liczbę swoich punktów realizując dodatkowe projekty jako prace domowe (na własnych płytkach RPi, lub na własnych komputerach - jeśli zadanie dotyczy tylko oprogramowania) - 10 punktów. Przewiduje się projekt końcowy pod koniec semestru, do wykonania w domu (plus ewentualnie w pracowni laboratoryjnej) indywidualne, dla każdego studenta za 10 punktów. Zaliczenia nie otrzymuje student z trzema i więcej nieobecnościami.
Zaliczenie uzyskuje się na podstawie tabeli:
0..14 ocena ndst
15..19 ocena dst
20..24 ocena db
25..30 ocena bdb
Zaliczenie z części wykładowej polega na zdaniu rozmowy egzaminacyjnej. 3 pytania po 10 punktów każde. Punktacja
0..14 ocena ndst
15..19 ocena dst
20..24 ocena db
25..30 ocena bdb
Literatura
1. Raspberry Pi. Niesamowite projekty. Szalony Geniusz, Donald Norris, wydawnictwo Helion
2. Elektronika z wykorzystaniem Arduino i Rapsberry Pi. Receptury, Simon Monk, wydawnictwo Helion
3. Raspberry Pi. Przewodnik dla programistów Pythona, Simon Monk, wydawnictwo Helion
4. The MagPi Magazine (darmowy dostęp z https://www.raspberrypi.org/magpi-issues a także wersja papierowa w czytelni Wydziału Fizyki UwB)
5. http://wiringpi.com/ biblioteka do programowania portów GPIO oraz układów elektronicznych w języku C/C++
Więcej informacji
Dodatkowe informacje (np. o kalendarzu rejestracji, prowadzących zajęcia, lokalizacji i terminach zajęć) mogą być dostępne w serwisie USOSweb: