Mündəricat:

Raspberry Pi -ni İnternetə bağlamaq: 9 addım
Raspberry Pi -ni İnternetə bağlamaq: 9 addım

Video: Raspberry Pi -ni İnternetə bağlamaq: 9 addım

Video: Raspberry Pi -ni İnternetə bağlamaq: 9 addım
Video: Умный дом - как это работает? Сети передачи данных и взаимодействие устройств 2024, Noyabr
Anonim
Raspberry Pi -ni İnternetə bağlamaq
Raspberry Pi -ni İnternetə bağlamaq

Bu dərsdə bir web səhifəsi yaratmağı, dünya şəbəkəsini istifadə edərək məlumat toplamağı və Tumblr və Twitter -də şəkillər yerləşdirmək üçün API -lərdən istifadə etməyi öyrənəcəksiniz.

Addım 1: Müştəri və Server

Hesablamada müştəri-server iki hissədən ibarət olan bir proqram modelidir: müştəri və server. Hər ikisi bir kompüter şəbəkəsi və ya eyni kompüterdə birlikdə ünsiyyət qurur. Müştəri, bir serverə xidmət istəkləri verməyə əsaslanan bir proqram və ya kompüterdir. Server, bu istəkləri qəbul edə bilən, onları emal edən və tələb olunan məlumatları müştəriyə qaytara bilən bir kompüter proqramı və ya cihazdır. Bəzən eyni anda birdən çox işi yerinə yetirən maşınlarla işləyərkən hansının olduğunu anlamaq çətin olur. Bir müştəri və bir serveri ayırd etməyinizə kömək edəcək bəzi xüsusiyyətlər.

Müştəri xüsusiyyətləri:

  • İlk aktivdir
  • Serverə sorğu göndərir
  • Serverdən cavab gözləyir və alır
  • Adətən qrafik istifadəçi interfeysi kimi hər hansı bir istifadəçi interfeysi istifadə edərək son istifadəçilərlə birbaşa əlaqə qurur

Server xüsusiyyətləri:

  • Əvvəlcə passivdir
  • Müştərilər tərəfindən göndərilən istəklərə cavab verməyə hazırdır
  • sorğu gələndə müştərilərə tələb olunan məlumatlarla cavab verir
  • Son istifadəçilər ümumiyyətlə bir serverlə birbaşa əlaqə qurmur, ancaq bir müştəri istifadə edirlər.
Şəkil
Şəkil

Müştəri və server əlaqəsinin ümumi bir nümunəsi, bir veb serverdə yerləşdirilən veb səhifəsi sənədlərini tələb edən və alan bir veb brauzeridir (müştəri).

Addım 2: Yerli Veb Server yaradın

Raspberry Pi bir server tətbiqini quraraq işlədərək veb serverə çevrilə bilər. İki məşhur açıq mənbə server tətbiqi bunlardır: NGINX (tələffüz olunan motor x) və Apache. Bu dərsdə Apache -dən istifadə edəcəksiniz, çünki bu yazı etibarilə daha çox sənədləşdirilmişdir. Bu, öyrəndikcə onlayn cavab axtarmağı asanlaşdırır.

Raspberry Pi, eyni şəbəkədəki hər hansı bir cihazın daxil ola biləcəyi bir veb sayta sahib olacaq. Gəlin başlayaq!

Addım 3: Apache qurun

Apache2 paketini quraşdırın. -Y bayrağı sizin üçün quraşdırma əvvəli təhlükəsizlik sualına cavab verir.

sudo apt -get apache2 -y quraşdırın

Apache, quraşdırmanı sınamaq üçün bir yer tutucu veb səhifəsi yaradan bir test HTML faylı ilə gəlir. Bu test HTML faylı Apache -in kök qovluğunda gəlir. Varsayılan olaraq, Apache, veb brauzerində məzmun yaratmaq üçün veb sənədləri üçün bu qovluğa baxmaq üçün qurulmuşdur. Bu test səhifəsinə baxmaq və Apache -nin həqiqətən düzgün qurulduğunu təsdiqləmək üçün bu URL ünvanını yazaraq veb brauzerinizdən yuxarı çəkin:

localhost/

Apache düzgün quraşdırılıbsa, brauzerdə Apache test veb səhifəsini görəcəksiniz:

Şəkil
Şəkil

Raspberry Pi -nin IP ünvanını tapın

