Სარჩევი:

თქვენი Raspberry Pi ინტერნეტით დაკავშირება: 9 ნაბიჯი
თქვენი Raspberry Pi ინტერნეტით დაკავშირება: 9 ნაბიჯი

ვიდეო: თქვენი Raspberry Pi ინტერნეტით დაკავშირება: 9 ნაბიჯი

ვიდეო: თქვენი Raspberry Pi ინტერნეტით დაკავშირება: 9 ნაბიჯი
ვიდეო: ЛЮБОВЬ С ДОСТАВКОЙ НА ДОМ (2020). Романтическая комедия. Хит 2024, ივლისი
Anonim
თქვენი Raspberry Pi ინტერნეტით დაკავშირება
თქვენი Raspberry Pi ინტერნეტით დაკავშირება

ამ გაკვეთილზე თქვენ შეისწავლით თუ როგორ უნდა შექმნათ ვებ გვერდი, შეაგროვოთ მონაცემები მსოფლიო ქსელის გამოყენებით და გამოიყენოთ API– ები სურათების განთავსებისათვის Tumblr და Twitter– ში.

ნაბიჯი 1: კლიენტი და სერვერი

კომპიუტერში, კლიენტი-სერვერი არის პროგრამული მოდელი, რომელიც შედგება ორი ნაწილისგან: კლიენტი და სერვერი. ორივე კომუნიკაციას უწევს კომპიუტერულ ქსელს ან ერთად ერთ კომპიუტერზე. კლიენტი არის პროგრამა ან კომპიუტერი პროგრამული უზრუნველყოფით, რომელიც ემყარება სერვერზე მომსახურების მოთხოვნის გაკეთებას. სერვერი არის კომპიუტერული პროგრამა ან მოწყობილობა, რომელსაც შეუძლია მიიღოს ეს მოთხოვნები, დაამუშაოს ისინი და დაუბრუნოს მოთხოვნილი ინფორმაცია კლიენტს. ზოგჯერ ძნელია იმის გარკვევა, თუ რომელია მანქანებთან მუშაობისას, რომლებიც ერთდროულად ასრულებენ მრავალ დავალებას. აქ მოცემულია რამდენიმე მახასიათებელი, რომელიც დაგეხმარებათ განასხვავოთ კლიენტი და სერვერი ერთმანეთისგან.

კლიენტის მახასიათებლები:

  • ეს არის პირველი აქტიური
  • აგზავნის მოთხოვნებს სერვერზე
  • ის ელოდება და იღებს პასუხებს სერვერისგან
  • ჩვეულებრივ ურთიერთქმედებს პირდაპირ საბოლოო მომხმარებლებთან ნებისმიერი ინტერფეისის გამოყენებით, როგორიცაა გრაფიკული ინტერფეისი

სერვერის მახასიათებლები:

  • თავდაპირველად ის პასიურია
  • ის უსმენს, მზად არის უპასუხოს კლიენტების მიერ გაგზავნილ მოთხოვნებს
  • როდესაც მოთხოვნა მოდის, პასუხობს მოთხოვნილი მონაცემებით კლიენტებს
  • საბოლოო მომხმარებლები, როგორც წესი, არ ურთიერთობენ პირდაპირ სერვერთან, არამედ იყენებენ კლიენტს.
გამოსახულება
გამოსახულება

კლიენტისა და სერვერის ურთიერთობის საერთო მაგალითია ვებ ბრაუზერი (კლიენტი), რომელიც ითხოვს და იღებს ვებ სერვერზე განთავსებულ ვებ გვერდების ფაილებს.

ნაბიჯი 2: შექმენით ადგილობრივი ვებ სერვერი

