You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
IoT-For-Beginners/translations/sr/1-getting-started/lessons/1-introduction-to-iot/pi.md

284 lines
25 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "8ff0d0a1d29832bb896b9c103b69a452",
"translation_date": "2025-08-28T14:02:29+00:00",
"source_file": "1-getting-started/lessons/1-introduction-to-iot/pi.md",
"language_code": "sr"
}
-->
# Распбери Пај
[Распбери Пај](https://raspberrypi.org) је рачунар на једној плочи. Можете додати сензоре и актуаторе користећи широк спектар уређаја и екосистема, а за ове лекције користићемо хардверски екосистем под називом [Grove](https://www.seeedstudio.com/category/Grove-c-1003.html). Програмираћете свој Пај и приступати Grove сензорима користећи Python.
![Распбери Пај 4](../../../../../translated_images/raspberry-pi-4.fd4590d308c3d456db1327e86b395ddcd735513267aafd4879ea2785f7792eac.sr.jpg)
## Подешавање
Ако користите Распбери Пај као свој IoT хардвер, имате две опције - можете радити све ове лекције и програмирати директно на Пају, или се можете повезати на "headless" Пај и програмирати са свог рачунара.
Пре него што почнете, потребно је да повежете Grove Base Hat са својим Пајем.
### Задатак - подешавање
Инсталирајте Grove Base Hat на свој Пај и конфигуришите Пај.
1. Повежите Grove Base Hat са својим Пајем. Конектор на хату се поставља преко свих GPIO пинова на Пају, клизећи до краја како би чврсто стајао на основи. Он прекрива Пај.
![Постављање Grove Hata](../../../../../images/pi-grove-hat-fitting.gif)
1. Одлучите како желите да програмирате свој Пај и идите на одговарајући одељак испод:
* [Рад директно на Пају](../../../../../1-getting-started/lessons/1-introduction-to-iot)
* [Даљински приступ за програмирање Паја](../../../../../1-getting-started/lessons/1-introduction-to-iot)
### Рад директно на Пају
Ако желите да радите директно на Пају, можете користити десктоп верзију Raspberry Pi OS-а и инсталирати све потребне алате.
#### Задатак - рад директно на Пају
Подесите свој Пај за развој.
1. Пратите упутства у [водичу за подешавање Распбери Паја](https://projects.raspberrypi.org/en/projects/raspberry-pi-setting-up) како бисте подесили свој Пај, повезали га са тастатуром/мишом/монитором, повезали га на WiFi или етернет мрежу и ажурирали софтвер.
Да бисте програмирали Пај користећи Grove сензоре и актуаторе, потребно је да инсталирате едитор за писање кода за уређаје, као и разне библиотеке и алате који комуницирају са Grove хардвером.
1. Када се ваш Пај поново покрене, покрените Терминал кликом на икону **Terminal** на горњој траци менија или изаберите *Menu -> Accessories -> Terminal*.
1. Покрените следећу команду како бисте осигурали да су OS и инсталирани софтвер ажурирани:
```sh
sudo apt update && sudo apt full-upgrade --yes
```
1. Покрените следеће команде како бисте инсталирали све потребне библиотеке за Grove хардвер:
```sh
sudo apt install git python3-dev python3-pip --yes
git clone https://github.com/Seeed-Studio/grove.py
cd grove.py
sudo pip3 install .
sudo raspi-config nonint do_i2c 0
```
Ово почиње инсталирањем Git-а, заједно са Pip-ом за инсталацију Python пакета.
Једна од моћних карактеристика Python-а је могућност инсталирања [Pip пакета](https://pypi.org) - то су пакети кода које су написали други људи и објавили на интернету. Можете инсталирати Pip пакет на свој рачунар једном командом, а затим користити тај пакет у свом коду.
Seeed Grove Python пакети морају бити инсталирани из извора. Ове команде ће клонирати репозиторијум који садржи изворни код за овај пакет, а затим га локално инсталирати.
> 💁 Подразумевано, када инсталирате пакет, он је доступан свуда на вашем рачунару, што може довести до проблема са верзијама пакета - на пример, једна апликација зависи од једне верзије пакета која престаје да ради када инсталирате нову верзију за другу апликацију. Да бисте заобишли овај проблем, можете користити [Python виртуелно окружење](https://docs.python.org/3/library/venv.html), што је у суштини копија Python-а у посебном фолдеру, а када инсталирате Pip пакете, они се инсталирају само у тај фолдер. Нећете користити виртуелна окружења када користите свој Пај. Grove инсталациони скрипт инсталира Grove Python пакете глобално, тако да ако желите да користите виртуелно окружење, морали бисте да подесите виртуелно окружење, а затим ручно поново инсталирате Grove пакете унутар тог окружења. Лакше је једноставно користити глобалне пакете, посебно јер многи Пај програмери поново флешују чисту SD картицу за сваки пројекат.
На крају, ово омогућава I<sup>2</sup>C интерфејс.
1. Поново покрените Пај користећи мени или покретањем следеће команде у Терминалу:
```sh
sudo reboot
```
1. Када се Пај поново покрене, поново покрените Терминал и покрените следећу команду како бисте инсталирали [Visual Studio Code (VS Code)](https://code.visualstudio.com?WT.mc_id=academic-17441-jabenn) - ово је едитор који ћете користити за писање кода за уређаје у Python-у.
```sh
sudo apt install code
```
Када се инсталира, VS Code ће бити доступан са горњег менија.
> 💁 Слободно користите било који Python IDE или едитор за ове лекције ако имате омиљени алат, али лекције ће давати упутства на основу коришћења VS Code-а.
1. Инсталирајте Pylance. Ово је екстензија за VS Code која пружа подршку за Python језик. Погледајте [документацију за Pylance екстензију](https://marketplace.visualstudio.com/items?WT.mc_id=academic-17441-jabenn&itemName=ms-python.vscode-pylance) за упутства о инсталацији ове екстензије у VS Code-у.
### Даљински приступ за програмирање Паја
Уместо да програмирате директно на Пају, он може радити у "headless" режиму, односно без повезане тастатуре/миша/монитора, а конфигурисање и програмирање можете обављати са свог рачунара користећи Visual Studio Code.
#### Подешавање Pi OS-а
Да бисте програмирали даљински, потребно је инсталирати Pi OS на SD картицу.
##### Задатак - подешавање Pi OS-а
Подесите "headless" Pi OS.
1. Преузмите **Raspberry Pi Imager** са [странице са софтвером за Raspberry Pi OS](https://www.raspberrypi.org/software/) и инсталирајте га.
1. Уметните SD картицу у свој рачунар, користећи адаптер ако је потребно.
1. Покрените Raspberry Pi Imager.
1. У Raspberry Pi Imager-у изаберите дугме **CHOOSE OS**, затим изаберите *Raspberry Pi OS (Other)*, а потом *Raspberry Pi OS Lite (32-bit)*.
![Raspberry Pi Imager са изабраним Raspberry Pi OS Lite](../../../../../translated_images/raspberry-pi-imager.24aedeab9e233d841a1504ed7cfeb871b1f8e1134cfcd8370e7f60a092056be2.sr.png)
> 💁 Raspberry Pi OS Lite је верзија Raspberry Pi OS-а која нема десктоп кориснички интерфејс или алате засноване на интерфејсу. Ови алати нису потребни за "headless" Пај и чине инсталацију мањом и бржим покретањем.
1. Изаберите дугме **CHOOSE STORAGE**, а затим изаберите своју SD картицу.
1. Покрените **Advanced Options** притиском на `Ctrl+Shift+X`. Ове опције омогућавају претходну конфигурацију Raspberry Pi OS-а пре него што се сними на SD картицу.
1. Означите поље **Enable SSH** и поставите лозинку за корисника `pi`. Ово је лозинка коју ћете користити за пријаву на Пај касније.
1. Ако планирате да се повежете на Пај преко WiFi-а, означите поље **Configure WiFi** и унесите свој WiFi SSID и лозинку, као и изаберите своју WiFi земљу. Ово није потребно ако ћете користити етернет кабл. Уверите се да је мрежа на коју се повезујете иста она на којој је ваш рачунар.
1. Означите поље **Set locale settings** и подесите своју земљу и временску зону.
1. Изаберите дугме **SAVE**.
1. Изаберите дугме **WRITE** да бисте снимили OS на SD картицу. Ако користите macOS, од вас ће бити затражено да унесете своју лозинку јер алат који пише слике диска захтева привилеговани приступ.
OS ће бити снимљен на SD картицу, а када се заврши, картица ће бити извађена из система, и бићете обавештени. Уклоните SD картицу из рачунара, уметните је у Пај, укључите Пај и сачекајте око 2 минута да се правилно покрене.
#### Повезивање са Пајем
Следећи корак је даљински приступ Пају. Ово можете урадити користећи `ssh`, који је доступан на macOS-у, Linux-у и новијим верзијама Windows-а.
##### Задатак - повезивање са Пајем
Даљински приступите Пају.
1. Покрените Терминал или Command Prompt и унесите следећу команду да се повежете са Пајем:
```sh
ssh pi@raspberrypi.local
```
Ако користите Windows са старијом верзијом која нема инсталиран `ssh`, можете користити OpenSSH. Упутства за инсталацију можете пронаћи у [документацији за инсталацију OpenSSH-а](https://docs.microsoft.com//windows-server/administration/openssh/openssh_install_firstuse?WT.mc_id=academic-17441-jabenn).
1. Ово би требало да вас повеже са вашим Пајем и затражи лозинку.
Могућност проналажења рачунара на вашој мрежи коришћењем `<hostname>.local` је релативно нова функција у Linux-у и Windows-у. Ако користите Linux или Windows и добијете грешке око тога да име хоста није пронађено, мораћете да инсталирате додатни софтвер за омогућавање ZeroConf мрежа (такође познатих као Bonjour код Apple-а):
1. Ако користите Linux, инсталирајте Avahi користећи следећу команду:
```sh
sudo apt-get install avahi-daemon
```
1. Ако користите Windows, најлакши начин да омогућите ZeroConf је да инсталирате [Bonjour Print Services for Windows](http://support.apple.com/kb/DL999). Такође можете инсталирати [iTunes for Windows](https://www.apple.com/itunes/download/) да бисте добили новију верзију алата (која није доступна самостално).
> 💁 Ако не можете да се повежете користећи `raspberrypi.local`, можете користити IP адресу свог Паја. Погледајте [документацију о IP адреси за Raspberry Pi](https://www.raspberrypi.org/documentation/remote-access/ip-address.md) за упутства о различитим начинима добијања IP адресе.
1. Унесите лозинку коју сте поставили у Advanced Options Raspberry Pi Imager-а.
#### Конфигурисање софтвера на Пају
Када се повежете са Пајем, потребно је да осигурате да је OS ажуриран и да инсталирате разне библиотеке и алате који комуницирају са Grove хардвером.
##### Задатак - конфигурисање софтвера на Пају
Конфигуришите инсталирани софтвер на Пају и инсталирајте Grove библиотеке.
1. Из ваше `ssh` сесије, покрените следећу команду да ажурирате и поново покренете Пај:
```sh
sudo apt update && sudo apt full-upgrade --yes && sudo reboot
```
Пај ће бити ажуриран и поново покренут. `ssh` сесија ће се завршити када се Пај поново покрене, па сачекајте око 30 секунди, а затим се поново повежите.
1. Из поново успостављене `ssh` сесије, покрените следеће команде да инсталирате све потребне библиотеке за Grove хардвер:
```sh
sudo apt install git python3-dev python3-pip --yes
git clone https://github.com/Seeed-Studio/grove.py
cd grove.py
sudo pip3 install .
sudo raspi-config nonint do_i2c 0
```
Ово почиње инсталирањем Git-а, заједно са Pip-ом за инсталацију Python пакета.
Једна од моћних карактеристика Python-а је могућност инсталирања [Pip пакета](https://pypi.org) - то су пакети кода које су написали други људи и објавили на интернету. Можете инсталирати Pip пакет на свој рачунар једном командом, а затим користити тај пакет у свом коду.
Seeed Grove Python пакети морају бити инсталирани из извора. Ове команде ће клонирати репозиторијум који садржи изворни код за овај пакет, а затим га локално инсталирати.
> 💁 Подразумевано, када инсталирате пакет, он је доступан свуда на вашем рачунару, што може довести до проблема са верзијама пакета - на пример, једна апликација зависи од једне верзије пакета која престаје да ради када инсталирате нову верзију за другу апликацију. Да бисте заобишли овај проблем, можете користити [Python виртуелно окружење](https://docs.python.org/3/library/venv.html), што је у суштини копија Python-а у посебном фолдеру, а када инсталирате Pip пакете, они се инсталирају само у тај фолдер. Нећете користити виртуелна окружења када користите свој Пај. Grove инсталациони скрипт инсталира Grove Python пакете глобално, тако да ако желите да користите виртуелно окружење, морали бисте да подесите виртуелно окружење, а затим ручно поново инсталирате Grove пакете унутар тог окружења. Лакше је једноставно користити глобалне пакете, посебно јер многи Пај програмери поново флешују чисту SD картицу за сваки пројекат.
На крају, ово омогућава I<sup>2</sup>C интерфејс.
1. Поново покрените Пај покретањем следеће команде:
```sh
sudo reboot
```
`ssh` сесија ће се завршити када се Пај поново покрене. Нема потребе за поновним повезивањем.
#### Конфигурисање VS Code-а за даљински приступ
Када је Пај конфигурисан, можете се повезати са њим користећи Visual Studio Code (VS Code) са свог рачунара - ово је бесплатан текст едитор за програмере који ћете користити за писање кода за уређаје у Python-у.
##### Задатак - конфигурисање VS Code-а за даљински приступ
Инсталирајте потребан софтвер и повежите се даљински са својим Пајем.
1. Инсталирајте VS Code на свој рачунар пратећи [документацију за VS Code](https://code.visualstudio.com?WT.mc_id=academic-17441-jabenn).
1. Пратите упутства у [документацији за даљински развој у VS Code-у користећи SSH](https://code.visualstudio.com/docs/remote/ssh?WT.mc_id=academic-17441-jabenn) како бисте инсталирали потребне компоненте.
1. Пратећи иста упутства, повежите VS Code са Пајем.
1. Када се повежете, пратите [упутства за управ
Традиционално је, када се започиње рад са новим програмским језиком или технологијом, направити апликацију „Здраво Свете“ - малу апликацију која приказује нешто попут текста `"Hello World"` како би се показало да су сви алати правилно конфигурисани.
Апликација „Здраво Свете“ за Pi ће осигурати да су Python и Visual Studio Code правилно инсталирани.
Ова апликација ће бити у фасцикли названој `nightlight`, и биће поново коришћена са различитим кодом у каснијим деловима овог задатка за изградњу апликације ноћног светла.
### Задатак - здраво свете
Направите апликацију „Здраво Свете“.
1. Покрените VS Code, било директно на Pi-ју, или на вашем рачунару и повежите се са Pi-јем користећи Remote SSH екстензију.
1. Покрените VS Code терминал тако што ћете изабрати *Terminal -> New Terminal*, или притиском на `` CTRL+` ``. Отвориће се у почетном директоријуму корисника `pi`.
1. Покрените следеће команде да бисте креирали директоријум за ваш код и направили Python датотеку названу `app.py` унутар тог директоријума:
```sh
mkdir nightlight
cd nightlight
touch app.py
```
1. Отворите ову фасциклу у VS Code-у тако што ћете изабрати *File -> Open...* и изабрати фасциклу *nightlight*, затим изаберите **OK**.
![Дијалог за отварање у VS Code-у који приказује фасциклу nightlight](../../../../../translated_images/vscode-open-nightlight-remote.d3d2a4011e30d535c4b70084f6e94bf6b5b1327fd8e77affe64465ac151ee766.sr.png)
1. Отворите датотеку `app.py` из VS Code explorer-а и додајте следећи код:
```python
print('Hello World!')
```
Функција `print` штампа све што јој се проследи на конзолу.
1. Из VS Code терминала, покрените следеће да бисте покренули вашу Python апликацију:
```sh
python app.py
```
> 💁 Можда ћете морати експлицитно позвати `python3` да бисте покренули овај код ако имате инсталиран Python 2 поред Python-а 3 (најновије верзије). Ако имате инсталиран Python 2, онда позивање `python` ће користити Python 2 уместо Python-а 3. Подразумевано, најновије верзије Raspberry Pi OS-а имају само Python 3 инсталиран.
Следећи излаз ће се појавити у терминалу:
```output
pi@raspberrypi:~/nightlight $ python3 app.py
Hello World!
```
> 💁 Овај код можете пронаћи у фасцикли [code/pi](../../../../../1-getting-started/lessons/1-introduction-to-iot/code/pi).
😀 Ваша апликација „Здраво Свете“ је била успешна!
---
**Одрицање од одговорности**:
Овај документ је преведен коришћењем услуге за превођење помоћу вештачке интелигенције [Co-op Translator](https://github.com/Azure/co-op-translator). Иако се трудимо да обезбедимо тачност, молимо вас да имате у виду да аутоматски преводи могу садржати грешке или нетачности. Оригинални документ на његовом изворном језику треба сматрати ауторитативним извором. За критичне информације препоручује се професионални превод од стране људи. Не сносимо одговорност за било каква погрешна тумачења или неспоразуме који могу настати услед коришћења овог превода.