Raspberry Pi -də olarkən web səhifəsinə daxil olmaq üçün localhost ünvanından istifadə edə bilərsiniz. Veb səhifəsinə başqa bir kompüterdən daxil olmaq üçün Raspberry Pi -nin IP ünvanına ehtiyacınız var. LXTerminal -da IP ünvanı növünü tapmaq üçün:

ifconfig

Şəkil
Şəkil

Kursoru WiFi qəbul simvolu üzərinə apararsanız, onu masaüstündə də tapa bilərsiniz.

Şəkil
Şəkil

Addım 4: Statik Veb Səhifəsi yaradın

Sizin Raspberry Pi indi bir web səhifəsinə və orada nəşr olunacaq bütün məzmuna sahib ola bilər. Veb səhifələrin iki əsas növü var: statik və dinamik. Statik bir səhifədə dəyişməyən məzmun var. Dinamik bir səhifə, sensor oxunuşları və ya dəyişən vaxt və tarix kimi dəyişən məlumatları göstərə bilir.

Statik bir səhifədən başlayaq. Birini yaratmaq üçün HTML adlanan bir dildən istifadə etməlisiniz. Bir veb səhifəsinə girdiyiniz zaman göründüyü ilk şey index.html səhifəsidir. Bu səhifə, başqa bir səhifə göstərilmədikdə brauzerin göstərdiyi standart səhifədir. Varsayılan olaraq, Apache burada index.html faylını axtarır:

/var/www/html

Buna sənəd kökü deyilir və gizli bir qovluqdur. Veb səhifələrin saxlanması üçün nəzərdə tutulmuşdur. Oraya gedin və ətrafa baxın:

cd/var/www/html

ls

Siyahıda standart test index.html faylını görəcəksiniz. Varsayılan faylı saxlamaq istəyirsinizsə, mv əmrindən istifadə edərək onu defaultIndex.html kimi adlandırın.

sudo mv index.html defaultIndex.html

saxlamaq istəmirsinizsə, rm əmrindən istifadə edərək faylı silin:

sudo rm index.html

İndi öz index.html faylınızı yarada və redaktə etməyə başlaya bilərsiniz:

sudo nano index.html

Sudo istifadə etməyi unutmayın, www və html qovluqları kök sahibidir, buna görə də bu qovluqlarda yaşayan hər hansı bir faylı yaratmaq, redaktə etmək və idarə etmək üçün kök rolunu oynamalısınız.

Əsas HTML səhifəsi

HTML dərinlərə gedən bir dildir. Bununla çox şey edə bilərsiniz. Daha çox öyrənmək istəyirsinizsə, W3Schools veb saytına baxın, burada veb sayt qurmaq üçün HTML -dən necə istifadə olunacağına dair bir çox dərslər tapa bilərsiniz. Sadə bir HTML səhifəsi ilə başlayacağıq.

Əvvəlcə brauzerə hansı HTML versiyasını istifadə etdiyinizi söyləyin. Bu sənəd HTML5 sənədi olaraq elan edilir:

Html və bədən etiketləri ilə başlayın:

Məzmununuzun böyük hissəsi bədən etiketləri arasında gedir. İlk sətri h1 etiketi ilə bir başlıq edin. "H" hərfindən sonrakı rəqəm, yazı tipinin ölçüsünə təsir edən başlığın əhəmiyyətini təyin edir. Paraqraf təyin etmək üçün p etiketindən istifadə edin:

Mənim Raspberry Pi -nin bir veb saytı var

Bura nə qoymalıyam?

Əsas səhifəni, html və etiketləri bağlayaraq səhifəni bitirin:

Sənədi.html şəkilçisi ilə qeyd edin və brauzerinizdə localhost saytına daxil olun. Veb səhifənizi görəcəksiniz!

Şəkil
Şəkil

Veb səhifəyə nə qoymalısınız? Bir şəkil qoyaq, ya da daha yaxşısı, animateMe.gif! Hər hansı bir aktivin bu veb səhifədə göstərilməsi üçün onu Apache sənəd kökünə qoymaq lazımdır. Kopyalayıb yapışdırmalısınız ki, boof/fotos kataloqunuzda da olsun. Bir faylı əmr satırına kopyalayıb yapışdırmaq üçün cp əmrindən istifadə edin. Əvvəlcə ev qovluğuna cd yazın:

cd ~

AnimateMe-g.webp

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

Html qovluğuna qayıdın:

cd/var/www/html

Şəkli əlavə etmək üçün index.html faylını yenidən açın:

sudo nano index.html

Bir HTML səhifəsinə bir şəkil təyin etmək və yerləşdirmək üçün img etiketindən istifadə edin. Başlıq və paraqrafın arasına aşağıdakı xətti qoyun.

Səhifəni brauzerdə açın və öz şık selfi-g.webp

Şəkil
Şəkil

Addım 5: Bəzi üslub əlavə edin

Səhifə bir az incə görünür. Rəng və üslub yoxdur. CSS-in gəldiyi yer budur. Bir web səhifəsini daha cəlbedici və vizual olaraq yaradıcı etmək üçün HTML ilə əl-ələ işləyən bir dildir. Yalnız bura toxunacaqsınız, ancaq daha çox öyrənmək üçün W3schools -a baş vurun.

Məsələn, HTML faylınıza CSS əlavə edərək arxa planın rəngini dəyişək. CSS istifadə edərək veb səhifənizi tərtib etməyin bir neçə yolu var. Bu sinif üçün CSS -ni HTML faylınıza daxil etmək üçün stil etiketlərindən istifadə edəcəksiniz.

Aşağıdakı sətirləri HTML səhifənizin üst hissəsindəki ilk html və bədən etiketləri arasına qoyun:

bədən {background-color: powderblue;} etiketləri. Bu belə görünəcək:

Şəkil
Şəkil

bədən {background-color: powderblue;}

Şəkil
Şəkil

Addım 6: PHP quraşdırın

Statik bir səhifə yerinə, faylları əl ilə yükləmədən dəyişdirə bilən dinamik bir səhifə edə bilərsiniz. Populyar bir yol, PHP adlı bir yazı dilindən istifadə etməkdir. PHP -ni Raspberry Pi -də istifadə etmək üçün əvvəlcə Apache üçün modul paketi ilə yükləməlisiniz:

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

Addım 7: Dinamik Veb Səhifəsi yaradın

PHP -ni HTMLA ilə birləşdirin, PHP kodu etiketlərdə olduğu müddətcə onu bir HTML fayl quruluşuna daxil edə bilərsiniz. Nümunə olaraq, mövcud HTML və PHP skriptlərinizi birləşdirin və HTML etiketlərindən istifadə edərək mətni daha da genişləndirin.

Tarix və saatı göstərən sadə bir PHP skriptini daxil edək. Aşağıdakıları etiketlərin arasına yapışdırın:

Faylı Ctrl + o ilə qeyd edin, lakin uzantısını.html -dən.php -ə dəyişin, bu da yeni bir faylı saxlayacaq. Brauzeri qarışdırmamaq üçün köhnə.html versiyasını silin:

sudo rm index.html

Veb brauzerinizdə localhost yeniləyin. Çıxış belə görünəcək:

Şəkil
Şəkil

Yaxşı, fərq nədir? Adi bir HTML səhifəsinə bənzəyir, elə deyilmi? Səhifəni yeniləyin və möcüzəyə baxın. Zamanın sehri dəyişəcək! Bu dinamik bir veb səhifəsi yaratmağınız üçün işləyən PHP və quraşdırılmış date () funksiyasıdır.

Addım 8: Tumblr API Müştəri yaradın

Raspberry Pi, API (Tətbiq Proqramlaşdırma İnterfeysi) vasitəsi ilə digər proqram tətbiqlərindən məlumat istəyə və əldə edə bilər. Bir API, Raspberry Pi kimi bir şeyin yalnız faydalı şeyləri əldə etmək üçün bir veb saytındakı bütün məlumatları kəsməsini asanlaşdırır. Raspberry Pi -ni Tumblr, Twitter və weather.com ilə tweet etmək, şəkillər yerləşdirmək və hava proqnozlarını göstərmək üçün danışdırın.

Raspberry Pi və Tumblr

Aşağıdakı məşq Raspberry Pi və Tumblr arasında bir söhbət yaradır. Müştəri olaraq, Raspberry Pi, Tumblr -dan məlumatları Tumblr -ın uzaq serverinə yükləyə bilməsi üçün məlumat parçalarını istəyəcək və nəticədə şəkillər bir Tumblr hesabına yerləşdiriləcək. Bir API ilə işləyən bir Raspberry Pi əldə etmək üçün çox güman ki, orada istifadə edə biləcəyiniz bir kitabxana olacaq. Tumblr üçün Pytumblr var. Bir müştəri, Python proqramında Pytumblr-da yaradılmış daxili funksiyadan istifadə edərək yaradılır. Bu funksiya Tumblr tərəfindən yaradılan dörd icazə kodundan istifadə edir:

  • istehlakçı açarı
  • istehlakçı sirri
  • nişan açarı
  • simvol sirri

Tumblr API -dən istifadə etməzdən əvvəl bu dörd düyməni (parollara bənzər) almalısınız. Onları əldə etmək üçün bu addımları izləyin:

  1. Pulsuz bir Tumblr hesabı yaradın və daxil olun.
  2. Ərizə qeydiyyatdan keçin. Yalnız bir başlıq ("Mənim Raspberry Pi" ni sınayın), təsviri, e -poçtu və veb saytı kimi əsas məlumatları verməlisiniz (əgər yoxdursa, bundan istifadə edin). Qeydiyyatdan sonra istehlakçı açarı və istehlak sirri əldə edəcəksiniz. Kopyalayın və mətn faylı və ya e -poçt kimi təhlükəsiz bir yerə yapışdırın. Onlara yenidən daxil olmaq üçün Tumblr hesab səhifənizə gedin, Hesab menyusundan Ayarlar seçin və Proqramlar düyməsini basın.
  3. Açar və gizli icazə kodlarınızı istifadə edərək geliştirici konsoluna daxil olun. Adınızı göndərmək istədiyinizi soruşduqda icazə verin düyməsini basın.
  4. Geliştirici konsoluna daxil olduqdan sonra bir neçə fərqli dildə nümunə kodu görəcəksiniz. Ya Python sekmesini vurun və OAuth blokunu kopyalayın, ya da əlinizdə olan iki kodla birlikdə nişan açarını və mö'cüzə gizli kodlarını görmək üçün yuxarı menyuda Açarları Göstər düyməsini basın.

Gəlin bu kodları işə salaq və animateMe-g.webp

Əvvəlcə Pytumblr quraşdırın:

sudo apt-get yeniləməsi

sudo pip pytumblr quraşdırın

Ev qovluğundan, boof qovluğuna cd yazın və bir Python faylı yaradın:

cd boof

Çox uzun icazə kodlarınızı kəsib yapışdırmağı asanlaşdırmaq üçün IDLE redaktorundan istifadə edərək faylınızı yaradın. Bunu testPytumblr.py faylınıza qoyun, dörd düyməni və istifadəçi adınızı yeniləyin:

idxal pytumblr

# OAuth vasitəsilə doğrulanır, https://api.tumblr.com/console/calls/user/info müştəri = pytumblr. TumblrRestClient ('sənin istehlakçının_ açarı', 'sənin istehlakçının_sirrinin', 'sənin_tutmuş', 'sənin_təklif edən) müştəridən kopyalanır. 'your_account_username', state = "nəşr olundu", etiketlər = ["ahududu", "picamera"], data = "fotos/animateMe.gif") çap ("yükləndi")

Proqram yüklənmiş şəkli sizin üçün "ahududu" və "picamera" ilə etiketləyir. İstəyirsinizsə, bu etiketləri silə, əvəz edə və ya əlavə edə bilərsiniz. Bunlar client.create_photo () istifadə edilən etiketlər adlanan dəyişəndə saxlanılır.

Proqramı işə salmaq üçün F5 düyməsini basın. Bir səhv olacaq … amma artıq Pytumblr quraşdırmısınız, niyə Python modulu tapa bilmədiyini deyir? Bunun səbəbi Pytumblr -in Python 3 -ü dəstəkləməməsidir, yalnız Python 2*-də işləyir. Python 2 IDLE redaktorunu açın və kodunuzu kəsib yapışdırın, Python 3 proqramının üzərinə yazın və sonra işə salın.-g.webp

Bu həyəcan verici hissədir! Tumblr səhifənizə gedin və-g.webp

Şəkil
Şəkil

*Bu sinif nəşr olunduqdan sonra, başqa bir github istifadəçisi, müəyyən əmrlər üçün Python 3 -ə dəstək əlavə edərək, orijinaldan istifadə etdi.

Yazı görünmürsə, dörd açarınızı və Tumblr istifadəçi adınızı düzgün daxil etdiyinizi və Pi internet bağlantınızın aktiv olduğunu iki dəfə yoxlayın. Python 2 -dən istifadə edərək skriptinizi komanda xəttindən də işə sala bilərsiniz (hələ orada deyilsinizsə, cd qovluğunuzun boofuna):

python testiPytumblr.py

Tövsiyə: