de Karan Asher

Cum să vă creați propriul server Python cu Raspberry Pi

Cum sa va creati propriul server Python cu Raspberry Pi
Credit de imagine. https://www.python.org/static/community_logos/python-logo-master-v3-TM.png, https://upload.wikimedia.org/wikipedia/commons/1/10/RPi-Logo-Landscape-SCREEN.png

Î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:

  1. Aveți deja un Raspberry Pi configurat cu Raspbian OS. Aici este un ghid de configurare util dacă aveți nevoie de unul.
  2. Pi este conectat la WiFi-ul de acasă (și că știți adresa IP a Pi).
  3. 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.

1611966669 741 Cum sa va creati propriul server Python cu Raspberry Pi
Fereastra terminalului după conectarea cu succes la pi

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.

1611966669 872 Cum sa va creati propriul server Python cu Raspberry Pi
Creați și verificați directorul proiectului

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

1611966669 549 Cum sa va creati propriul server Python cu Raspberry Pi
Instalați balonul

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.

1611966669 292 Cum sa va creati propriul server Python cu Raspberry Pi
Navigați la directorul proiectului și creați un fișier nou

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.

1611966670 826 Cum sa va creati propriul server Python cu Raspberry Pi
Porniți serverul la distanță

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

1611966670 937 Cum sa va creati propriul server Python cu Raspberry Pi
Începeți să editați fișierul de la distanță

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.

1611966670 88 Cum sa va creati propriul server Python cu Raspberry Pi
Creați un site web de bază

Salvați fișierul și utilizați următoarea comandă pentru a rula site-ul web pe serverul Pi:

python3 app.py

1611966670 744 Cum sa va creati propriul server Python cu Raspberry Pi
Rulați site-ul web

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.

1611966671 97 Cum sa va creati propriul server Python cu Raspberry Pi
Verificați pagina web într-un browser

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.

1611966671 709 Cum sa va creati propriul server Python cu Raspberry Pi
Adăugați o rută de miau

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.

1611966671 739 Cum sa va creati propriul server Python cu Raspberry Pi
Verificați dacă noua rută funcționează conform așteptărilor

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.

1611966671 820 Cum sa va creati propriul server Python cu Raspberry Pi
Adăugați o structură la codul dvs.

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

1611966672 53 Cum sa va creati propriul server Python cu Raspberry Pi

Scrieți un cod HTML de bază pentru pagina de pornire din index.html.

1611966672 474 Cum sa va creati propriul server Python cu Raspberry Pi
Cod HTML pentru pagina de pornire

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.

1611966672 346 Cum sa va creati propriul server Python cu Raspberry Pi
Utilizați noul fișier index.html și redați-l folosind app.py

Navigați înapoi la directorul proiectului și rulați din nou site-ul web.

1611966673 873 Cum sa va creati propriul server Python cu Raspberry Pi

Reveniți la pagina de pornire și ar trebui să vedeți conținutul pe care l-ați pus în index.html.

1611966673 761 Cum sa va creati propriul server Python cu Raspberry Pi

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.

1611966673 922 Cum sa va creati propriul server Python cu Raspberry Pi
Creați fișierul CSS

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.

1611966673 506 Cum sa va creati propriul server Python cu Raspberry Pi
Unele coduri CSS

Ca întotdeauna, testați modificările utilizând următoarea comandă:

python3 app.py

1611966673 36 Cum sa va creati propriul server Python cu Raspberry Pi

Observați cum textul din eticheta h4 se colorează în conformitate cu CSS.

1611966674 220 Cum sa va creati propriul server Python cu Raspberry Pi

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.

1611966674 724 Cum sa va creati propriul server Python cu Raspberry Pi
Treceți lista mea ca parametru la index.html
1611966674 824 Cum sa va creati propriul server Python cu Raspberry Pi
Afișați lista mea pe pagina web

Reîmprospătați pagina web și ar trebui să vedeți lista fructelor pe ecran.

1611966674 456 Cum sa va creati propriul server Python cu Raspberry Pi

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.:

  1. Î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.
  2. 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.
  3. 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.
  4. 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.