Raspberry Pi შეიძლება გახდეს ვებ სერვერი სერვერის პროგრამის ინსტალაციით და გაშვებით. ორი პოპულარული ღია სერვერის პროგრამაა: NGINX (გამოხატული ძრავა x) და Apache. ამ გაკვეთილზე თქვენ გამოიყენებთ Apache- ს, რადგან, ამ სტატიის მიხედვით, ის უფრო მტკიცედ არის დოკუმენტირებული. ეს გაადვილებს პასუხების მოძიებას ინტერნეტით სწავლისას.

თქვენი Raspberry Pi მასპინძლობს ვებსაიტს, რომელზეც წვდომა შეუძლია იმავე ქსელის ნებისმიერ მოწყობილობას. Დავიწყოთ!

ნაბიჯი 3: დააინსტალირეთ Apache

დააინსტალირეთ apache2 პაკეტი. -Y დროშა პასუხობს თქვენთვის წინასწარ დაყენებულ უსაფრთხოების შეკითხვას.

sudo apt -get დააინსტალირეთ apache2 -y

Apache– ს გააჩნია საცდელი HTML ფაილი, რომელიც ქმნის ადგილსამყოფელის ვებ გვერდს ინსტალაციის შესამოწმებლად. ეს სატესტო HTML ფაილი შედის Apache- ის ძირითად დირექტორიაში. სტანდარტულად, Apache არის მითითებული, რომ ამ დირექტორიაში მოძებნოს ვებ დოკუმენტები ვებ ბრაუზერში შინაარსის შესაქმნელად. იმისათვის, რომ გადახედოთ ამ სატესტო გვერდს და დაადასტუროთ რომ Apache მართლაც სწორად არის დაინსტალირებული, გადმოწერეთ იგი თქვენს ბრაუზერში ამ URL მისამართის აკრეფით:

localhost/

თუ Apache სწორად არის დაინსტალირებული, ბრაუზერში ნახავთ Apache სატესტო ვებ გვერდს:

გამოსახულება
გამოსახულება

იპოვეთ თქვენი Raspberry Pi– ის IP მისამართი

Raspberry Pi– ზე ყოფნისას ვებ გვერდზე წვდომისათვის შეგიძლიათ გამოიყენოთ ლოკალური ჰოსტის მისამართი. სხვა კომპიუტერიდან ვებ გვერდზე შესასვლელად გჭირდებათ თქვენი Raspberry Pi– ის IP მისამართი. LXTerminal– ში IP მისამართის ტიპის მოსაძებნად:

ifconfig

გამოსახულება
გამოსახულება

თქვენ ასევე შეგიძლიათ იპოვოთ იგი დესკტოპზე, თუ კურსორს გადაატრიალებთ WiFi მიმღების სიმბოლოზე.

გამოსახულება
გამოსახულება

ნაბიჯი 4: შექმენით სტატიკური ვებ გვერდი

თქვენს Raspberry Pi– ს ახლა შეუძლია ვებ გვერდის მასპინძლობა და ყველა შინაარსი, რომელიც გამოქვეყნდება მასზე. არსებობს ორი ძირითადი სახის ვებ გვერდი: სტატიკური და დინამიური. სტატიკურ გვერდს აქვს შინაარსი, რომელიც არ იცვლება. დინამიურ გვერდს შეუძლია აჩვენოს ცვალებადი მონაცემები, როგორიცაა სენსორების კითხვა ან შეცვლის დრო და თარიღი.

დავიწყოთ სტატიკური გვერდით. ერთის შესაქმნელად თქვენ უნდა გამოიყენოთ ენა სახელწოდებით HTML. როდესაც ვებ გვერდზე მიდიხართ, პირველი რასაც ნახავთ ალბათ არის index.html გვერდი. ეს გვერდი არის ბრაუზერის ნაგულისხმევი გვერდი, თუ სხვა გვერდი არ არის მითითებული. სტანდარტულად, Apache ეძებს index.html ფაილს აქ:

/var/www/html

ამას ეწოდება დოკუმენტის ფესვი და ის არის ფარული საქაღალდე. იგი განკუთვნილია ვებ გვერდების შესანახად. წადი იქ და მიმოიხედე გარშემო:

cd/var/www/html

ლს

თქვენ ნახავთ ნაგულისხმევი ტესტის index.html ფაილს. თუ გსურთ შეინახოთ ნაგულისხმევი ფაილი, გადაარქვით მას სახელი defaultIndex.html mv ბრძანების გამოყენებით.

sudo mv index.html defaultIndex.html

თუ არ გსურთ მისი შენახვა, წაშალეთ ფაილი rm ბრძანების გამოყენებით:

sudo rm index.html

ახლა თქვენ შეგიძლიათ შექმნათ და დაიწყოთ თქვენი საკუთარი index.html ფაილის რედაქტირება:

sudo nano index.html

გახსოვდეთ sudo– ს გამოყენება, www და html დირექტორიები ეკუთვნის root– ს, ასე რომ თქვენ უნდა იმოქმედოთ როგორც root ამ დირექტორიებში მცხოვრები ნებისმიერი ფაილის შესაქმნელად, შესწორების და მანიპულირებისთვის.

ძირითადი HTML გვერდი

HTML არის ენა, რომელიც ღრმად მიდის. ბევრი რამის გაკეთება შეგიძლია მასთან. თუ თქვენ დაინტერესებული ხართ მეტი ინფორმაციის მისაღებად, გადახედეთ W3Schools ვებსაიტს, სადაც შეგიძლიათ იპოვოთ მრავალი გაკვეთილი, თუ როგორ გამოიყენოთ HTML ვებსაიტის შესაქმნელად. ჩვენ დავიწყებთ მარტივი HTML გვერდით.

პირველ რიგში, უთხარით ბრაუზერს HTML- ის რა ვერსიას იყენებთ. ეს დოკუმენტი გამოცხადებულია როგორც HTML5 დოკუმენტი:

დაიწყეთ html და body tags:

თქვენი შინაარსის უმეტესი ნაწილი მიდის შემდეგ, სხეულის ტეგებს შორის. გააკეთეთ პირველი სტრიქონი სათაურად h1 ტეგით. რიცხვი "თ" შემდეგ განსაზღვრავს სათაურის მნიშვნელობას, რომელიც გავლენას ახდენს შრიფტის ზომაზე. გამოიყენეთ p ტეგა აბზაცის განსაზღვრისათვის:

ჩემს Raspberry Pi– ს აქვს ვებ – გვერდი

რა უნდა დავდო აქ?

დაასრულეთ გვერდი სხეულის დახურვით და html და ტეგებით:

შეინახეთ დოკუმენტი.html სუფიქსით და ეწვიეთ localhost თქვენს ბრაუზერში. თქვენ ნახავთ თქვენს ვებ გვერდს!

გამოსახულება
გამოსახულება

რა უნდა განათავსოთ ვებ გვერდზე? მოდით დავდოთ სურათი, ან უკეთესი, animateMe.gif! იმისათვის, რომ ნებისმიერი აქტივი ნაჩვენები იყოს ამ ვებ გვერდზე, ის უნდა იყოს მოთავსებული Apache დოკუმენტის ძირში. თქვენ უნდა დააკოპიროთ და ჩასვათ, რომ ის დარჩეს თქვენს boof/fotos დირექტორიაშიც. ბრძანების ხაზში ფაილის დასაკოპირებლად და ჩასასმელად გამოიყენეთ cp ბრძანება. პირველი, cd თქვენი სახლის დირექტორიაში:

cd

დააკოპირეთ და ჩასვით animateMe-g.webp

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

დაბრუნდით html დირექტორიაში:

cd/var/www/html

ხელახლა გახსენით index.html ფაილი, ასე რომ თქვენ შეგიძლიათ დაამატოთ სურათი:

sudo nano index.html

სურათის განსაზღვრა და ჩასმა HTML გვერდზე გამოიყენეთ img ტეგი. მოათავსეთ შემდეგი ხაზი სათაურსა და აბზაცს შორის.

