de Karan Asher
Conţinut
- 1 Cum să vă creați propriul server Python cu Raspberry Pi
- 1.0.1 Pasul 0. Definiți obiectivul
- 1.0.2 Pasul 1. Precizați ipotezele
- 1.0.3 Pasul 2. Găsiți adresa IP a Pi
- 1.0.4 Pasul 3. Conectați-vă la Pi utilizând ssh
- 1.0.5 Pasul 4. Creați un director de proiect
- 1.0.6 Pasul 5. Instalați Flask
- 1.0.7 Pasul 6. Scrieți un cod de bază
- 1.0.8 Pasul 7. Adăugați mai multe rute
- 1.0.9 Pasul 8. Adăugați o structură la cod
- 1.0.10 Pasul 9. Profitați de Jinja
- 1.0.11 Pasul 10. Pașii următori
Cum să vă creați propriul server Python cu Raspberry Pi
În termeni simpli, Raspberry Pi este un computer Linux foarte ieftin (40 USD). Asta este. Serios.
Poate face orice vă puteți imagina un computer Linux normal, cum ar fi să navigați pe web, să scrieți cod, să editați documente și să vă conectați la dispozitive I / O, cum ar fi unitatea de memorie, mouse-ul, tastatura etc. Acest tutorial va fi axat pe învățând cum să vă creați propriul server Python cu Raspberry Pi.
Pasul 0. Definiți obiectivul
Înainte de a începe, este important să înțelegem ce încercăm să construim. Până la sfârșitul tutorialului, veți putea rula un site web de bază (folosind Balon) de pe un Raspberry Pi din rețeaua locală de domiciliu.
Scopul acestui tutorial este de a demonstra modul în care un Pi poate fi folosit ca un dev-server, mai exact, exemplul va fi găzduirea unui site web simplu (folosind Balon).
Pasul 1. Precizați ipotezele
Iată câteva ipoteze pe care le va face acest tutorial:
- Aveți deja un Raspberry Pi configurat cu Raspbian OS. Aici este un ghid de configurare util dacă aveți nevoie de unul.
- Pi este conectat la WiFi-ul de acasă (și că știți adresa IP a Pi).
- Nu veți avea nevoie de un ecran înainte. presupunând că punctele 1 și 2 sunt complete.
Noi vom folosi Cod VS cu Cod VSC la distanță extensie pentru a crea și edita de la distanță fișiere pe Pi. Vă recomand cu siguranță să utilizați aceste două pentru a continua. De asemenea, acestea vor facilita mult lucrul cu fișiere la distanță, deci acesta este un plus.
Pasul 2. Găsiți adresa IP a Pi
Mai întâi, conectați Pi la o sursă de alimentare și asigurați-vă că este pornit corect și conectat la WiFi / Ethernet (practic, trebuie să aibă o conexiune la internet).
Vom folosi ssh pentru a ne conecta și a comunica cu Pi. Pentru a face asta de la distanță folosind un laptop, trebuie să îi cunoașteți adresa IP. Acest lucru poate fi obținut cu ușurință utilizând portalul de administrare al ISP-ului dvs. (de obicei disponibil la adresa http://192.168.0.1. Vă rugăm să rețineți că acest lucru ar putea fi diferit pentru diferiți furnizori de servicii Internet.)
De obicei, ar trebui să aveți Pi conectat la o adresă care poate arăta similar cu „192.168.0.12”. Din nou, acest lucru va fi diferit pentru diferite persoane. Așadar, vă rugăm să utilizați adresa IP pe care ați găsit-o pentru Pi în portalul de administrare. În continuare, acest tutorial va utiliza 192.168.0.12 ca adresă IP a Pi.
Pasul 3. Conectați-vă la Pi utilizând ssh
Deschideți codul VS și fereastra terminalului încorporat de pe laptop. Conectați-vă la Pi cu o adresă IP de 192.188.0.12 folosind următoarea comandă ssh:
ssh -R 52698: localhost: 52698 pi@192.168.0.12
Comanda de mai sus va configura un canal de comunicație bidirecțional între laptop și Pi. Dacă este prima dată când vă conectați la Pi, utilizați zmeură ca parolă. Este posibil să vi se solicite să vă schimbați parola implicită. Este foarte recomandat să faceți acest lucru.
Pasul 4. Creați un director de proiect
Ar trebui să vă aflați acum în directorul principal al Pi. Să creăm un director pentru site-ul web pe care dorim să îl construim. Utilizați următoarea comandă pentru a crea directorul:
mkdir MyFlaskWebsite
Utilizați comanda „ls” pentru a verifica dacă puteți vedea într-adevăr un folder nou numit MyFlaskWebsite.
Pasul 5. Instalați Flask
Noi vom folosi Balon pentru a crea un site web simplu. Balon este un cadru micro web bazat pe Python. Folosește Jinja (Motor șablon bazat pe Python) ca motor șablon, ceea ce îl face foarte utilizabil și puternic. Utilizați următoarea comandă pentru a instala balonul pe Pi:
sudo apt-get install python3-flask
Pasul 6. Scrieți un cod de bază
Acum că Flask este instalat, putem începe să creăm fișiere și să scriem un anumit cod. Mai întâi, navigați la directorul de proiect nou creat (de la pasul 4) utilizând următoarea comandă:
cd MyFlaskWebsite
Toate fișierele și folderele de proiect vor locui în acest director „MyFlaskWebsite”. Acum, creați primul fișier de cod (app.py) folosind următoarea comandă:
atingeți app.py
La verificarea directorului utilizând comanda ‘ls’, ar trebui să puteți vedea acest fișier nou creat.
Acum, apăsați F1 și alegeți „Remote Start Server”. Acest lucru ar trebui să vă permită să editați de la distanță fișierele de pe Pi utilizând laptopul.
Apoi, utilizați următoarea comandă pentru a începe editarea fișierului app.py nou creat. Poate dura câteva secunde, dar fișierul gol ar trebui să fie vizibil în fereastra de deasupra.
rmate app.py
Tastați codul afișat în imaginea de mai jos. Aici, am definit un traseu către pagina de pornire a site-ului web, care ar trebui să afișeze „Acesta este site-ul web al balonului meu și este atât de cool”. Rețineți că setarea gazdei la 0.0.0.0 permite acestui site web să fie accesibil de toate dispozitivele conectate la aceeași rețea.
Salvați fișierul și utilizați următoarea comandă pentru a rula site-ul web pe serverul Pi:
python3 app.py
La primirea mesajului de succes de mai sus, deschideți o nouă fereastră de browser pe orice dispozitiv din rețeaua dvs. și tastați adresa IP a Pi (în acest caz, este 192.168.0.12) urmată de portul pe care rulează serverul dev (5000. ) Deci adresa completă va fi http://192.168.0.12:5000/
Ar trebui să vedeți textul „Acesta este site-ul web al balonului meu și este atât de mișto”. pe pagina web.
Acest lucru confirmă faptul că serverul dvs. dev este activ și rulează site-ul web pe care tocmai l-ați creat.
Pasul 7. Adăugați mai multe rute
În prezent, codul este format dintr-un singur traseu, care este pagina principală a site-ului web. Adăugați un alt traseu tastând următorul cod. Rețineți că puteți efectua modificări dinamice în timp ce dev-serverul rulează. Acesta va captura automat delta (schimbarea codului) și va rula o versiune revizuită odată ce reîmprospătați fereastra browserului.
Pentru a verifica dacă noua rută funcționează sau nu așa cum era de așteptat, accesați http://192.168.0.12:5000/meow iar pagina web ar trebui să „MEOW” la tine.
Pasul 8. Adăugați o structură la cod
Acum, adăugarea mai multor rute este extraordinar, dar conținerea întregului cod într-un singur fișier app.py nu este modul în care ar trebui structurat un site web. De obicei, am avea un folder cu șabloane HTML, un folder cu fișiere CSS statice și altul pentru fișiere JS. Să adăugăm aceste foldere și să mutăm codul în folderele corespunzătoare pentru a structura codul mai bine. Utilizați următoarele comenzi pentru a crea aceste directoare:
șabloane mkdir
mkdir static
Utilizați comanda ‘ls’ pentru a verifica dacă aceste foldere au fost create.
Acum, să creăm un fișier HTML pentru pagina de pornire. Utilizați următoarele comenzi pentru a naviga la directorul șabloanelor. Apoi, creați un fișier nou numit index.html și utilizați rmate pentru a edita același lucru:
șabloane cd
atingeți index.html
rmate index.html
Scrieți un cod HTML de bază pentru pagina de pornire din index.html.
Efectuați următoarele modificări în app.py pentru a utiliza fișierul index.html. Codul de mai jos va căuta în mod implicit un fișier numit index.html în directorul șabloane.
Navigați înapoi la directorul proiectului și rulați din nou site-ul web.
Reveniți la pagina de pornire și ar trebui să vedeți conținutul pe care l-ați pus în index.html.
Acum adăugați ceva stil creând „main.css” în directorul static. Ca întotdeauna, utilizați comanda „cd” pentru a schimba directorul, comanda „atingeți” pentru a crea un fișier nou și comanda „rmate” pentru a edita același fișier.
Adăugați ceva stil la eticheta h4. Rețineți că în prezent avem 1 etichetă h4 în index.html pe care ar trebui să o modifice CSS.
Ca întotdeauna, testați modificările utilizând următoarea comandă:
python3 app.py
Observați cum textul din eticheta h4 se colorează în conformitate cu CSS.
Pasul 9. Profitați de Jinja
Jinja într-un motor de șabloane bazat pe Python care adaugă o mulțime de caracteristici puternice paginilor web. Deși acest tutorial nu se concentrează pe învățarea Jinja, să ne uităm doar la un exemplu simplu despre modul în care Jinja poate fi util.
Să creăm doar o listă de fructe în app.py și să o transmitem ca parametru la index.html. Vom avea apoi index.html afișarea listei pe pagina web. Efectuați următoarele modificări în app.py și index.html.
Reîmprospătați pagina web și ar trebui să vedeți lista fructelor pe ecran.
Aceasta vorbește despre cât de puternic și util poate fi Jinja. Pentru mai multe informații despre Jinja, vă rugăm să consultați acest.
Pasul 10. Pașii următori
Acum că aveți un server de dezvoltare Python complet funcțional, posibilitățile viitoare sunt practic infinite. Iată câțiva pași următori utili pe care îi puteți lua în considerare pentru proiectul dvs.:
- În prezent, Pi este accesibil numai prin intermediul dispozitivelor din rețeaua dvs. personală. Pentru a expune Pi-ul către lumea exterioară (accesați-l prin orice dispozitiv din afara rețelei personale), aveți nevoie de ceva cunoscut sub numele de redirecționare de porturi. Practic, aveți nevoie de un nume de domeniu și o adresă IP statică care este atribuită permanent Pi. Mai multe informatii Aici și Aici.
- Majoritatea aplicațiilor vor necesita o bază de date pentru operațiuni CRUD de bază. Python acceptă SQlite chiar din cutie. Aflați cum să utilizați SQlite cu Flask Aici și Aici.
- Iată un kit de pornire Raspberry Pi rece pe Amazon. Lucrul îngrijitor este că are tot ce aveți nevoie pentru a începe și vă economisește efortul de a căuta singuri articole individuale.
- Deoarece nu utilizați un ecran, este important să utilizați comanda de oprire pentru Pi utilizând terminalul. Acest lucru asigură faptul că Pi și cardul SD nu sunt deteriorate:
sudo shutdown -h acum
#Pana data viitoare.
#Cum #să #vă #creați #propriul #server #Python #Raspberry
Cum să vă creați propriul server Python cu Raspberry Pi