Satura rādītājs:

Raspberry Pi pievienošana tīmeklim: 9 soļi
Raspberry Pi pievienošana tīmeklim: 9 soļi

Video: Raspberry Pi pievienošana tīmeklim: 9 soļi

Video: Raspberry Pi pievienošana tīmeklim: 9 soļi
Video: Сводные таблицы Excel с нуля до профи за полчаса + Дэшборды! | 1-ое Видео курса "Сводные Таблицы" 2024, Jūlijs
Anonim
Raspberry Pi savienošana ar tīmekli
Raspberry Pi savienošana ar tīmekli

Šajā nodarbībā jūs uzzināsit, kā izveidot tīmekļa lapu, apkopot datus, izmantojot globālo tīmekli, un izmantot API, lai ievietotu attēlus Tumblr un Twitter.

1. darbība: klients un serveris

Skaitļošanas jomā klients-serveris ir programmatūras modelis, kas sastāv no divām daļām: klienta un servera. Abi sazinās datortīklā vai kopā vienā datorā. Klients ir programma vai dators ar programmatūru, kas balstās uz pakalpojumu pieprasījumu iesniegšanu serverim. Serveris ir datorprogramma vai ierīce, kas var pieņemt šos pieprasījumus, tos apstrādāt un atgriezt pieprasīto informāciju klientam. Dažreiz, strādājot ar mašīnām, kas vienlaikus veic vairākus uzdevumus, ir grūti noskaidrot, kura ir tā. Šeit ir dažas īpašības, kas palīdzēs atšķirt klientu un serveri.

Klienta īpašības:

  • Tas ir pirmais aktīvais
  • Nosūta pieprasījumus serverim
  • Tā gaida un saņem atbildes no servera
  • Parasti mijiedarbojas tieši ar galalietotājiem, izmantojot jebkuru lietotāja saskarni, piemēram, grafisko lietotāja saskarni

Servera īpašības:

  • Sākumā tas ir pasīvs
  • Tā klausās un ir gatava atbildēt uz klientu nosūtītajiem pieprasījumiem
  • kad tiek saņemts pieprasījums, viņš atbild klientiem ar pieprasītajiem datiem
  • Galalietotāji parasti nesadarbojas tieši ar serveri, bet izmanto klientu.
Attēls
Attēls

Bieži sastopams klienta un servera attiecību piemērs ir tīmekļa pārlūkprogramma (klients), kas pieprasa un saņem tīmekļa lapas failus, kas tiek mitināti tīmekļa serverī.

2. darbība: izveidojiet vietējo tīmekļa serveri

Raspberry Pi var kļūt par tīmekļa serveri, instalējot un palaižot servera lietojumprogrammu. Divas populāras atvērtā pirmkoda servera lietojumprogrammas ir: NGINX (izrunā dzinējs x) un Apache. Šajā nodarbībā jūs izmantosit Apache, jo šī raksta laikā tas ir vairāk dokumentēts. Tas atvieglo atbildes meklēšanu tiešsaistē, mācoties.

Jūsu Raspberry Pi mitinās vietni, kurai var piekļūt jebkura tā paša tīkla ierīce. Sāksim!

3. darbība: instalējiet Apache

Instalējiet apache2 pakotni. Karodziņš -y atbild uz iepriekš instalētās drošības jautājumu.

sudo apt -get install apache2 -y

Apache nāk ar testa HTML failu, kas ģenerē viettura vietni, lai pārbaudītu instalāciju. Šis testa HTML fails ir Apache saknes direktorijā. Pēc noklusējuma Apache ir iestatīts meklēt šajā direktorijā tīmekļa dokumentus, lai izveidotu saturu tīmekļa pārlūkprogrammā. Lai apskatītu šo testa lapu un pārliecinātos, ka Apache patiešām instalēja pareizi, ielieciet to savā tīmekļa pārlūkprogrammā, ierakstot šo URL adresi:

localhost/

Ja Apache ir instalēta pareizi, pārlūkprogrammā redzēsit Apache testa tīmekļa lapu:

Attēls
Attēls

Atrodiet Raspberry Pi IP adresi

Jūs varat izmantot vietējā resursdatora adresi, lai piekļūtu tīmekļa lapai, atrodoties Raspberry Pi. Lai piekļūtu tīmekļa lapai no cita datora, jums ir nepieciešama jūsu Raspberry Pi IP adrese. Lai atrastu IP adreses tipu LXTerminal:

ifconfig

Attēls
Attēls

To var atrast arī darbvirsmā, novietojot kursoru virs WiFi uztveršanas simbola.

Attēls
Attēls

4. darbība: izveidojiet statisku tīmekļa lapu

Jūsu Raspberry Pi tagad var mitināt tīmekļa lapu un visu tajā publicēto saturu. Pastāv divu veidu tīmekļa lapas: statiskas un dinamiskas. Statiskā lapā ir saturs, kas nemainās. Dinamiskā lapa spēj parādīt mainīgus datus, piemēram, sensora rādījumus vai mainīgo laiku un datumu.

Sāksim ar statisku lapu. Lai to izveidotu, jums jāizmanto valoda ar nosaukumu HTML. Dodoties uz tīmekļa lapu, pirmā parādītā lieta, iespējams, ir lapa index.html. Šī lapa ir noklusējuma lapa, ko parāda pārlūkprogramma, ja nav norādīta cita lapa. Pēc noklusējuma Apache failu index.html meklē šeit:

/var/www/html

To sauc par dokumenta sakni, un tā ir slēpta mape. Tas ir paredzēts tīmekļa lapu turēšanai. Dodieties tur un paskatieties apkārt:

cd/var/www/html

ls

Jūs redzēsit noklusējuma testa index.html failu. Ja vēlaties saglabāt noklusējuma failu, pārdēvējiet to par kaut ko līdzīgu defaultIndex.html, izmantojot komandu mv.

sudo mv index.html defaultIndex.html

ja nevēlaties to saglabāt, noņemiet failu, izmantojot komandu rm:

sudo rm index.html

Tagad varat izveidot un sākt rediģēt savu index.html failu:

sudo nano index.html

Atcerieties izmantot sudo, jo www un html direktoriji pieder root, tāpēc jums ir jārīkojas kā root, lai izveidotu, rediģētu un manipulētu ar visiem failiem, kas atrodas šajos direktorijos.

Pamata HTML lapa

HTML ir valoda, kas iet dziļi. Ar to jūs varat daudz izdarīt. Ja jūs interesē uzzināt vairāk, apskatiet W3Schools vietni, kur varat atrast daudz pamācību par to, kā izmantot HTML, lai izveidotu vietni. Mēs sāksim ar vienkāršu HTML lapu.

Vispirms pastāstiet pārlūkam, kādu HTML versiju izmantojat. Šis dokuments ir deklarēts kā HTML5 dokuments:

Sāciet ar html un pamattekstiem:

Lielākā daļa jūsu satura atrodas tālāk starp pamattekstiem. Padariet pirmo rindu par virsrakstu ar tagu h1. Skaitlis aiz "h" nosaka virsraksta nozīmi, kas ietekmē fonta lielumu. Izmantojiet tagu p, lai definētu rindkopu:

Manam Raspberry Pi ir vietne

Ko man šeit likt?

Pabeidziet lapu, aizverot pamattekstu un html un tagus:

Saglabājiet dokumentu ar sufiksu.html un pārlūkprogrammā apmeklējiet vietni localhost. Jūs redzēsit savu tīmekļa lapu!

Attēls
Attēls

Ko vajadzētu ievietot tīmekļa lapā? Ieliksim attēlu vai, vēl labāk, animateMe.gif! Lai kāds īpašums tiktu parādīts šajā tīmekļa lapā, tas ir jāievieto Apache dokumenta saknē. Jums vajadzētu to nokopēt un ielīmēt, lai tas paliktu arī jūsu buf/fotos direktorijā. Lai kopētu un ielīmētu failu komandrindā, izmantojiet komandu cp. Pirmkārt, cd uz jūsu mājas direktoriju:

cd ~

Kopējiet un ielīmējiet failu animateMe.gif:

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

Atgriezieties html direktorijā:

cd/var/www/html

Atveriet failu index.html, lai varētu pievienot attēlu:

sudo nano index.html

Lai definētu un iegultu attēlu HTML lapā, izmantojiet tagu img. Starp virsrakstu un rindkopu ievietojiet šādu līniju.

Atveriet lapu pārlūkprogrammā, un tā izskatīsies šādi, izņemot ar savu stilīgo pašbildes GIF.

Attēls
Attēls