გახსენით გვერდი ბრაუზერში და ის ასე გამოიყურება, გარდა თქვენი საკუთარი თანამედროვე სელფის GIF.

გამოსახულება
გამოსახულება

ნაბიჯი 5: დაამატეთ სტილი

გვერდი ცოტა უხერხულად გამოიყურება. არც ფერი და არც სტილი. ეს არის ის, სადაც CSS შემოდის. ეს არის ენა, რომელიც მუშაობს HTML- თან ერთად, რათა ვებ გვერდი გახდეს უფრო მიმზიდველი და ვიზუალურად კრეატიული. თქვენ აქ მხოლოდ შეეხებით, მაგრამ თუ გსურთ მეტი გაიგოთ W3 სკოლებში, მეტი ისწავლეთ.

მაგალითად, მოდით შევცვალოთ ფონის ფერი CSS დამატებით თქვენს HTML ფაილში. არსებობს რამდენიმე გზა თქვენი ვებ გვერდის სტილის შესაქმნელად CSS გამოყენებით. ამ კლასისათვის თქვენ გამოიყენებთ სტილის ტეგებს, რათა CSS პირდაპირ თქვენს HTML ფაილში ჩასვათ.

მოათავსეთ შემდეგი სტრიქონები თქვენს HTML გვერდის ზედა ნაწილში პირველ html და სხეულის ტეგებს შორის:

ტეგები {ფონი-ფერი: ფხვნილი;} ტეგები. ასე გამოიყურება:

გამოსახულება
გამოსახულება

სხეული {ფონი-ფერი: ფხვნილი ლურჯი;}

გამოსახულება
გამოსახულება

ნაბიჯი 6: დააინსტალირეთ PHP

სტატიკური გვერდის ნაცვლად, შეგიძლიათ შექმნათ დინამიური, რომელსაც შეუძლია შეცვალოს ფაილების ხელით ატვირთვის გარეშე. ამის პოპულარული მეთოდია სკრიპტირების ენის გამოყენება, სახელწოდებით PHP. Raspberry Pi– ზე PHP გამოსაყენებლად თქვენ ჯერ უნდა დააინსტალიროთ ის Apache– ს მოდულის პაკეტით:

sudo apt-get დააინსტალირეთ libapache2-mod-php5 php5 -y

ნაბიჯი 7: შექმენით დინამიური ვებ გვერდი

შეუთავსეთ PHP HTMLA– ს სანამ PHP კოდი შეიცავს ტეგებს, შეგიძლიათ შეიტანოთ იგი HTML ფაილის სტრუქტურაში. მაგალითად, შეაერთეთ თქვენი მიმდინარე HTML და PHP სკრიპტები და გახადეთ ტექსტი უფრო დიდი HTML ტეგების გამოყენებით.

მოდით ჩავრთოთ მარტივი PHP სკრიპტი, რომელიც აჩვენებს თარიღსა და დროს. ჩასვით შემდეგი სადმე ტეგებს შორის:

შეინახეთ ფაილი Ctrl + o– ით, მაგრამ შეცვალეთ გაფართოება.html– დან.php– ში, რაც შეინახავს ახალ ფაილს. ბრაუზერის დაბნევის მიზნით, ამოიღეთ ძველი.html ვერსია:

sudo rm index.html

განაახლეთ localhost თქვენს ვებ ბრაუზერში. გამომავალი ასე გამოიყურება:

გამოსახულება
გამოსახულება

კარგი, რა განსხვავებაა? როგორც ჩანს, ჩვეულებრივი HTML გვერდია, არა? განაახლეთ გვერდი და უყურეთ მაგიას. ჯადოსნური დრო შეიცვლება! ეს არის PHP და მისი ჩაშენებული თარიღი () ფუნქცია, რომელიც მუშაობს დინამიური ვებ გვერდის შესაქმნელად.

ნაბიჯი 8: შექმენით Tumblr API კლიენტი

Raspberry Pi– ს შეუძლია მოითხოვოს და მიიღოს ინფორმაცია სხვა პროგრამული პროგრამებიდან ინტერნეტით API– ს საშუალებით (Application Programming Interface). API აადვილებს Raspberry Pi– ს მსგავსი რამ, რომ გაჭრა ვებგვერდის ყველა მონაცემი, რათა აითვისოს მხოლოდ სასარგებლო მასალა. ესაუბრეთ თქვენს Raspberry Pi– ს Tumblr– ს, Twitter– ს და weather.com– ს, რომ დაწეროს, განათავსოს სურათები და აჩვენოს ამინდის პროგნოზები.

ჟოლო Pi და Tumblr

შემდეგი სავარჯიშო ქმნის საუბარს თქვენს Raspberry Pi- სა და Tumblr- ს შორის. როგორც კლიენტი, თქვენი Raspberry Pi ითხოვს Tumblr– ს მონაცემთა ამონაწერებს, რათა მას შეეძლოს სურათების ატვირთვა Tumblr– ის დისტანციურ სერვერზე, რის შედეგადაც სურათები განთავსდება Tumblr ანგარიშზე. იმისთვის, რომ Raspberry Pi მუშაობდეს API– ით, სავარაუდოდ, უკვე იქნება ბიბლიოთეკა, რომლის გამოყენებას შეძლებთ. Tumblr– ისთვის არის Pytumblr. კლიენტი იქმნება პითონის პროგრამაში Pytumblr– ში შექმნილი ჩაშენებული ფუნქციის გამოყენებით. ეს ფუნქცია იყენებს ავტორიზაციის ოთხ კოდს, რომელიც გენერირდება Tumblr– ის მიერ:

  • სამომხმარებლო გასაღები
  • სამომხმარებლო საიდუმლო
  • ჟეტონის გასაღები
  • სიმბოლო საიდუმლო

სანამ გამოიყენებთ Tumblr– ის API– ს, თქვენ უნდა მიიღოთ ოთხი ეს გასაღები (პაროლების მსგავსი). მათი მისაღებად მიჰყევით ამ ნაბიჯებს:

  1. შექმენით უფასო Tumblr ანგარიში და შედით სისტემაში.
  2. განაცხადის რეგისტრაცია. თქვენ მხოლოდ უნდა მიაწოდოთ ძირითადი ინფორმაცია, როგორიცაა სათაური (სცადეთ "ჩემი ჟოლოს პი"), აღწერა, ელ.ფოსტა და ვებსაიტი (გამოიყენეთ ეს თუ არ გაქვთ). რეგისტრაციის შემდეგ თქვენ მიიღებთ სამომხმარებლო გასაღებს და სამომხმარებლო საიდუმლოებას. დააკოპირეთ და ჩასვით ისინი სადმე უსაფრთხოდ, როგორიცაა ტექსტური ფაილი ან ელ. მათზე წვდომისათვის გადადით თქვენი Tumblr ანგარიშის გვერდზე, აირჩიეთ პარამეტრები ანგარიშის მენიუში და დააწკაპუნეთ პროგრამებზე.
  3. შედით დეველოპერის კონსოლში თქვენი ძირითადი და საიდუმლო ავტორიზაციის კოდების გამოყენებით. დააწკაპუნეთ ნებართვაზე, როდესაც გკითხავთ, გსურთ თუ არა გამოქვეყნება თქვენი სახელით.
  4. დეველოპერის კონსოლში შესვლისთანავე ნახავთ კოდის მაგალითს რამდენიმე სხვადასხვა ენაზე. ან დააწკაპუნეთ პითონის ჩანართზე და დააკოპირეთ OAuth ბლოკი, ან ზედა მენიუში დააწკაპუნეთ კლავიშების ჩვენებაზე, რომ ნახოთ ნიშანი გასაღები და საიდუმლო საიდუმლო კოდები თქვენს მიერ უკვე არსებულ ორ კოდთან ერთად.

მოდით გამოვიყენოთ ეს კოდები და შევქმნათ პითონის პროგრამა, რომელიც აქვეყნებს animateMe-g.webp

პირველი დააინსტალირეთ Pytumblr:

sudo apt-get განახლება

sudo pip დააინსტალირეთ pytumblr

თქვენი სახლის დირექტორიადან, ჩაწერეთ cd boof საქაღალდეში და შექმენით პითონის ფაილი:

cd boof

შექმენით თქვენი ფაილი IDLE– ის რედაქტორის გამოყენებით, რათა გაგიადვილოთ ავტორიზაციის ძალიან გრძელი კოდების მოჭრა და ჩასმა. განათავსეთ ეს თქვენს testPytumblr.py ფაილში, განაახლეთ ოთხი გასაღები და თქვენი მომხმარებლის სახელი:

იმპორტი pytumblr

# ადასტურებს OAuth– ის საშუალებით, დააკოპირეთ https://api.tumblr.com/console/calls/user/info client = pytumblr. TumblrRestClient ('your_consumer_key', 'your_consumer_secret', 'your_token', 'your_token_secret') 'your_account_username', state = "გამოქვეყნებული", tags = ["raspberrypi", "picamera"], data = "fotos/animateMe.gif") print ("uploaded")

პროგრამა ატვირთავს თქვენთვის ატვირთულ ფოტოს "ჟოლოსფერი" და "პიქამერა". თუ გსურთ, შეგიძლიათ ამოიღოთ, შეცვალოთ ან დაამატოთ ეს ტეგები. ისინი ინახება ცვლადში, სახელწოდებით tags, რომელიც გამოიყენება client.create_photo () - ში.

დააჭირეთ F5 პროგრამის გასაშვებად. იქნება შეცდომა… მაგრამ თქვენ უკვე დაინსტალირებული გაქვთ Pytumblr, რატომ ამბობს პითონი, რომ ვერ პოულობს მოდულს? ეს იმიტომ ხდება, რომ Pytumblr არ უჭერს მხარს Python 3 -ს, ის მუშაობს მხოლოდ Python 2* - ში. გახსენით Python 2 IDLE რედაქტორი და გაჭერით და ჩასვით თქვენი კოდი, გადაწერეთ Python 3 პროგრამა და შემდეგ გაუშვით. როდესაც ატვირთულია GIF, "ატვირთული" იბეჭდება პითონის გარსის ფანჯარაში.

ეს არის ამაღელვებელი ნაწილი! გადადით თქვენს Tumblr გვერდზე და შეამოწმეთ GIF! შეცვალეთ "გამოქვეყნებული" თქვენს პროგრამაში "მონახაზად", თუ გსურთ შექმნათ პოსტების პროექტი.

გამოსახულება
გამოსახულება

*მას შემდეგ, რაც ეს კლასი გამოქვეყნდა, github– ის სხვა მომხმარებელმა გააუქმა ორიგინალი და დაამატა პითონ 3 – ის მხარდაჭერა გარკვეული ბრძანებებისათვის.

თუ პოსტი არ გამოჩნდება, ორმაგად შეამოწმეთ, რომ სწორად შეიყვანეთ თქვენი ოთხი გასაღები და Tumblr მომხმარებლის სახელი და რომ თქვენი Pi- ს ინტერნეტ კავშირი აქტიურია. თქვენ ასევე შეგიძლიათ გაუშვათ თქვენი სკრიპტი ბრძანების სტრიქონიდან Python 2 -ის გამოყენებით (cd თქვენს საქაღალდეში, თუ უკვე იქ არ ხართ):

პითონის ტესტიPytumblr.py

ნაბიჯი 9: გადაიღეთ Tumblr და/ან ვებსაიტის ეკრანის ანაბეჭდი

შექმენით ვებ გვერდი, რომ აჩვენოთ მას-g.webp

გირჩევთ: