Komputery SBC 390-FG1-2SBC
Profil studiów: ogólnoakademicki
Forma studiów: stacjonarne
Rodzaj przedmiotu: obowiązkowy
Dziedzina i dyscyplina nauki: Dziedzina nauk ścisłych i przyrodniczych, Dyscyplina nauki fizyczne
Poziom kształcenia: studia pierwszego stopnia
Rok studiów/semestr: 2. rok/4. semestr
Punkty ECTS: 5
Wymagania wstępne: wymagane zaliczenie następujących przedmiotów: Programowanie mikroprocesorów, Systemy operacyjne, Programowanie strukturalne, Wstęp do elektroniki
Bilans nakładu pracy studenta:
- udział w wykładach (15 godz.),
- udział w laboratoriach (45 godz.),
- udział w konsultacjach (15 godz.),
- praca własna studenta w domu (50 godz.),
Wskaźniki ilościowe:
- nakład pracy studenta związany z zajęciami wymagającymi bezpośredniego udziału nauczyciela - 3 ECTS;
- nakład pracy studenta związany z samodzielna pracą - 2 ECTS.
Zasady użycia sztucznej inteligencji (SI):
Podczas zajęć dozwolone jest korzystanie z systemów SI w zakresie:
1. Tłumaczenia maszynowego tekstów źródłowych z języków obcych.
2. Wyszukiwania i organizowania źródeł naukowych.
3. Tworzenia symulacji i modelowania omawianych na wykładzie zjawisk fizycznych.
Podczas egzaminu niedozwolone jest korzystanie z systemów SI.
W przypadku stwierdzenia naruszeń powyższych zasad, osoba kształcąca się może zostać pociągnięta do odpowiedzialności na podstawie odrębnych przepisów dyscyplinarnych.
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
Wiedza, absolwent zna i rozumie:
KP6_WG4 zaawansowane metody obliczeniowe stosowane do rozwiązywania typowych problemów fizycznych oraz przykłady praktycznej implementacji takich metod z wykorzystaniem odpowiednich narzędzi informatycznych; zna elementy programowania oraz inżynierii oprogramowania w zakresie przewidzianym programem kształcenia;
Umiejętności, absolwent potrafi:
KP6_UK3 przygotowywać wystąpienia ustne w języku polskim i języku angielskim, dotyczącym zagadnień szczegółowych, z wykorzystaniem podstawowych ujęć teoretycznych, a także różnych źródeł;
KP6_UO1 organizować pracę własną oraz zespołu;
KP6_UU1 uczyć się samodzielnie.
Kompetencje społeczne, absolwent jest gotów do:
KP6_KO2 do zapoznawania się z literaturą naukową i popularnonaukową w celu pogłębiania i poszerzania wiedzy, z uwzględnieniem zagrożeń przy pozyskiwaniu informacji z niezweryfikowanych źródeł, w tym z Internetu;
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.
Student ma prawo wykorzystywać systemy SI (sztucznej inteligencji) w pracach domowych - ale tylko jako pomoc w rozwiązaniu danego zadania a nie kompletne rozwiązanie danego problemu. Fragmenty kodu programu powinny być uzupełnione o informację, że są one wygenerowane z pomocą SI (np. w komentarzu). Podczas zajęć laboratoryjnych/egzaminu ustnego nie wykorzystujemy SI.
Zaliczenie laboratoriów uzyskuje się na podstawie sumy punktów przeliczonych na procenty, oceny według tabeli poniżej:
0,00%.. 50,00% ndst
... 60,00% dst
... 70,00% dst+
... 80,00% db
... 90,00% db+
... 100,00% bdb
Zaliczenie z części wykładowej polega na zdaniu egzaminu pisemnego, punktowane pytania przeliczane na procenty - oceny według tabeli poniżej
0,00%.. 50,00% ndst
... 60,00% dst
... 70,00% dst+
... 80,00% db
... 90,00% db+
... 100,00% 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: