Uniwersytet w Białymstoku - Centralny System Uwierzytelniania
Strona główna

Komputery SBC

Informacje ogólne

Kod przedmiotu: 390-FG1-3SBC
Kod Erasmus / ISCED: (brak danych) / (brak danych)
Nazwa przedmiotu: Komputery SBC
Jednostka: Wydział Fizyki
Grupy:
Punkty ECTS i inne: (brak) Podstawowe informacje o zasadach przyporządkowania punktów ECTS:
  • roczny wymiar godzinowy nakładu pracy studenta konieczny do osiągnięcia zakładanych efektów uczenia się dla danego etapu studiów wynosi 1500-1800 h, co odpowiada 60 ECTS;
  • tygodniowy wymiar godzinowy nakładu pracy studenta wynosi 45 h;
  • 1 punkt ECTS odpowiada 25-30 godzinom pracy studenta potrzebnej do osiągnięcia zakładanych efektów uczenia się;
  • tygodniowy nakład pracy studenta konieczny do osiągnięcia zakładanych efektów uczenia się pozwala uzyskać 1,5 ECTS;
  • nakład pracy potrzebny do zaliczenia przedmiotu, któremu przypisano 3 ECTS, stanowi 10% semestralnego obciążenia studenta.

zobacz reguły punktacji
Język prowadzenia: polski
Wymagania (lista przedmiotów):

Programowanie mikroprocesorów 390-FG1-2PM
Programowanie strukturalne 390-FG1-1PS
Systemy operacyjne 390-FG1-1SO
Wstęp do elektroniki 390-FG1-1WDE
Wstęp do elektroniki 390-FG1-2WDE

Założenia (lista przedmiotów):

Lektorat języka angielskiego 2 390-FG1-1LJA2
Programowanie obiektowe 390-FG1-1PO
Programowanie skryptowe 390-FG1-2PS
Wizualizacja danych 390-FG1-2WD

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

Przedmiot nie jest oferowany w żadnym z aktualnych cykli dydaktycznych.
Opisy przedmiotów w USOS i USOSweb są chronione prawem autorskim.
Właścicielem praw autorskich jest Uniwersytet w Białymstoku.
ul. Świerkowa 20B, 15-328 Białystok tel: +48 85 745 70 00 (Centrala) https://uwb.edu.pl kontakt deklaracja dostępności USOSweb 7.0.3.0-1 (2024-04-02)