Sisällysluettelo:

Raspberry Pi -laitteen yhdistäminen verkkoon: 9 vaihetta
Raspberry Pi -laitteen yhdistäminen verkkoon: 9 vaihetta

Video: Raspberry Pi -laitteen yhdistäminen verkkoon: 9 vaihetta

Video: Raspberry Pi -laitteen yhdistäminen verkkoon: 9 vaihetta
Video: Электрика в квартире своими руками. Финал. Переделка хрущевки от А до Я. #11 2024, Marraskuu
Anonim
Raspberry Pi -laitteen yhdistäminen verkkoon
Raspberry Pi -laitteen yhdistäminen verkkoon

Tässä oppitunnissa opit luomaan verkkosivun, keräämään tietoja maailmanlaajuisen verkon avulla ja käyttämään sovellusliittymiä kuvien lähettämiseen Tumblriin ja Twitteriin.

Vaihe 1: Asiakas ja palvelin

Laskennassa asiakas-palvelin on ohjelmistomalli, joka koostuu kahdesta osasta: asiakas ja palvelin. Molemmat kommunikoivat tietokoneverkon kautta tai yhdessä samassa tietokoneessa. Asiakas on ohjelma tai tietokone, jossa on ohjelmisto, joka perustuu palvelupyyntöjen lähettämiseen palvelimelle. Palvelin on tietokoneohjelma tai laite, joka voi hyväksyä nämä pyynnöt, käsitellä ne ja palauttaa pyydetyt tiedot asiakkaalle. Joskus on hankalaa selvittää mikä on, kun työskentelet koneiden kanssa, jotka suorittavat useita tehtäviä kerralla. Seuraavassa on joitain ominaisuuksia, joiden avulla voit erottaa asiakkaan ja palvelimen toisistaan.

Asiakkaan ominaisuudet:

  • Se on ensimmäinen aktiivinen
  • Lähettää pyynnöt palvelimelle
  • Se odottaa ja vastaanottaa vastauksia palvelimelta
  • Yleensä vuorovaikuttaa suoraan loppukäyttäjien kanssa käyttämällä mitä tahansa käyttöliittymää, kuten graafista käyttöliittymää

Palvelimen ominaisuudet:

  • Se on aluksi passiivista
  • Se kuuntelee ja on valmis vastaamaan asiakkaiden lähettämiin pyyntöihin
  • kun pyyntö tulee, vastaa asiakkaille pyydetyt tiedot
  • Loppukäyttäjät eivät yleensä ole suoraan vuorovaikutuksessa palvelimen kanssa, vaan käyttävät asiakasta.
Kuva
Kuva

Yleinen esimerkki asiakas- ja palvelinsuhteesta on verkkoselain (asiakas), joka pyytää ja vastaanottaa verkkopalvelimella ylläpidettyjä verkkosivutiedostoja.

Vaihe 2: Luo paikallinen verkkopalvelin

Raspberry Pi voi tulla verkkopalvelimeksi asentamalla ja suorittamalla palvelinsovelluksen. Kaksi suosittua avoimen lähdekoodin palvelinsovellusta ovat: NGINX (lausutaan moottori x) ja Apache. Tässä oppitunnissa käytät Apachea, koska tästä kirjoituksesta lähtien se on dokumentoitu voimakkaammin. Tämä helpottaa vastausten etsimistä verkossa oppimisen aikana.

Raspberry Pi isännöi verkkosivustoa, jota kaikki saman verkon laitteet voivat käyttää. Aloitetaan!

Vaihe 3: Asenna Apache

Asenna apache2 -paketti. -Y -lippu vastaa esiasennuksen turvakysymykseen puolestasi.

sudo apt -get install apache2 -y

Apachen mukana tulee HTML -testitiedosto, joka luo paikkamerkkisivun asennuksen testaamiseksi. Tämä testi -HTML -tiedosto tulee Apachen juurihakemistoon. Oletuksena Apache on asetettu etsimään tästä hakemistosta web -asiakirjoja sisällön luomiseksi verkkoselaimessa. Jos haluat katsoa tätä testisivua ja vahvistaa, että Apache on todella asentanut oikein, vedä se ylös selaimessasi kirjoittamalla tämä URL -osoite:

localhost/

Jos Apache on asennettu oikein, näet Apache -testisivun selaimessa:

Kuva
Kuva

Löydä Raspberry Pi: n IP -osoite

