Sisukord:

Raspberry Pi ühendamine veebiga: 9 sammu
Raspberry Pi ühendamine veebiga: 9 sammu

Video: Raspberry Pi ühendamine veebiga: 9 sammu

Video: Raspberry Pi ühendamine veebiga: 9 sammu
Video: Электрика в квартире своими руками. Финал. Переделка хрущевки от А до Я. #11 2024, Juuli
Anonim
Raspberry Pi ühendamine veebiga
Raspberry Pi ühendamine veebiga

Selles õppetükis saate teada, kuidas luua veebilehte, koguda andmeid ülemaailmse veebi abil ja kasutada API -sid piltide postitamiseks Tumblrisse ja Twitterisse.

Samm: klient ja server

Arvutustehnikas on klient-server tarkvaramudel, mis koosneb kahest osast: klient ja server. Mõlemad suhtlevad arvutivõrgu kaudu või koos samas arvutis. Klient on programm või arvuti tarkvaraga, mis tugineb teenusetaotluste esitamisele serverile. Server on arvutiprogramm või seade, mis võtab need taotlused vastu, töötleb neid ja tagastab kliendile nõutud teabe. Mõnikord on keeruline välja selgitada, mis on kumbki, kui töötate masinatega, mis teevad korraga mitut ülesannet. Siin on mõned omadused, mis aitavad teil klienti ja serverit eristada.

Kliendi omadused:

  • See on esimene aktiivne
  • Saadab päringuid serverile
  • See ootab ja saab serverilt vastuseid
  • Tavaliselt suhtleb otse lõppkasutajatega, kasutades mis tahes kasutajaliidest, näiteks graafilist kasutajaliidest

Serveri omadused:

  • See on esialgu passiivne
  • See kuulab ja on valmis klientide saadetud taotlustele vastama
  • kui päring tuleb, vastab klientidele nõutud andmetega
  • Lõppkasutajad ei suhtle tavaliselt otse serveriga, vaid kasutavad klienti.
Pilt
Pilt

Tavaline näide kliendi ja serveri suhetest on veebibrauser (klient), kes taotleb ja võtab vastu veebiserveris hostitud veebilehtede faile.

Samm: looge kohalik veebiserver

Raspberry Pi -st võib saada serverirakenduse installimisel ja käitamisel veebiserver. Kaks populaarset avatud lähtekoodiga serverirakendust on: NGINX (hääldatud mootor x) ja Apache. Selles õppetükis kasutate Apache'i, sest selle kirjutamise ajal on see rohkem dokumenteeritud. See muudab õppimise ajal veebist vastuste otsimise lihtsamaks.

Teie Raspberry Pi majutab veebisaiti, millele pääseb juurde iga sama võrgu seade. Alustame!

Samm: installige Apache

Installige apache2 pakett. Lipp -y vastab teie jaoks eelinstallitud turvaküsimusele.

sudo apt -get install apache2 -y

Apachega on kaasas test -HTML -fail, mis loob kohatäite veebilehe, millega installimist testida. See test -HTML -fail on Apache juurkataloogis. Vaikimisi on Apache seadistatud otsima sellest kataloogist veebidokumente, et veebibrauseris sisu luua. Selle testlehe vaatamiseks ja kinnitamiseks, et Apache installis tõepoolest, tõmmake see oma veebibrauseris üles, tippides selle URL -i aadressi:

localhost/

Kui Apache on õigesti installitud, näete brauseris Apache testi veebilehte:

Pilt
Pilt

Leidke oma Raspberry Pi IP -aadress

Raspberry Pi ajal veebilehele pääsemiseks saate kasutada localhost'i aadressi. Veebilehele pääsemiseks teisest arvutist vajate oma Raspberry Pi IP -aadressi. IP -aadressi tüübi leidmiseks LXTerminalis toimige järgmiselt.

ifconfig

Pilt
Pilt

Selle leiate ka töölaualt, kui hõljutate kursorit WiFi -vastuvõtu sümboli kohal.

Pilt
Pilt

Samm: tehke staatiline veebileht

Teie Raspberry Pi saab nüüd majutada veebilehte ja kogu sellel avaldatavat sisu. Veebilehti on kahte tüüpi: staatiline ja dünaamiline. Staatilisel lehel on sisu, mis ei muutu. Dünaamiline leht suudab kuvada muutuvaid andmeid, näiteks andurite näitu või muutuvat kellaaega ja kuupäeva.

Alustame staatilisest lehest. Selle loomiseks peate kasutama keelt nimega HTML. Veebilehele minnes on esimene nähtav leht index.html. See leht on vaikeleht, mida brauser kuvab, kui teist lehte pole määratud. Vaikimisi otsib Apache faili index.html siit:

/var/www/html

Seda nimetatakse dokumendi juuriks ja see on peidetud kaust. See on ette nähtud veebilehtede hoidmiseks. Minge sinna ja vaadake ringi:

cd/var/www/html

ls

Näete loendis vaikimisi test index.html faili. Kui soovite vaikefaili salvestada, nimetage see käsuga mv ümber selliseks nagu defaultIndex.html.

sudo mv index.html defaultIndex.html

kui te ei soovi seda salvestada, eemaldage fail käsuga rm:

sudo rm index.html

Nüüd saate luua ja redigeerida oma faili index.html.

sudo nano index.html

Ärge unustage kasutada sudot, kataloogid www ja html kuuluvad rootile, nii et peate tegutsema rootina, et luua, redigeerida ja manipuleerida nendes kataloogides elavaid faile.

Põhiline HTML -leht

HTML on keel, mis läheb sügavale. Sellega saate palju ära teha. Kui soovite rohkem teada saada, vaadake W3Schoolsi veebisaiti, kust leiate palju õpetusi selle kohta, kuidas veebisaidi loomiseks HTML -i kasutada. Alustame lihtsa HTML -lehega.

Esiteks öelge brauserile, millist HTML -i versiooni kasutate. See dokument kuulutatakse HTML5 -dokumendiks:

Alustage html -i ja keha siltidega:

Suurem osa teie sisust läheb edasi keha siltide vahele. Tehke esimesele reale pealkiri märgendiga h1. H -järgne number määrab kirja suurust mõjutava pealkirja tähtsuse. Kasutage lõigu määratlemiseks märgendit p:

Minu Raspberry Pi -l on veebisait

Mida ma peaksin siia panema?

Lõpetage leht, sulgedes keha ja html ning sildid:

Salvestage dokument järelliitega.html ja külastage brauseris localhost. Näete oma veebilehte!

Pilt
Pilt

Mida peaksite veebilehele panema? Paneme pildi üles või veel parem - animateMe.gif! Selle vara kuvamiseks sellel veebilehel tuleb see panna Apache dokumendi juure. Peaksite selle kopeerima ja kleepima, et see jääks ka teie boof/fotos kataloogi. Faili kopeerimiseks ja käsureale kleepimiseks kasutage käsku cp. Esiteks, CD oma kodukataloogi:

cd ~

Kopeerige ja kleepige fail animateMe.gif:

sudo cp boof/fotos/animateMe.gif/var/www/html

Minge tagasi html -kataloogi:

cd/var/www/html

Avage fail index.html uuesti, et saaksite pildi lisada:

sudo nano index.html

Kujutise määratlemiseks ja HTML -lehele manustamiseks kasutage märgendit img. Pane pealkirja ja lõigu vahele järgmine rida.

Avage leht brauseris ja see näeb välja selline, välja arvatud teie stiilse selfie-g.webp

Pilt
Pilt

Samm: lisage mõni stiil

Lehekülg näeb välja pisut õrn. Pole värvi ega stiili. Siin tuleb appi CSS. See on keel, mis töötab käsikäes HTML-iga, et muuta veebileht atraktiivsemaks ja visuaalselt loovamaks. Siin puudutate ainult seda, kuid kui soovite rohkem teada saada, lugege rohkem W3 -koolide kaudu.

Näiteks muudame tausta värvi, lisades oma HTML -failile CSS -i. CSS -i abil saate oma veebilehte kujundada mitmel viisil. Selle klassi puhul kasutate stiilimärgendeid CSS -i manustamiseks otse oma HTML -faili.

Pange HTML -lehe ülaossa esimese html- ja kehamärgendite vahele järgmised read:

body {background-color: powderblue;} sildid. See näeb välja selline:

Pilt
Pilt

keha {taustavärv: puudersinine;}

Pilt
Pilt

Samm: installige PHP

Staatilise lehe asemel saate luua dünaamilise lehe, mida on võimalik muuta, ilma et peaksite sellele käsitsi faile üles laadima. Populaarne viis seda teha on kasutada skriptikeelt PHP. PHP kasutamiseks Raspberry Pi -l peate selle kõigepealt installima Apache'i moodulipaketiga:

sudo apt-get install libapache2-mod-php5 php5 -y

Samm: tehke dünaamiline veebileht

Kombineerige PHP HTMLA -ga seni, kuni siltides on PHP -kood, saate selle lisada HTML -failistruktuuri. Näiteks ühendage oma praegused HTML- ja PHP -skriptid ning suurendage teksti HTML -siltide abil.

Lisame lihtsa PHP skripti, mis kuvab kuupäeva ja kellaaja. Kleebi siltide vahele ükskõik kuhu:

Salvestage fail klahvikombinatsiooniga Ctrl + o, kuid muutke laiend.html asemel.php, mis salvestab uue faili. Brauseri segadusse ajamiseks eemaldage vana.html -versioon:

sudo rm index.html

Värskendage oma veebibrauseris kohalikku hosti. Väljund näeb välja selline:

Pilt
Pilt

Ok, mis vahe on siis? Tundub, et tavaline HTML -leht, kas pole? Värskendage lehte ja vaadake võlu. Võlu on see, et aeg muutub! See on PHP ja selle sisseehitatud kuupäeva () funktsioon, mis aitavad teil luua dünaamilist veebilehte.

Samm: looge Tumblri API klient

Raspberry Pi saab taotleda ja saada teavet teistest tarkvararakendustest veebis API (rakenduste programmeerimisliidese) kaudu. Rakendusliides teeb näiteks Raspberry Pi -taolise veebisaidi andmete hõlpsaks lõikamiseks kõik kasulikud asjad. Laske oma Raspberry Pi -l rääkida Tumblri, Twitteri ja weather.com -iga, et säutsuda, pilte postitada ja ilmateateid kuvada.

Vaarika Pi ja Tumblr

Järgmine harjutus loob vestluse teie Raspberry Pi ja Tumblri vahel. Kliendina küsib teie Raspberry Pi Tumblrilt andmete katkendeid, et see saaks pilte üles laadida Tumblri kaugserverisse, mille tulemusel postitatakse pildid Tumblri kontole. Rakendusega Raspberry Pi töötamiseks on tõenäoliselt juba olemas raamatukogu, mida saate kasutada. Tumblri jaoks on olemas Pytumblr. Klient luuakse Pythoni programmis, kasutades Pytumblris loodud sisseehitatud funktsiooni. See funktsioon kasutab nelja Tumblri loodud autoriseerimiskoodi:

  • tarbija võti
  • tarbija saladus
  • sümboolne võti
  • sümboolne saladus

Enne Tumblri API kasutamist peate hankima neli sellist võtit (sarnaselt paroolidega). Nende saamiseks järgige neid samme:

  1. Looge tasuta Tumblri konto ja logige sisse.
  2. Registreerige rakendus. Peate esitama ainult põhiteabe, näiteks pealkirja (proovige "Minu vaarika pi"), kirjeldust, e -posti aadressi ja veebisaiti (kasutage seda, kui teil seda pole). Pärast registreerimist saate tarbijavõtme ja tarbijasaladuse. Kopeerige ja kleepige need turvalisse kohta, näiteks tekstifaili või e -posti. Nende uuesti avamiseks minge oma Tumblri konto lehele, valige menüüst Konto seaded ja klõpsake nuppu Rakendused.
  3. Logige oma võtme ja salajaste autoriseerimiskoodide abil arendajakonsooli sisse. Kui küsitakse, kas soovite, et see teie nimel postitataks, klõpsake nuppu Luba.
  4. Kui olete arendajakonsooli sisse loginud, näete näidiskoodi mitmes erinevas keeles. Klõpsake vahekaarti Python ja kopeerige OAuth -plokk või klõpsake ülemises menüüs nuppu Näita võtmeid, et näha märgi võtit ja sümboolseid salakoode koos kahe olemasoleva koodiga.

Paneme need koodid tööle ja teeme Pythoni programmi, mis postitab animateMe-g.webp

Esmalt installige Pytumblr:

sudo apt-get update

sudo pip install pytumblr

Sisestage oma kodukataloogist cd kausta ja looge Pythoni fail:

cd jama

Looge oma fail IDLE redaktori abil, et hõlbustada väga pikkade autoriseerimiskoodide lõikamist ja kleepimist. Pange see oma testPytumblr.py faili, värskendades nelja võtit ja oma kasutajanime:

impordi pytumblr

# Autentib OAuthi kaudu, kopeerige aadressilt https://api.tumblr.com/console/calls/user/info client = pytumblr. TumblrRestClient ('teie_tarbija_võti', 'teie_tarbija_saladus', 'teie_ostja', 'teie_tootja_saladus') klient.cre/ 'your_account_username', state = "avaldatud", tags = ["raspberrypi", "picamera"], data = "fotos/animateMe.gif") print ("üles laaditud")

Programm märgistab teie jaoks üleslaaditud foto "raspberrypi" ja "picamera". Soovi korral saate need sildid eemaldada, asendada või lisada. Need on salvestatud muutuja nimega tags, mida kasutatakse kliendis.create_photo ().

Programmi käivitamiseks vajutage F5. Tekib tõrge … kuid olete Pytumblri juba installinud, miks siis Python ütleb, et see ei leia moodulit? Seda seetõttu, et Pytumblr ei toeta Python 3, see töötab ainult Python 2*-is. Avage Python 2 IDLE redaktor, lõigake ja kleepige oma kood, kirjutage programm Python 3 üle ja käivitage see. Kui see on-g.webp

See on põnev osa! Minge oma Tumblri lehele ja vaadake-g.webp

Pilt
Pilt

*Pärast selle klassi avaldamist on teine githubi kasutaja originaali hargnenud, lisades teatud käskudele Python 3 toe.

Kui postitust ei kuvata, kontrollige veelkord, kas sisestasite õigesti oma neli võtit ja Tumblri kasutajanime ning kas teie Pi internetiühendus on aktiivne. Samuti saate oma skripti käsurealt käivitada, kasutades Python 2 (cd oma kausta, kui te pole veel seal):

python testPytumblr.py

Samm: tehke Tumblri ja/või veebisaidi ekraanipilt

Looge veebisait-g.webp

Soovitan: