25 KiB
Распбери Пај
Распбери Пај је рачунар на једној плочи. Можете додати сензоре и актуаторе користећи широк спектар уређаја и екосистема, а за ове лекције користићемо хардверски екосистем под називом Grove. Програмираћете свој Пај и приступати Grove сензорима користећи Python.
Подешавање
Ако користите Распбери Пај као свој IoT хардвер, имате две опције - можете радити све ове лекције и програмирати директно на Пају, или се можете повезати на "headless" Пај и програмирати са свог рачунара.
Пре него што почнете, потребно је да повежете Grove Base Hat са својим Пајем.
Задатак - подешавање
Инсталирајте Grove Base Hat на свој Пај и конфигуришите Пај.
-
Повежите Grove Base Hat са својим Пајем. Конектор на хату се поставља преко свих GPIO пинова на Пају, клизећи до краја како би чврсто стајао на основи. Он прекрива Пај.
-
Одлучите како желите да програмирате свој Пај и идите на одговарајући одељак испод:
Рад директно на Пају
Ако желите да радите директно на Пају, можете користити десктоп верзију Raspberry Pi OS-а и инсталирати све потребне алате.
Задатак - рад директно на Пају
Подесите свој Пај за развој.
- Пратите упутства у водичу за подешавање Распбери Паја како бисте подесили свој Пај, повезали га са тастатуром/мишом/монитором, повезали га на WiFi или етернет мрежу и ажурирали софтвер.
Да бисте програмирали Пај користећи Grove сензоре и актуаторе, потребно је да инсталирате едитор за писање кода за уређаје, као и разне библиотеке и алате који комуницирају са Grove хардвером.
-
Када се ваш Пај поново покрене, покрените Терминал кликом на икону Terminal на горњој траци менија или изаберите Menu -> Accessories -> Terminal.
-
Покрените следећу команду како бисте осигурали да су OS и инсталирани софтвер ажурирани:
sudo apt update && sudo apt full-upgrade --yes
-
Покрените следеће команде како бисте инсталирали све потребне библиотеке за Grove хардвер:
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 пакета - то су пакети кода које су написали други људи и објавили на интернету. Можете инсталирати Pip пакет на свој рачунар једном командом, а затим користити тај пакет у свом коду.
Seeed Grove Python пакети морају бити инсталирани из извора. Ове команде ће клонирати репозиторијум који садржи изворни код за овај пакет, а затим га локално инсталирати.
💁 Подразумевано, када инсталирате пакет, он је доступан свуда на вашем рачунару, што може довести до проблема са верзијама пакета - на пример, једна апликација зависи од једне верзије пакета која престаје да ради када инсталирате нову верзију за другу апликацију. Да бисте заобишли овај проблем, можете користити Python виртуелно окружење, што је у суштини копија Python-а у посебном фолдеру, а када инсталирате Pip пакете, они се инсталирају само у тај фолдер. Нећете користити виртуелна окружења када користите свој Пај. Grove инсталациони скрипт инсталира Grove Python пакете глобално, тако да ако желите да користите виртуелно окружење, морали бисте да подесите виртуелно окружење, а затим ручно поново инсталирате Grove пакете унутар тог окружења. Лакше је једноставно користити глобалне пакете, посебно јер многи Пај програмери поново флешују чисту SD картицу за сваки пројекат.
На крају, ово омогућава I2C интерфејс.
-
Поново покрените Пај користећи мени или покретањем следеће команде у Терминалу:
sudo reboot
-
Када се Пај поново покрене, поново покрените Терминал и покрените следећу команду како бисте инсталирали Visual Studio Code (VS Code) - ово је едитор који ћете користити за писање кода за уређаје у Python-у.
sudo apt install code
Када се инсталира, VS Code ће бити доступан са горњег менија.
💁 Слободно користите било који Python IDE или едитор за ове лекције ако имате омиљени алат, али лекције ће давати упутства на основу коришћења VS Code-а.
-
Инсталирајте Pylance. Ово је екстензија за VS Code која пружа подршку за Python језик. Погледајте документацију за Pylance екстензију за упутства о инсталацији ове екстензије у VS Code-у.
Даљински приступ за програмирање Паја
Уместо да програмирате директно на Пају, он може радити у "headless" режиму, односно без повезане тастатуре/миша/монитора, а конфигурисање и програмирање можете обављати са свог рачунара користећи Visual Studio Code.
Подешавање Pi OS-а
Да бисте програмирали даљински, потребно је инсталирати Pi OS на SD картицу.
Задатак - подешавање Pi OS-а
Подесите "headless" Pi OS.
-
Преузмите Raspberry Pi Imager са странице са софтвером за Raspberry Pi OS и инсталирајте га.
-
Уметните SD картицу у свој рачунар, користећи адаптер ако је потребно.
-
Покрените Raspberry Pi Imager.
-
У Raspberry Pi Imager-у изаберите дугме CHOOSE OS, затим изаберите Raspberry Pi OS (Other), а потом Raspberry Pi OS Lite (32-bit).
💁 Raspberry Pi OS Lite је верзија Raspberry Pi OS-а која нема десктоп кориснички интерфејс или алате засноване на интерфејсу. Ови алати нису потребни за "headless" Пај и чине инсталацију мањом и бржим покретањем.
-
Изаберите дугме CHOOSE STORAGE, а затим изаберите своју SD картицу.
-
Покрените Advanced Options притиском на
Ctrl+Shift+X
. Ове опције омогућавају претходну конфигурацију Raspberry Pi OS-а пре него што се сними на SD картицу.-
Означите поље Enable SSH и поставите лозинку за корисника
pi
. Ово је лозинка коју ћете користити за пријаву на Пај касније. -
Ако планирате да се повежете на Пај преко WiFi-а, означите поље Configure WiFi и унесите свој WiFi SSID и лозинку, као и изаберите своју WiFi земљу. Ово није потребно ако ћете користити етернет кабл. Уверите се да је мрежа на коју се повезујете иста она на којој је ваш рачунар.
-
Означите поље Set locale settings и подесите своју земљу и временску зону.
-
Изаберите дугме SAVE.
-
-
Изаберите дугме WRITE да бисте снимили OS на SD картицу. Ако користите macOS, од вас ће бити затражено да унесете своју лозинку јер алат који пише слике диска захтева привилеговани приступ.
OS ће бити снимљен на SD картицу, а када се заврши, картица ће бити извађена из система, и бићете обавештени. Уклоните SD картицу из рачунара, уметните је у Пај, укључите Пај и сачекајте око 2 минута да се правилно покрене.
Повезивање са Пајем
Следећи корак је даљински приступ Пају. Ово можете урадити користећи ssh
, који је доступан на macOS-у, Linux-у и новијим верзијама Windows-а.
Задатак - повезивање са Пајем
Даљински приступите Пају.
-
Покрените Терминал или Command Prompt и унесите следећу команду да се повежете са Пајем:
ssh pi@raspberrypi.local
Ако користите Windows са старијом верзијом која нема инсталиран
ssh
, можете користити OpenSSH. Упутства за инсталацију можете пронаћи у документацији за инсталацију OpenSSH-а. -
Ово би требало да вас повеже са вашим Пајем и затражи лозинку.
Могућност проналажења рачунара на вашој мрежи коришћењем
<hostname>.local
је релативно нова функција у Linux-у и Windows-у. Ако користите Linux или Windows и добијете грешке око тога да име хоста није пронађено, мораћете да инсталирате додатни софтвер за омогућавање ZeroConf мрежа (такође познатих као Bonjour код Apple-а):-
Ако користите Linux, инсталирајте Avahi користећи следећу команду:
sudo apt-get install avahi-daemon
-
Ако користите Windows, најлакши начин да омогућите ZeroConf је да инсталирате Bonjour Print Services for Windows. Такође можете инсталирати iTunes for Windows да бисте добили новију верзију алата (која није доступна самостално).
💁 Ако не можете да се повежете користећи
raspberrypi.local
, можете користити IP адресу свог Паја. Погледајте документацију о IP адреси за Raspberry Pi за упутства о различитим начинима добијања IP адресе. -
-
Унесите лозинку коју сте поставили у Advanced Options Raspberry Pi Imager-а.
Конфигурисање софтвера на Пају
Када се повежете са Пајем, потребно је да осигурате да је OS ажуриран и да инсталирате разне библиотеке и алате који комуницирају са Grove хардвером.
Задатак - конфигурисање софтвера на Пају
Конфигуришите инсталирани софтвер на Пају и инсталирајте Grove библиотеке.
-
Из ваше
ssh
сесије, покрените следећу команду да ажурирате и поново покренете Пај:sudo apt update && sudo apt full-upgrade --yes && sudo reboot
Пај ће бити ажуриран и поново покренут.
ssh
сесија ће се завршити када се Пај поново покрене, па сачекајте око 30 секунди, а затим се поново повежите. -
Из поново успостављене
ssh
сесије, покрените следеће команде да инсталирате све потребне библиотеке за Grove хардвер: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 пакета - то су пакети кода које су написали други људи и објавили на интернету. Можете инсталирати Pip пакет на свој рачунар једном командом, а затим користити тај пакет у свом коду.
Seeed Grove Python пакети морају бити инсталирани из извора. Ове команде ће клонирати репозиторијум који садржи изворни код за овај пакет, а затим га локално инсталирати.
💁 Подразумевано, када инсталирате пакет, он је доступан свуда на вашем рачунару, што може довести до проблема са верзијама пакета - на пример, једна апликација зависи од једне верзије пакета која престаје да ради када инсталирате нову верзију за другу апликацију. Да бисте заобишли овај проблем, можете користити Python виртуелно окружење, што је у суштини копија Python-а у посебном фолдеру, а када инсталирате Pip пакете, они се инсталирају само у тај фолдер. Нећете користити виртуелна окружења када користите свој Пај. Grove инсталациони скрипт инсталира Grove Python пакете глобално, тако да ако желите да користите виртуелно окружење, морали бисте да подесите виртуелно окружење, а затим ручно поново инсталирате Grove пакете унутар тог окружења. Лакше је једноставно користити глобалне пакете, посебно јер многи Пај програмери поново флешују чисту SD картицу за сваки пројекат.
На крају, ово омогућава I2C интерфејс.
-
Поново покрените Пај покретањем следеће команде:
sudo reboot
ssh
сесија ће се завршити када се Пај поново покрене. Нема потребе за поновним повезивањем.
Конфигурисање VS Code-а за даљински приступ
Када је Пај конфигурисан, можете се повезати са њим користећи Visual Studio Code (VS Code) са свог рачунара - ово је бесплатан текст едитор за програмере који ћете користити за писање кода за уређаје у Python-у.
Задатак - конфигурисање VS Code-а за даљински приступ
Инсталирајте потребан софтвер и повежите се даљински са својим Пајем.
-
Инсталирајте VS Code на свој рачунар пратећи документацију за VS Code.
-
Пратите упутства у документацији за даљински развој у VS Code-у користећи SSH како бисте инсталирали потребне компоненте.
-
Пратећи иста упутства, повежите VS Code са Пајем.
-
Када се повежете, пратите [упутства за управ Традиционално је, када се започиње рад са новим програмским језиком или технологијом, направити апликацију „Здраво Свете“ - малу апликацију која приказује нешто попут текста
"Hello World"
како би се показало да су сви алати правилно конфигурисани.
Апликација „Здраво Свете“ за Pi ће осигурати да су Python и Visual Studio Code правилно инсталирани.
Ова апликација ће бити у фасцикли названој nightlight
, и биће поново коришћена са различитим кодом у каснијим деловима овог задатка за изградњу апликације ноћног светла.
Задатак - здраво свете
Направите апликацију „Здраво Свете“.
-
Покрените VS Code, било директно на Pi-ју, или на вашем рачунару и повежите се са Pi-јем користећи Remote SSH екстензију.
-
Покрените VS Code терминал тако што ћете изабрати Terminal -> New Terminal, или притиском на
CTRL+`
. Отвориће се у почетном директоријуму корисникаpi
. -
Покрените следеће команде да бисте креирали директоријум за ваш код и направили Python датотеку названу
app.py
унутар тог директоријума:mkdir nightlight cd nightlight touch app.py
-
Отворите ову фасциклу у VS Code-у тако што ћете изабрати File -> Open... и изабрати фасциклу nightlight, затим изаберите OK.
-
Отворите датотеку
app.py
из VS Code explorer-а и додајте следећи код:print('Hello World!')
Функција
print
штампа све што јој се проследи на конзолу. -
Из VS Code терминала, покрените следеће да бисте покренули вашу Python апликацију:
python app.py
💁 Можда ћете морати експлицитно позвати
python3
да бисте покренули овај код ако имате инсталиран Python 2 поред Python-а 3 (најновије верзије). Ако имате инсталиран Python 2, онда позивањеpython
ће користити Python 2 уместо Python-а 3. Подразумевано, најновије верзије Raspberry Pi OS-а имају само Python 3 инсталиран.Следећи излаз ће се појавити у терминалу:
pi@raspberrypi:~/nightlight $ python3 app.py Hello World!
💁 Овај код можете пронаћи у фасцикли code/pi.
😀 Ваша апликација „Здраво Свете“ је била успешна!
Одрицање од одговорности:
Овај документ је преведен коришћењем услуге за превођење помоћу вештачке интелигенције Co-op Translator. Иако се трудимо да обезбедимо тачност, молимо вас да имате у виду да аутоматски преводи могу садржати грешке или нетачности. Оригинални документ на његовом изворном језику треба сматрати ауторитативним извором. За критичне информације препоручује се професионални превод од стране људи. Не сносимо одговорност за било каква погрешна тумачења или неспоразуме који могу настати услед коришћења овог превода.