Voit käyttää localhost -osoitetta päästäksesi Web -sivulle Raspberry Pi: n ollessa. Päästäksesi Web -sivulle toiselta tietokoneelta tarvitset Raspberry Pi: n IP -osoitteen. IP -osoitetyypin löytäminen LXTerminalista:

ifconfig

Kuva
Kuva

Löydät sen myös työpöydältä, jos viet kohdistimen WiFi -vastaanottosymbolin päälle.

Kuva
Kuva

Vaihe 4: Luo staattinen verkkosivu

Raspberry Pi voi nyt isännöidä verkkosivun ja kaiken siihen julkaistavan sisällön. Verkkosivuja on kahdenlaisia: staattinen ja dynaaminen. Staattisella sivulla on sisältöä, joka ei muutu. Dynaaminen sivu pystyy näyttämään muuttuvia tietoja, kuten anturin lukemat tai muuttuvan kellonajan ja päivämäärän.

Aloitetaan staattisella sivulla. Jos haluat luoda sellaisen, sinun on käytettävä HTML -kieltä. Kun siirryt verkkosivulle, ensimmäinen näytettävä asia on todennäköisesti index.html -sivu. Tämä sivu on oletussivu, jonka selain näyttää, jos toista sivua ei ole määritetty. Oletuksena Apache etsii index.html -tiedostoa täältä:

/var/www/html

Tätä kutsutaan asiakirjan juuriksi, ja se on piilotettu kansio. Se on tarkoitettu verkkosivujen pitämiseen. Mene sinne ja katso ympärillesi:

cd/var/www/html

ls

Näet oletustesti index.html -tiedoston luettelossa. Jos haluat tallentaa oletustiedoston, nimeä se uudelleen muotoon defaultIndex.html käyttämällä mv -komentoa.

sudo mv index.html defaultIndex.html

jos et halua tallentaa sitä, poista tiedosto rm -komennolla:

sudo rm index.html

Nyt voit luoda ja muokata omaa index.html -tiedostoasi:

sudo nano index.html

Muista käyttää sudoa, www- ja html -hakemistot ovat rootin omistuksessa, joten sinun on toimittava pääkäyttäjänä luodaksesi, muokataksesi ja muokataksesi kyseisissä hakemistoissa olevia tiedostoja.

HTML -perussivu

HTML on kieli, joka menee syvälle. Voit tehdä sillä paljon. Jos haluat lisätietoja, tutustu W3Schoolsin verkkosivustoon, josta löydät monia opetusohjelmia verkkosivuston rakentamiseen HTML -koodin avulla. Aloitamme yksinkertaisella HTML -sivulla.

Kerro ensin selaimelle, mitä HTML -versiota käytät. Tämä asiakirja on ilmoitettu HTML5 -asiakirjaksi:

Aloita html- ja body -tunnisteilla:

Suurin osa sisällöstäsi siirtyy seuraavaksi body -tunnisteiden väliin. Tee ensimmäisestä rivistä otsikko h1 -tunnisteella. "H": n jälkeinen numero määrittää otsikon tärkeyden, joka vaikuttaa kirjasimen kokoon. Määritä kappale p -tunnisteella:

Raspberry Pi: llä on verkkosivusto

Mitä minun pitäisi laittaa tänne?

Viimeistele sivu sulkemalla runko ja html ja tunnisteet:

Tallenna asiakirja päätteellä.html ja käy selaimessasi osoitteessa localhost. Näet verkkosivusi!

Kuva
Kuva

Mitä kannattaa laittaa verkkosivulle? Laitetaan kuva ylös, tai vielä parempi, animateMe.gif! Jotta sisältö voidaan näyttää tällä verkkosivulla, se on sijoitettava Apachen asiakirjan juuriin. Kopioi ja liitä se niin, että se pysyy myös boof/fotos -hakemistossasi. Voit kopioida ja liittää tiedoston komentoriville käyttämällä cp-komentoa. Ensinnäkin, cd kotihakemistoosi:

cd ~

Kopioi ja liitä animateMe-g.webp

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

Palaa html -hakemistoon:

cd/var/www/html

Avaa index.html -tiedosto uudelleen, jotta voit lisätä kuvan:

sudo nano index.html

Voit määrittää ja upottaa kuvan HTML -sivulle käyttämällä img -tagia. Laita seuraava rivi otsikon ja kappaleen väliin.

Avaa sivu selaimessa ja se näyttää tältä, paitsi omalla tyylikkäällä selfie -GIF: lläsi.

Kuva
Kuva

Vaihe 5: Lisää tyyliä

Sivu näyttää hieman tylsältä. Ei väriä eikä tyyliä. Tässä CSS tulee. Se on kieli, joka toimii käsi kädessä HTML: n kanssa ja tekee verkkosivusta houkuttelevamman ja visuaalisesti luovan. Kosketat vain tätä, mutta jos haluat oppia lisää, opi lisää W3 -kouluista.

Muutetaan esimerkiksi taustan väri lisäämällä CSS HTML -tiedostoosi. Voit muotoilla verkkosivusi CSS: llä useilla tavoilla. Tässä luokassa käytät tyylitunnisteita CSS: n upottamiseen suoraan HTML -tiedostoosi.

Kirjoita seuraavat rivit HTML -sivusi yläreunan ensimmäisen html- ja body -tunnisteen väliin:

body {background-color: powderblue;} -tunnisteet. Se näyttää tältä:

Kuva
Kuva

runko {taustaväri: jauhesininen;}

Kuva
Kuva

Vaihe 6: Asenna PHP

Staattisen sivun sijasta voit luoda dynaamisen sivun, joka voi muuttua ilman, että lataat tiedostoja siihen manuaalisesti. Suosittu tapa tehdä tämä on käyttää PHP -skriptikieltä. Jos haluat käyttää PHP: tä Raspberry Pi -laitteessa, sinun on asennettava se ensin Apache -moduulipaketilla:

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

Vaihe 7: Luo dynaaminen verkkosivu

Yhdistä PHP ja HTMLA niin kauan kuin PHP -koodi on tunnisteissa, voit sisällyttää sen HTML -tiedostorakenteeseen. Yhdistä esimerkiksi nykyiset HTML- ja PHP -komentosarjasi ja suurenna tekstiä käyttämällä HTML -tunnisteita.

Otetaan mukaan yksinkertainen PHP -skripti, joka näyttää päivämäärän ja kellonajan. Liitä seuraavat kohdat mihin tahansa tunnisteiden väliin:

Tallenna tiedosto näppäinyhdistelmällä Ctrl + o, mutta vaihda laajennus.html tiedostosta.php, jolloin uusi tiedosto tallennetaan. Jotta selain ei hämmenny, poista vanha.html -versio:

sudo rm index.html

Päivitä localhost verkkoselaimellasi. Tulos näyttää tältä:

Kuva
Kuva

Ok, mikä on ero? Näyttää siltä, että tavallinen HTML -sivu ei ole? Päivitä sivu ja katso taikuutta. Taika on, että aika muuttuu! Se on PHP ja sen sisäänrakennettu päivämäärä () -toiminto, joiden avulla voit luoda dynaamisen verkkosivun.

Vaihe 8: Luo Tumblr -sovellusliittymäasiakas

Raspberry Pi voi pyytää ja saada tietoja muista ohjelmistosovelluksista verkossa sovellusliittymän (Application Programming Interface) kautta. Sovellusliittymän avulla Raspberry Pi: n kaltaisten asioiden on helppo leikata kaikki verkkosivuston tiedot ja napata vain hyödyllisiä asioita. Pyydä Raspberry Pi: tä puhumaan Tumblrille, Twitterille ja weather.comille twiittaamaan, julkaisemaan kuvia ja näyttämään sääennusteita.

Raspberry Pi ja Tumblr

Seuraava harjoitus luo keskustelun Raspberry Pi: n ja Tumblrin välillä. Raspberry Pi pyytää asiakkaana Tumblrilta tietokatkelmia, jotta se voi ladata kuvia Tumblrin etäpalvelimelle, jolloin kuvat lähetetään Tumblr -tilille. Jotta Raspberry Pi toimisi sovellusliittymän kanssa, siellä on todennäköisesti jo kirjasto, jota voit käyttää. Tumblrille on Pytumblr. Asiakas luodaan Python-ohjelmassa käyttämällä sisäänrakennettua toimintoa, joka on luotu Pytumblrissa. Tämä toiminto käyttää neljää Tumblrin luomaa valtuutuskoodia:

  • kuluttaja -avain
  • kuluttajan salaisuus
  • tunnuksen avain
  • symbolinen salaisuus

Ennen kuin voit käyttää Tumblrin sovellusliittymää, sinun on hankittava neljä näistä avaimista (samanlainen kuin salasanat). Voit saada ne seuraavasti:

  1. Luo ilmainen Tumblr -tili ja kirjaudu sisään.
  2. Rekisteröi sovellus. Sinun tarvitsee vain antaa perustiedot, kuten otsikko (kokeile "My Raspberry Pi"), kuvaus, sähköposti ja verkkosivusto (käytä tätä, jos sinulla ei ole sellaista). Rekisteröinnin jälkeen saat kuluttaja -avaimen ja kuluttajasalaisuuden. Kopioi ja liitä ne turvalliseen paikkaan, kuten tekstitiedostoon tai sähköpostiin. Voit käyttää niitä uudelleen siirtymällä Tumblr -tilisivullesi, valitsemalla Tili -valikosta Asetukset ja napsauttamalla Sovellukset.
  3. Kirjaudu sisään kehittäjäkonsoliin käyttämällä avainta ja salaisia valtuutuskoodeja. Napsauta Salli, kun sinulta kysytään, haluatko sen lähettävän puolestasi.
  4. Kun olet kirjautunut sisään kehittäjäkonsoliin, näet esimerkkikoodin useilla eri kielillä. Napsauta joko Python -välilehteä ja kopioi OAuth -lohko tai valitse ylävalikosta Näytä avaimet, jos haluat nähdä tunnisteavaimen ja salaiset tunnuksen koodit sekä kaksi jo olemassa olevaa koodiasi.

Laitetaanko nämä koodit toimimaan ja tehdään Python -ohjelma, joka lähettää animateMe-g.webp

Asenna ensin Pytumblr:

sudo apt-get päivitys

sudo pip asenna pytumblr

Kotihakemistosta, cd boof -kansioon ja luo Python -tiedosto:

cd -paska

Luo tiedosto IDLE -editorilla, jotta pitkien valtuutuskoodien leikkaaminen ja liittäminen on helpompaa. Laita tämä testPytumblr.py -tiedostoosi päivittämällä neljä avainta ja käyttäjätunnuksesi:

tuo pytumblr

# Todentaa OAuthin kautta, kopioi osoitteesta https://api.tumblr.com/console/calls/user/info client = pytumblr. TumblrRestClient ('oma_kuluttaja -avaimesi', 'oma_tietokoneen_salainen', 'oma_sijoittaja', 'oma_sivustosi_salainen'). 'oma_tilisi_käyttäjätunnus', tila = "julkaistu", tunnisteet = ["raspberrypi", "picamera"], data = "fotos/animateMe.gif") print ("ladattu")

Ohjelma merkitsee ladatun valokuvan sinulle "raspberrypi" ja "picamera". Halutessasi voit poistaa, korvata tai lisätä nämä tunnisteet. Nämä tallennetaan muuttujaan nimeltä tagit, joita käytetään client.create_photo ().

Suorita ohjelma painamalla F5. Tulee virhe … mutta olet jo asentanut Pytumblrin, joten miksi Python sanoo, ettei se löydä moduulia? Tämä johtuu siitä, että Pytumblr ei tue Python 3: ta, se toimii vain Python 2: ssa*. Avaa Python 2 IDLE -editori ja leikkaa ja liitä koodi, korvaa Python 3 -ohjelma ja suorita se. Kun se on ladannut-g.webp

Tämä on jännittävä osa! Mene Tumblr -sivullesi ja katso GIF! Vaihda ohjelmasi "julkaistu" "luonnokseksi", jos haluat luoda sen sijaan luonnoksia.

Kuva
Kuva

*Tämän luokan julkaisemisen jälkeen toinen github -käyttäjä on haarukannut alkuperäisen ja lisännyt Python 3 -tuen tietyille komennoille.

Jos viesti ei tule näkyviin, tarkista, että kirjoitit oikein neljä avaintasi ja Tumblr -käyttäjänimesi ja että Pi: n internetyhteys on aktiivinen. Voit myös suorittaa komentosarjasi komentoriviltä Python 2: n avulla (cd kansioosi, jos et ole jo siellä):

python -testiPytumblr.py

Vaihe 9: Ota kuvakaappaus Tumblrista ja/tai verkkosivustosta

Luo verkkosivusto näyttääksesi sille-g.webp

Suositeltava: