(in Polish) Komputery SBC 390-FG1-2SBC
Study profile: general academic
Form of study: full-time
Type of subject: compulsory
Field and discipline of science: Field of science and natural sciences, Discipline of physics
Level of education: first-cycle studies
Year of study/semester: 2nd year/4th semester
ECTS credits: 5
Prerequisites: completion of the following courses is required: Microprocessor Programming, Operating Systems, Structural Programming, Introduction to Electronics
Student workload:
- participation in lectures (15 hours),
- participation in laboratories (45 hours),
- participation in consultations (15 hours),
- student's own work at home (50 hours),
Quantitative indicators:
- student workload related to classes requiring direct teacher participation - 3 ECTS;
- student workload related to independent work - 2 ECTS.
Rules for the use of artificial intelligence (AI):
During classes, the use of AI systems is permitted in the following areas:
1. Machine translation of source texts from foreign languages.
2. Searching for and organizing scientific sources.
3. Creating simulations and modeling of physical phenomena discussed in the lecture.
The use of AI systems is not permitted during exams.
In the event of a violation of the above rules, the student may be held accountable under separate disciplinary regulations.
CLASS TOPICS
LECTURE - discussion of the following topics:
1) SBC computers - types, hardware parameters, GPIO ports, characteristics of parameters and capabilities , operating system, represented by the Raspberry Pi (RPi) computer - comparison with other SBCs
2) selection and installation of the operating system, KODI, RetroPi, Raspbian, RaspberryPi OS; remote access to the RPi computer - network interface configuration, access tools for Windows and Linux, as well as Android (putty, Nautilius, ssh), sharing the graphical environment (VNC); working in a text terminal - nano text editor;
3) working in Raspbian/RaspberyPI OS - environment configuration, working in the terminal (system administrator work - system and software updates, package administration - adding new ones and/or removing unnecessary ones); installation of software packages for GPIO support, Python language; visual tools - gnuplot, matplotlib; music server on RPi and support from Android
4) dedicated camera - programs for taking photos (including timelapse), videos, auto-motion detection, image file conversion, creating videos from static images (imagemagick package).
5) GPIO support - LED control from the terminal, from C/C++ (wiringPi libraries)/python/bash shell scripts.
6) GPIO port safety during signal input/output: ULN2003 chip, LTV847 optocoupler; UART, I2C, SPI: i2c-tools software, wiringPi; GPIO port extension (PCF8574, MCP 23017 circuits), analog-to-digital converters (PCF8591, MCP3008); programming of the above circuits in C (wiringPi), Python, bash shell.
7) electronic modules compatible with RaspberryPi - LCD16x2 display, DS18b20 thermometer, pressure sensor; Arduino integration with RPi: wired communication - UART and wireless - nRF24 (2.4GHz radio network). Programming in C (wiringPi) and Python.
8) LAMP installation (Linux, Apache, MySQL, PHP), which is a set of software that enables the launch of a server platform capable of maintaining dynamic websites - we will discuss the Apache, PHP, and MySQL packages. Launching a server presenting data from connected sensors in the form of a website (with graphs - matplotlib, gnuplot), buttons controlling devices (here: LEDs, 10A/250VAC relays) and text (date, time, analog readings). Communication with the MySQL database using PHP and Python.
LABORATORIES - consist of in-depth practice of the topics covered in the lecture series.
Mode
Requirements
(in Polish) Programowanie strukturalne
Operating Systems
Introduction to Electronics
Introduction to Electronics
Prerequisites
Prerequisites (description)
Course coordinators
Assessment criteria
Students complete assignments during laboratory classes, thereby earning the points necessary to pass the course (10 points; not every class is graded—this is decided by the instructor). Additionally, students can increase their points by completing additional projects as homework (on their own RPi boards or on their own computers - if the task concerns only software) - 10 points. A final project is planned at the end of the semester, to be completed at home (plus possibly in the laboratory) individually, for each student, for 10 points. Students with three or more absences will not receive a passing grade.
Students have the right to use AI (artificial intelligence) systems in their homework assignments, but only as an aid in solving a given task and not as a complete solution to a given problem. Fragments of program code should be supplemented with information that they were generated with the help of AI (e.g., in a comment). We do not use AI during laboratory classes/oral exams.
Laboratory credit is obtained on the basis of the sum of points converted into percentages, grades according to the table below:
0.00%.. 50.00% ndst...
60.00% dst...
70.00% dst+...
80.00% db...
90.00% db+
... 100.00% very good
Passing the lecture part consists of passing a written exam, with points converted into percentages - grades according to the table below
0.00%.. 50.00% fail
... 60.00% satisfactory
... 70.00% satisfactory+
... 80.00% good
... 90.00% very good
... 100.00% excellent
Bibliography
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 Helion4. The MagPi Magazine (free access at https://www.raspberrypi.org/magpi-issues and a paper version available in the reading room of the Faculty of Physics, University of Białystok)
5. http://wiringpi.com/ library for programming GPIO ports and electronic circuits in C/C++
Additional information
Additional information (registration calendar, class conductors, localization and schedules of classes), might be available in the USOSweb system: