Hogyan készítsünk saját Python dev-szervert a Raspberry Pi segítségével

Egyszerűbben fogalmazva: a Raspberry Pi egy szuper olcsó (40 USD) Linux alapú számítógép. Ez az. Komolyan.

Bármit megtehet, amit el tud képzelni egy normál Linux számítógép, például böngészhet az interneten, kódot írhat, dokumentumokat szerkeszthet, és csatlakozhat I / O eszközökhöz, például hüvelykujj-meghajtóra, egérre, billentyűzetre stb. megtanulják, hogyan készítsenek saját Python dev-szervert a Raspberry Pi segítségével.

0. lépés. Határozza meg a célt

Mielőtt elkezdenénk, fontos megérteni, mi az, amit megpróbálunk felépíteni. Az oktatóanyag végére a helyi otthoni hálózaton futtathat egy Raspberry Pi alapú (egy lombikot használó) weboldalt.

A bemutató célja annak bemutatása, hogy a Pi hogyan használható dev-kiszolgálóként, pontosabban egy egyszerű weboldal üzemeltetésére szolgál (Lombik segítségével).

1. lépés Mondja el a feltételezéseket

Íme néhány feltételezés, amelyet ez az oktatóanyag fog tenni:

  1. Már van Raspberry Pi beállítása Raspbian operációs rendszerrel. Itt van egy hasznos telepítési útmutató, ha szüksége van rá.
  2. A Pi csatlakozik az otthoni WiFi-hez (és hogy tudja a Pi IP-címét).
  3. A továbbiakban nem lesz szükség képernyőre. feltételezve, hogy az 1. és a 2. pont teljes.

A VS kódot a Távoli VSCode kiterjesztéssel használjuk a Pi fájljainak távoli létrehozásához és szerkesztéséhez. Mindenképpen ajánlom, hogy használja ezt a kettőt a követéshez. Ezenkívül ezek sokkal könnyebbé teszik a távoli fájlokkal való munkát, így ez plusz.

2. lépés. Keresse meg a Pi IP-címét

Először csatlakoztassa a Pi-t egy tápegységhez, és győződjön meg arról, hogy megfelelően elindult és csatlakozik a WiFi / Ethernet-hez (alapvetően internetkapcsolattal kell rendelkeznie).

Az ssh használatával csatlakozunk a Pi-hez és kommunikálunk vele. Ahhoz, hogy ezt távolról megtehesse egy laptop segítségével, ismernie kell annak IP-címét. Ezt egyszerűen megkaphatja az internetszolgáltató adminisztrációs portálján (általában a //192.168.0.1 címen érhető el. Kérjük, vegye figyelembe, hogy ez a különböző internetszolgáltatóknál eltérő lehet.)

A Pi-t általában egy olyan címhez kell csatlakoztatnia, amely hasonló lehet a '192.168.0.12.' Ez megint más és más lesz. Ezért kérjük, használja az IP-címet, amelyet a Pi-hez talált az adminisztrációs portálon. A továbbiakban ez az oktatóprogram a 192.168.0.12-et fogja használni a Pi IP-címeként.

3. lépés. Csatlakozás a Pi-hez az ssh használatával

Nyissa meg a VS-kódot és a beépített terminálablakot a laptopján. Csatlakozzon a Pi-hez 192.188.0.12 IP-címmel a következő ssh paranccsal:

ssh -R 52698: localhost: 52698 [email protected]

A fenti parancs kétirányú kommunikációs csatornát állít fel a laptop és a Pi között. Ha most először csatlakozik a Pi-hez, akkor jelszóként málnát használjon. Lehet, hogy a rendszer kéri az alapértelmezett jelszó megváltoztatását. Erősen ajánlott.

4. lépés: Hozzon létre egy projekt könyvtárat

Most a Pi saját könyvtárában kell lennie. Hozzunk létre egy könyvtárat a felépíteni kívánt webhelyhez. A könyvtár létrehozásához használja a következő parancsot:

mkdir MyFlaskWebsite

Az 'ls' paranccsal ellenőrizze, hogy valóban lát-e egy új mappát, MyFlaskWebsite néven.

5. lépés. Telepítse a lombikot

A Lombikot egy egyszerű weboldal létrehozására fogjuk használni. A Lombik egy Python-alapú mikro web keretrendszer. A Jinja-t (Python alapú sablonmotor) használja sablonmotorként, ami nagyon használhatóvá és erőteljessé teszi. A következő paranccsal telepítse a lombikot a Pi-re:

sudo apt-get install python3-flask

6. lépés. Írjon néhány alapvető kódot

Most, hogy a lombik telepítve van, elkezdhetjük a fájlok létrehozását és a kódok írását. Először keresse meg az újonnan létrehozott projektkönyvtárat (a 4. lépéstől) a következő paranccsal:

cd MyFlaskWebsite

Minden projektfájl és mappa ebben a 'MyFlaskWebsite' könyvtárban lesz. Most hozza létre az első kódfájlt (app.py) a következő paranccsal:

érintse meg az app.py elemet

Az 'ls' paranccsal ellenőrizve a könyvtárat, látnia kell ezt az újonnan létrehozott fájlt.

Most nyomja meg az F1 gombot, és válassza a "Távoli indító kiszolgáló" lehetőséget. Ennek lehetővé kell tennie, hogy a laptop segítségével távolról szerkessze a Pi fájljait.

Ezután használja a következő parancsot az újonnan létrehozott app.py fájl szerkesztésének megkezdéséhez. Ez eltarthat néhány másodpercig, de az üres fájlnak láthatónak kell lennie a fenti ablakban.

rmate app.py

Írja be az alábbi képen látható kódot. Itt meghatároztunk egy útvonalat a weboldal kezdőlapjához, amelyen fel kell tüntetni: "Ez az én lombik weboldalam és nagyon klassz." Ne feledje, hogy ha a gazdagépet 0.0.0.0-ra állítja, akkor a webhely elérhetővé válik az összes, ugyanarra a hálózatra csatlakozó eszköz számára.

Mentse a fájlt, és a következő paranccsal futtassa a webhelyet a Pi szerveren:

python3 app.py

A fenti sikerüzenet megérkezése után nyisson meg egy új böngészőablakot a hálózat bármely eszközén, és írja be a Pi IP-címét (ebben az esetben 192.168.0.12), majd azt a portot, amelyen a dev-szerver fut (5000. ) Tehát a teljes cím //192.168.0.12:5000/

Látnia kell a "Ez az én lombik weboldalam és nagyon klassz" szöveget. a weboldalon.

Ez megerősíti, hogy a dev-szerver aktív, és az éppen létrehozott weboldalt futtatja.

7. lépés: Adjon hozzá további útvonalakat

Jelenleg a kód csak 1 útvonalból áll, amely a weboldal kezdőlapja. Adjon hozzá egy másik útvonalat a következő kód beírásával. Ne feledje, hogy dinamikusan változtathat a dev-kiszolgáló futása közben. A böngésző ablakának frissítése után automatikusan rögzíti a delta-t (kódváltás) és futtatja a módosított verziót.

Annak ellenőrzéséhez, hogy az új útvonal a várakozásoknak megfelelően működik-e, látogasson el a //192.168.0.12:5000/meow oldalra, és a weboldalnak 'MEOW' kell lennie.

8. lépés. Vegyen fel struktúrát a kódjába

Most további útvonalak hozzáadása nagyszerű, de ha az összes kód csak egy app.py fájlban van, akkor ez nem egy weboldal struktúrája. Általában HTML-sablonokkal rendelkező mappánk, statikus CSS-fájlokkal rendelkező mappánk és egy másik JS-fájlunk van. Vegyük fel ezeket a mappákat, és helyezzük át a kódot a megfelelő mappákba, hogy jobban strukturáljuk a kódot. A következő parancsokkal hozhatja létre ezeket a könyvtárakat:

mkdir sablonok mkdir statikus

Az 'ls' paranccsal ellenőrizheti, hogy létrehozták-e ezeket a mappákat.

Most hozzunk létre egy HTML fájlt a kezdőlaphoz. A következő parancsokkal navigálhat a sablonok könyvtárába. Ezután hozzon létre egy új index.html nevű fájlt, és az rmate használatával szerkessze ugyanezt:

cd sablonok érintse meg az index.html rmate index.html elemet

Írjon néhány alapvető HTML-kódot a kezdőlaphoz az index.html fájlban.

Az index.html fájl használatához hajtsa végre a következő módosításokat az app.py oldalon. Az alábbi kód alapértelmezés szerint az index.html nevű fájlt keresi a sablonkönyvtárban.

Lépjen vissza a projektkönyvtárba, és futtassa újra a weboldalt.

Menjen vissza a kezdőlapra, és látnia kell azt a tartalmat, amelyet az index.html fájlba tett.

Most adjon hozzá egy kis stílust a 'main.css' létrehozásával a statikus könyvtárban. Mint mindig, a 'cd' paranccsal változtathatja meg a könyvtárat, a 'touch' paranccsal új fájlt hozhat létre, és az 'rmate' paranccsal szerkesztheti ugyanazt a fájlt.

Adjon némi stílust a h4 címkéhez. Vegye figyelembe, hogy az index.html fájlban jelenleg 1 h4 címke van, amelyet a css-nek módosítania kell.

Mint mindig, a következő paranccsal tesztelje a változtatásokat:

python3 app.py

Figyelje meg, hogyan színeződik a h4 címke szövege a CSS szerint.

9. lépés. Használja ki Jinja előnyeit

Jinja egy Python alapú sablonmotorban, amely sok hatékony funkcióval egészíti ki a weboldalakat. Bár ez az oktatóanyag nem a Jinja megtanulására összpontosít, nézzünk meg egy egyszerű példát arra, hogy Jinja hogyan lehet hasznos.

Csak hozzunk létre egy listát a gyümölcsökről az app.py oldalon, és adjuk át paraméterként az index.html fájlnak. Ezután az index.html megjeleníti ezt a listát a weboldalon. Végezze el a következő módosításokat az app.py és az index.html fájlokban.

Frissítse weboldalát, és látnia kell a gyümölcsök listáját a képernyőn.

Ez arról szól, hogy Jinja milyen hatalmas és hasznos tud lenni. Ha további információra van szüksége a Jinjáról, kérjük, olvassa el ezt.

10. lépés. Következő lépések

Most, hogy rendelkezik egy teljesen működő Python dev-szerverrel, a továbbiakban rejlő lehetőségek gyakorlatilag végtelenek. Íme néhány hasznos következő lépés, amelyet fontolóra vehet a projektje során:

  1. Jelenleg a Pi csak a személyes hálózaton lévő eszközökön keresztül érhető el. Ahhoz, hogy a Pi-t kitegye a külvilág elé (hozzáférhet a személyes hálózaton kívüli bármely eszközön keresztül), szüksége van valamire, amelyet port továbbításnak neveznek. Alapvetően szükséged van egy domain névre és egy statikus IP-címre, amelyet véglegesen hozzárendelnek a Pi-hez. További információ itt és itt.
  2. A legtöbb alkalmazáshoz adatbázisra lesz szükség az alapvető CRUD műveletekhez. A Python már a dobozon kívül támogatja az SQlite programot. Itt és itt megtudhatja, hogyan kell használni az SQlite-t a lombikkal.
  3. Íme egy remek Raspberry Pi kezdőkészlet az Amazon-on. Ebben az a lényeg, hogy minden benne van az induláshoz, és megtakarítja azt az erőfeszítést, hogy maga keressen egyes tételeket.
  4. Mivel nem képernyőt használ, fontos, hogy a terminál segítségével a Pi leállítási parancsát használja. Ez biztosítja, hogy a Pi és az SD kártya ne sérüljön:
sudo leállítás -h most

#A következő alkalomig.