5. darbība: pievienojiet stilu

Lapa izskatās nedaudz maiga. Nav krāsas un nav stila. Šeit nāk CSS. Tā ir valoda, kas darbojas kopā ar HTML, lai padarītu tīmekļa lapu pievilcīgāku un vizuāli radošāku. Jūs pieskarsities tikai šeit, bet, ja vēlaties uzzināt vairāk, dodieties uz W3 skolām, lai uzzinātu vairāk.

Piemēram, mainīsim fona krāsu, pievienojot CSS savam HTML failam. Ir vairāki veidi, kā veidot tīmekļa lapas stilu, izmantojot CSS. Šajā klasē jūs izmantosit stila tagus, lai iegultu CSS tieši savā HTML failā.

Ievietojiet šādas rindiņas starp pirmo HTML lapu un pamattegu HTML lapas augšdaļā:

body {background-color: powderblue;} tagi. Tas izskatīsies šādi:

Attēls
Attēls

ķermenis {fona krāsa: pulverzils;}

Attēls
Attēls

6. darbība: instalējiet PHP

Statiskas lapas vietā varat izveidot dinamisku lapu, kuru var mainīt, manuāli augšupielādējot tajā failus. Populārs veids, kā to izdarīt, ir izmantot skriptu valodu, ko sauc par PHP. Lai Raspberry Pi izmantotu PHP, tas vispirms jāinstalē ar Apache moduļu pakotni:

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

7. darbība: izveidojiet dinamisku tīmekļa lapu

Apvienojiet PHP ar HTMLA, kamēr tagos ir PHP kods, varat to iekļaut HTML failu struktūrā. Piemēram, apvienojiet pašreizējos HTML un PHP skriptus un palieliniet tekstu, izmantojot HTML tagus.

Iekļausim vienkāršu PHP skriptu, kas parāda datumu un laiku. Jebkurā vietā starp tagiem ielīmējiet tālāk norādīto.

Saglabājiet failu ar Ctrl + o, bet mainiet paplašinājumu no.html uz.php, kas saglabās jaunu failu. Lai nesajauktu pārlūkprogrammu, noņemiet veco.html versiju:

sudo rm index.html

Atsvaidziniet localhost savā tīmekļa pārlūkprogrammā. Rezultāts izskatīsies šādi:

Attēls
Attēls

Labi, tad kāda ir atšķirība? Izskatās, ka parasta HTML lapa, vai ne? Atsvaidziniet lapu un skatieties burvību. Maģija ir tas, ka laiks mainīsies! Tas ir PHP un tā iebūvētā datuma () funkcija, lai jūs varētu izveidot dinamisku tīmekļa lapu.

8. darbība: izveidojiet Tumblr API klientu

Raspberry Pi var pieprasīt un iegūt informāciju no citām programmatūras lietojumprogrammām tiešsaistē, izmantojot API (lietojumprogrammu saskarni). Izmantojot API, kaut kas līdzīgs Raspberry Pi var viegli izgriezt visus vietnes datus, lai iegūtu tikai noderīgas lietas. Ļaujiet savam Raspberry Pi runāt ar Tumblr, Twitter un weather.com, lai tvīto, publicētu attēlus un parādītu laika prognozes.

Raspberry Pi un Tumblr

Šis vingrinājums rada sarunu starp jūsu Raspberry Pi un Tumblr. Kā klients jūsu Raspberry Pi lūgs Tumblr datu fragmentus, lai tas varētu augšupielādēt attēlus Tumblr attālajā serverī, kā rezultātā attēli tiks ievietoti Tumblr kontā. Lai Raspberry Pi strādātu ar API, visticamāk, jums jau būs pieejama bibliotēka. Tumblr ir Pytumblr. Klients tiek izveidots Python programmā, izmantojot iebūvēto funkciju, kas izveidota programmā Pytumblr. Šī funkcija izmanto četrus Tumblr ģenerētos autorizācijas kodus:

  • patērētāja atslēga
  • patērētāja noslēpums
  • žetona atslēga
  • simbolisks noslēpums

Lai varētu izmantot Tumblr API, jums ir jāsaņem četras šīs atslēgas (līdzīgi parolēm). Lai tos iegūtu, rīkojieties šādi:

  1. Izveidojiet bezmaksas Tumblr kontu un piesakieties.
  2. Reģistrējiet pieteikumu. Jums jāsniedz tikai pamatinformācija, piemēram, nosaukums (izmēģiniet "My Raspberry Pi"), apraksts, e -pasts un vietne (izmantojiet šo, ja jums tādas nav). Pēc reģistrācijas jūs saņemsiet patērētāja atslēgu un patērētāja noslēpumu. Kopējiet un ielīmējiet tos drošā vietā, piemēram, teksta failā vai e -pastā. Lai tiem atkal piekļūtu, dodieties uz savu Tumblr konta lapu, izvēlnē Konts izvēlieties Iestatījumi un noklikšķiniet uz Lietotnes.
  3. Piesakieties izstrādātāja konsolē, izmantojot savu atslēgu un slepenos autorizācijas kodus. Noklikšķiniet uz atļaut, kad tiek jautāts, vai vēlaties to publicēt jūsu vārdā.
  4. Kad esat pieteicies izstrādātāja konsolē, jūs redzēsit koda paraugu vairākās dažādās valodās. Noklikšķiniet uz cilnes Python un nokopējiet OAuth bloku vai augšējā izvēlnē noklikšķiniet uz Rādīt atslēgas, lai redzētu marķiera atslēgu un marķiera slepenos kodus kopā ar diviem jau esošajiem kodiem.

Liksim strādāt šiem kodiem un izveidosim Python programmu, kas publicēs animateMe-g.webp

Vispirms instalējiet Pytumblr:

sudo apt-get update

sudo pip instalēt pytumblr

No mājas direktorijas ierakstiet cof mapē un izveidojiet Python failu:

cd bofs

Izveidojiet failu, izmantojot IDLE redaktoru, lai būtu vieglāk izgriezt un ielīmēt ļoti garos autorizācijas kodus. Ievietojiet to savā testPytumblr.py failā, atjauninot četras atslēgas un savu lietotājvārdu:

importēt pytumblr

# Autentificējas, izmantojot OAuth, nokopējiet vietni https://api.tumblr.com/console/calls/user/info client = pytumblr. TumblrRestClient ('your_consumer_key', 'your_consumer_secret', 'your_token', 'your_token_secret') client.cre/ 'your_account_username', state = "publicēts", tags = [“raspberrypi”, “picamera”], data = “fotos/animateMe.gif”) print (“augšupielādēts”)

Programma atzīmē jums augšupielādēto fotoattēlu ar "raspberrypi" un "picamera". Ja vēlaties, varat noņemt, aizstāt vai pievienot šos tagus. Tie tiek saglabāti mainīgajā, ko sauc par tagiem, ko izmanto programmā client.create_photo ().

Lai palaistu programmu, nospiediet F5. Būs kļūda … bet jūs jau esat instalējis Pytumblr, tad kāpēc Python saka, ka nevar atrast moduli? Tas ir tāpēc, ka Pytumblr neatbalsta Python 3, tas darbojas tikai Python 2*. Atveriet Python 2 IDLE redaktoru un izgrieziet un ielīmējiet savu kodu, pārrakstiet Python 3 programmu un pēc tam palaidiet to. Kad tas būs augšupielādējis GIF, "augšupielādētais" tiks izdrukāts Python apvalka logā.

Šī ir aizraujošā daļa! Dodieties uz savu Tumblr lapu un pārbaudiet GIF! Nomainiet savā programmā publicēto uz melnrakstu, ja tā vietā vēlaties izveidot ziņu uzmetumus.

Attēls
Attēls

*Pēc šīs klases publicēšanas cits github lietotājs ir uzvilcis oriģinālu, pievienojot atbalstu Python 3 noteiktām komandām.

Ja ziņa neparādās, vēlreiz pārbaudiet, vai esat pareizi ievadījis četras atslēgas un Tumblr lietotājvārdu un vai jūsu Pi interneta savienojums ir aktīvs. Varat arī palaist skriptu no komandrindas, izmantojot Python 2 (cd uz mapes buf, ja vēl neesat tur):

python testsPytumblr.py

9. darbība: uzņemiet Tumblr un/vai vietnes ekrānuzņēmumu

Izveidojiet vietni, lai tajā parādītu GIF, vai izveidojiet Tumblr kontu un augšupielādējiet GIF. Uzņemiet izvēlētā ekrānuzņēmumu un kopīgojiet to!

Ieteicams: