Turinys:

„Raspberry Pi“prijungimas prie interneto: 9 žingsniai
„Raspberry Pi“prijungimas prie interneto: 9 žingsniai

Video: „Raspberry Pi“prijungimas prie interneto: 9 žingsniai

Video: „Raspberry Pi“prijungimas prie interneto: 9 žingsniai
Video: Lesson 68, Home Automation: How to control 16 Channel Relay module using Arduino control 16 AC loads 2024, Lapkritis
Anonim
„Raspberry Pi“prijungimas prie interneto
„Raspberry Pi“prijungimas prie interneto

Šioje pamokoje sužinosite, kaip sukurti tinklalapį, rinkti duomenis naudojant pasaulinį tinklą ir naudoti API skelbti vaizdus „Tumblr“ir „Twitter“.

1 veiksmas: klientas ir serveris

Kompiuterijoje klientas-serveris yra programinės įrangos modelis, susidedantis iš dviejų dalių: kliento ir serverio. Abu bendrauja kompiuterių tinkle arba kartu tame pačiame kompiuteryje. Klientas yra programa arba kompiuteris su programine įranga, kuri remiasi paslaugų užklausų teikimu serveriui. Serveris yra kompiuterinė programa arba įrenginys, galintis priimti šias užklausas, jas apdoroti ir grąžinti klientui prašomą informaciją. Kartais sunku išsiaiškinti, kas yra dirbant su mašinomis, atliekančiomis kelias užduotis vienu metu. Štai keletas savybių, padedančių atskirti klientą ir serverį.

Kliento savybės:

  • Tai pirmasis aktyvus
  • Siunčia užklausas serveriui
  • Jis tikisi ir gauna atsakymus iš serverio
  • Paprastai tiesiogiai sąveikauja su galutiniais vartotojais, naudodamas bet kurią vartotojo sąsają, pvz., Grafinę vartotojo sąsają

Serverio savybės:

  • Iš pradžių jis yra pasyvus
  • Jis klauso, yra pasirengęs reaguoti į klientų siunčiamus prašymus
  • kai ateina užklausa, atsako klientams su prašomais duomenimis
  • Galutiniai vartotojai paprastai tiesiogiai nesąveikauja su serveriu, bet naudoja klientą.
Vaizdas
Vaizdas

Dažnas kliento ir serverio santykių pavyzdys yra žiniatinklio naršyklė (klientas), kuri prašo ir gauna tinklalapio failus, priglobtus žiniatinklio serveryje.

2 veiksmas: sukurkite vietinį žiniatinklio serverį

„Raspberry Pi“gali tapti žiniatinklio serveriu, įdiegęs ir paleisdamas serverio programą. Dvi populiarios atvirojo kodo serverio programos yra: NGINX (tariamas variklis x) ir „Apache“. Šioje pamokoje naudosite „Apache“, nes nuo šio rašymo jis yra labiau dokumentuotas. Taip mokantis lengviau ieškoti atsakymų internete.

„Raspberry Pi“priglobs svetainę, kurią gali pasiekti bet kuris to paties tinklo įrenginys. Pradėkime!

3 veiksmas: įdiekite „Apache“

Įdiekite „apache2“paketą. Vėliava -y atsako į iš anksto įdiegtą saugos klausimą.

sudo apt -get install apache2 -y

„Apache“pridedamas bandomasis HTML failas, kuris sukuria vietos rezervuotojo tinklalapį, kad išbandytų diegimą. Šis bandomasis HTML failas yra „Apache“šakniniame kataloge. Pagal numatytuosius nustatymus „Apache“nustatyta, kad šiame kataloge ieškos žiniatinklio dokumentų, kad sukurtų turinį žiniatinklio naršyklėje. Jei norite pažvelgti į šį bandomąjį puslapį ir patvirtinti, kad „Apache“tikrai įdiegė, atsisiuntę jį savo žiniatinklio naršyklėje, įveskite šį URL adresą:

localhost/

Jei „Apache“įdiegta teisingai, naršyklėje pamatysite „Apache“bandomąjį tinklalapį:

Vaizdas
Vaizdas

Raskite savo Raspberry Pi IP adresą

Galite naudoti „localhost“adresą, kad pasiektumėte tinklalapį būdami „Raspberry Pi“. Norėdami pasiekti tinklalapį iš kito kompiuterio, jums reikia „Raspberry Pi“IP adreso. Norėdami rasti IP adreso tipą „LXTerminal“:

ifconfig

Vaizdas
Vaizdas

Jį taip pat galite rasti darbalaukyje, jei užveskite pelės žymeklį virš „WiFi“priėmimo simbolio.

Vaizdas
Vaizdas

4 žingsnis: sukurkite statinį tinklalapį

Dabar jūsų „Raspberry Pi“gali priglobti tinklalapį ir visą jame publikuojamą turinį. Yra du pagrindiniai tinklalapių tipai: statinis ir dinaminis. Statiniame puslapyje yra turinio, kuris nesikeičia. Dinaminiame puslapyje galima rodyti kintančius duomenis, pvz., Jutiklių rodmenis arba kintantį laiką ir datą.

Pradėkime nuo statiško puslapio. Norėdami jį sukurti, turite naudoti kalbą, vadinamą HTML. Kai einate į tinklalapį, pirmiausia matomas rodomas puslapis index.html. Šis puslapis yra numatytasis puslapis, kurį rodo naršyklė, jei nenurodytas kitas puslapis. Pagal numatytuosius nustatymus „Apache“failo index.html ieško čia:

/var/www/html

Tai vadinama dokumento šaknimi ir yra paslėptas aplankas. Jis skirtas tinklalapiams laikyti. Eik ten ir apsižvalgyk:

cd/var/www/html

ls

Pamatysite numatytąjį testo index.html failą. Jei norite išsaugoti numatytąjį failą, pervardykite jį į kažką panašaus į defaultIndex.html naudodami komandą mv.

sudo mv index.html defaultIndex.html

jei nenorite jo išsaugoti, pašalinkite failą naudodami komandą rm:

sudo rm index.html

Dabar galite sukurti ir pradėti redaguoti savo failą index.html:

sudo nano index.html

Nepamirškite naudoti „sudo“, „www“ir „html“katalogai priklauso „root“, todėl norėdami kurti, redaguoti ir manipuliuoti bet kokiais tuose kataloguose esančiais failais turite veikti kaip root.

Pagrindinis HTML puslapis

HTML yra gili kalba. Su juo galite daug nuveikti. Jei norite sužinoti daugiau, apsilankykite „W3Schools“svetainėje, kur galite rasti daug vadovėlių, kaip naudoti HTML kuriant svetainę. Pradėsime nuo paprasto HTML puslapio.

Pirmiausia pasakykite naršyklei, kokią HTML versiją naudojate. Šis dokumentas paskelbtas HTML5 dokumentu:

Pradėkite nuo html ir kūno žymų:

Didžioji jūsų turinio dalis yra toliau, tarp kūno žymų. Pirmoje eilutėje padarykite antraštę su žyma h1. Skaičius po „h“apibrėžia antraštės, turinčios įtakos šrifto dydžiui, svarbą. Norėdami apibrėžti pastraipą, naudokite p žymą:

Mano Raspberry Pi turi svetainę

Ką čia turėčiau dėti?

Užbaikite puslapį uždarydami turinį ir html bei žymas:

Išsaugokite dokumentą su priesaga.html ir naršyklėje apsilankykite „localhost“. Pamatysite savo tinklalapį!

Vaizdas
Vaizdas

Ką turėtumėte įdėti į tinklalapį? Padėkime vaizdą, o dar geriau - animateMe.gif! Kad bet koks turtas būtų rodomas šiame tinklalapyje, jis turi būti įtrauktas į „Apache“dokumento šaknį. Turėtumėte nukopijuoti ir įklijuoti, kad jis taip pat liktų jūsų „boof/fotos“kataloge. Norėdami nukopijuoti ir įklijuoti failą komandų eilutėje, naudokite komandą cp. Pirma, kompaktinį diską į savo namų katalogą:

cd ~

Nukopijuokite ir įklijuokite failą animateMe.gif:

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

Grįžkite į html katalogą:

cd/var/www/html

Atidarykite failą index.html, kad galėtumėte pridėti vaizdą:

sudo nano index.html

Norėdami apibrėžti ir įterpti vaizdą į HTML puslapį, naudokite žymą img. Įveskite šią eilutę tarp antraštės ir pastraipos.

Atidarykite puslapį naršyklėje ir jis atrodys taip, nebent su savo stilingu asmenukės GIF.

Vaizdas
Vaizdas

5 žingsnis: pridėkite stilių

Puslapis atrodo šiek tiek nuobodus. Nėra spalvų ir stiliaus. Čia yra CSS. Tai kalba, kuri kartu su HTML daro tinklalapį patrauklesnį ir vizualiai kūrybiškesnį. Čia paliesite tik tai, bet jei norite sužinoti daugiau, peržiūrėkite W3 mokyklas ir sužinokite daugiau.

Pavyzdžiui, pakeiskime fono spalvą, pridėdami CSS prie savo HTML failo. Yra keletas būdų, kaip sukurti tinklalapio stilių naudojant CSS. Šioje klasėje naudosite stiliaus žymas, kad įterptumėte CSS tiesiai į savo HTML failą.

Įterpkite šias eilutes tarp pirmojo HTML ir kūno žymių HTML puslapio viršuje:

body {background-color: powderblue;} žymės. Tai atrodys taip:

Vaizdas
Vaizdas

korpusas {fono spalva: pudros mėlyna;}

Vaizdas
Vaizdas

6 veiksmas: įdiekite PHP

Vietoj statiško puslapio galite sukurti dinaminį puslapį, kurį būtų galima pakeisti, rankiniu būdu neįkėlus į jį failų. Populiarus būdas tai padaryti yra naudoti scenarijų kalbą, vadinamą PHP. Norėdami naudoti PHP „Raspberry Pi“, pirmiausia turite ją įdiegti naudodami „Apache“modulio paketą:

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

7 veiksmas: sukurkite dinamišką tinklalapį

Sujunkite PHP su HTMLA, kol PHP kodas yra žymose, galite jį įtraukti į HTML failo struktūrą. Pavyzdžiui, sujunkite dabartinius HTML ir PHP scenarijus ir padidinkite tekstą naudodami HTML žymas.

Įtraukime paprastą PHP scenarijų, kuriame rodoma data ir laikas. Įklijuokite bet kurią vietą tarp žymų:

Išsaugokite failą naudodami „Ctrl“+ o, bet pakeiskite plėtinį iš.html į.php, kuris išsaugos naują failą. Kad nesupainiotumėte naršyklės, pašalinkite seną.html versiją:

sudo rm index.html

Atnaujinkite „localhost“žiniatinklio naršyklėje. Išvestis atrodys taip:

Vaizdas
Vaizdas

Gerai, tai koks skirtumas? Atrodo, kad įprastas HTML puslapis, ar ne? Atnaujinkite puslapį ir stebėkite magiją. Magiška, kad laikas pasikeis! Tai PHP ir jo integruota data () funkcija, padedanti sukurti dinamišką tinklalapį.

8 veiksmas: sukurkite „Tumblr“API klientą

„Raspberry Pi“gali prašyti ir gauti informacijos iš kitų programinės įrangos programų per API (programų programavimo sąsają). Naudojant API, kažkas panašaus į „Raspberry Pi“gali lengvai perpjauti visus svetainės duomenis, kad gautų tik naudingą informaciją. Leiskite „Raspberry Pi“pasikalbėti su „Tumblr“, „Twitter“ir weather.com, kad galėtumėte „Twitter“paskelbti, paskelbti vaizdus ir rodyti orų prognozes.

„Raspberry Pi“ir „Tumblr“

Šis pratimas sukuria pokalbį tarp jūsų „Raspberry Pi“ir „Tumblr“. Kaip klientas, jūsų „Raspberry Pi“paprašys „Tumblr“duomenų fragmentų, kad galėtų įkelti vaizdus į „Tumblr“nuotolinį serverį, todėl vaizdai bus paskelbti „Tumblr“paskyroje. Jei norite, kad „Raspberry Pi“veiktų su API, greičiausiai jau bus biblioteka, kurią galėsite naudoti. „Tumblr“yra „Pytumblr“. Klientas sukuriamas „Python“programoje, naudojant įmontuotą funkciją, sukurtą „Pytumblr“. Ši funkcija naudoja keturis „Tumblr“sugeneruotus autorizacijos kodus:

  • vartotojo raktas
  • vartotojų paslaptis
  • raktinis raktas
  • simbolinė paslaptis

Kad galėtumėte naudoti „Tumblr“API, turite gauti keturis šiuos raktus (panašius į slaptažodžius). Norėdami juos gauti, atlikite šiuos veiksmus:

  1. Sukurkite nemokamą „Tumblr“paskyrą ir prisijunkite.
  2. Užregistruokite programą. Jums tereikia pateikti pagrindinę informaciją, pvz., Pavadinimą (pabandykite „My Raspberry Pi“), aprašymą, el. Paštą ir svetainę (jei neturite, naudokite šią). Po registracijos gausite vartotojo raktą ir vartotojo paslaptį. Nukopijuokite ir įklijuokite juos saugioje vietoje, pvz., Teksto faile ar el. Norėdami vėl juos pasiekti, eikite į „Tumblr“paskyros puslapį, paskyros meniu pasirinkite Nustatymai ir spustelėkite Programos.
  3. Prisijunkite prie kūrėjo pulto naudodami raktą ir slaptus autorizacijos kodus. Spustelėkite leisti, kai jūsų paklaus, ar norite, kad jis būtų paskelbtas jūsų vardu.
  4. Prisijungę prie kūrėjo pulto pamatysite kodo pavyzdį keliomis skirtingomis kalbomis. Spustelėkite skirtuką „Python“ir nukopijuokite „OAuth“bloką arba viršutiniame meniu spustelėkite Rodyti raktus, kad pamatytumėte prieigos raktą ir slaptus prieigos raktų kodus kartu su dviem jau turimais kodais.

Pritaikykime šiuos kodus ir sukurkite „Python“programą, kuri skelbia animateMe-g.webp

Pirmiausia įdiekite „Pytumblr“:

sudo apt-get atnaujinimas

sudo pip įdiegti pytumblr

Iš namų katalogo įrašykite kompaktinį diską į aplanko aplanką ir sukurkite „Python“failą:

kompaktinis diskas

Sukurkite failą naudodami IDLE redaktorių, kad būtų lengviau iškirpti ir įklijuoti labai ilgus autorizacijos kodus. Įdėkite tai į testPytumblr.py failą, atnaujindami keturis raktus ir savo vartotojo vardą:

importuoti pytumblr

# Autentifikuojama naudojant „OAuth“, nukopijuojama iš 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 = "paskelbta", tags = ["raspberrypi", "picamera"], data = "fotos/animateMe.gif") print ("įkeltas")

Programa jums pažymi įkeltą nuotrauką „raspberrypi“ir „picamera“. Jei norite, galite pašalinti, pakeisti ar pridėti šias žymas. Jie saugomi kintamajame, vadinamame žymėmis, naudojamomis client.create_photo ().

Norėdami paleisti programą, paspauskite F5. Bus klaida … bet jūs jau įdiegėte „Pytumblr“, tad kodėl „Python“sako, kad negali rasti modulio? Taip yra todėl, kad „Pytumblr“nepalaiko „Python 3“, jis veikia tik „Python 2“*. Atidarykite „Python 2 IDLE“redaktorių, iškirpkite ir įklijuokite kodą, perrašykite „Python 3“programą ir paleiskite ją. Įkėlus GIF, „įkeltas“bus atspausdintas „Python“apvalkalo lange.

Tai jaudinanti dalis! Eikite į savo „Tumblr“puslapį ir peržiūrėkite GIF! Pakeiskite „paskelbtą“savo programoje į „juodraštį“, jei norite sukurti įrašų juodraščius.

Vaizdas
Vaizdas

*Paskelbus šią klasę, kitas „Github“vartotojas nukirto originalą ir pridėjo „Python 3“palaikymą tam tikroms komandoms.

Jei pranešimas nerodomas, dar kartą patikrinkite, ar teisingai įvedėte keturis raktus ir „Tumblr“vartotojo vardą, ir ar jūsų „Pi“interneto ryšys yra aktyvus. Taip pat galite paleisti scenarijų iš komandinės eilutės naudodami „Python 2“(CD į savo aplanko bufą, jei dar nesate):

python testPytumblr.py

9 veiksmas: padarykite „Tumblr“ir (arba) svetainės ekrano kopiją

Sukurkite svetainę, kurioje būtų rodomas GIF, arba sukurkite „Tumblr“paskyrą ir įkelkite GIF. Padarykite pasirinkto ekrano kopiją ir pasidalykite ja!

Rekomenduojamas: