Komputery SBC
Informacje ogólne
Kod przedmiotu: | 390-FG1-2SBC |
Kod Erasmus / ISCED: | (brak danych) / (brak danych) |
Nazwa przedmiotu: | Komputery SBC |
Jednostka: | Wydział Fizyki |
Grupy: |
fizyka gier komputerowych i robotów 2 rok I stopień sem. letni 2023/2024 |
Punkty ECTS i inne: |
5.00
|
Język prowadzenia: | polski |
Wymagania (lista przedmiotów): | Programowanie mikroprocesorów 390-FG1-2PM |
Założenia (lista przedmiotów): | Lektorat języka angielskiego 2 390-FG1-1LJA2 |
Założenia (opisowo): | Kurs koncentruje się na obsłudze i programowaniu komputera Raspberry Pi (RPi)- jako najbardziej popularnego reprezentanta komputerów jedopłytkowych (SBC). Wymagana jest znajomość systemu operacyjnego Linux. Programować będziemy elektronikę z poziomu RPi, która jest bardzo wrażliwa na błędy połączenia (zwarcia!) i można uszkodzić maszynę - dlatego bezwzględnie należy mieć ukończone zajęcia ze "Wstępu do elektroniki" oraz z "Programowania mikroprocesorów". Bardzo przydatne okażą się zajęcia z przedmiotów: Programowanie skryptowe, Programowanie strukturalne, Wizualizacja danych w programowaniu RPi. Znajomość języka angielskiego wykorzystamy uzupełniając swoją wiedzę materiałami z internetu oraz czytając oryginalną dokumentację RPi jak i specyfikację podzespołów elektronicznych. |
Tryb prowadzenia przedmiotu: | w sali |
Skrócony opis: |
Przedmiot wprowadza do obsługi komputera Raspberry Pi (RPi) - jako reprezentanta komputerów jednopłytkowych (ang. SBC = Single Board Computer). Omawiane będą parametry techniczne komputera, instalacje systemu operacyjnego (różne rodzaje, w zależności od sposobu wykorzystania RPi - multimedia, IoT,retro gry), programowanie w C/C++ oraz w Pythonie, obsługa elektroniki przez interface GPIO (w wierszu poleceń oraz programując w C/C++ oraz w Pythonie). Dedykowana kamera i jej programowanie. Rozbudowa cyfrowych pinów I/O komputera RPi (moduł mcp23017), dodanie przetwornika AC (moduł mcp3008). Tworzenie interfejsu graficznego współpracujących z podłączoną elektroniką (biblioteka GTK). Akwizycja danych pomiarowych i budowa baz danych, tworzenie dynamicznych stron www (MySQL, php, apache). |
Pełny opis: |
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. |
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++ |
Efekty uczenia się: |
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 |
Metody i 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 |
Zajęcia w cyklu "Rok akademicki 2023/24" (zakończony)
Okres: | 2023-10-01 - 2024-06-30 |
Przejdź do planu
PN WT WYK
LAB
LAB
ŚR CZ PT |
Typ zajęć: |
Laboratorium, 45 godzin
Wykład, 15 godzin
|
|
Koordynatorzy: | Krzysztof Gawryluk | |
Prowadzący grup: | Krzysztof Gawryluk | |
Lista studentów: | (nie masz dostępu) | |
Zaliczenie: |
Przedmiot -
Egzamin
Laboratorium - Zaliczenie na ocenę Wykład - Egzamin |
Zajęcia w cyklu "Rok akademicki 2024/25" (jeszcze nie rozpoczęty)
Okres: | 2024-10-01 - 2025-06-30 |
Przejdź do planu
PN WT ŚR CZ PT |
Typ zajęć: |
Laboratorium, 45 godzin
Wykład, 15 godzin
|
|
Koordynatorzy: | (brak danych) | |
Prowadzący grup: | (brak danych) | |
Lista studentów: | (nie masz dostępu) | |
Zaliczenie: |
Przedmiot -
Egzamin
Laboratorium - Zaliczenie na ocenę Wykład - Egzamin |
Właścicielem praw autorskich jest Uniwersytet w Białymstoku.