Mündəricat:
- Addım 1: Müştəri və Server
- Addım 2: Yerli Veb Server yaradın
- Addım 3: Apache qurun
- Addım 4: Statik Veb Səhifəsi yaradın
- Mənim Raspberry Pi -nin bir veb saytı var
- Addım 5: Bəzi üslub əlavə edin
- Addım 6: PHP quraşdırın
- Addım 7: Dinamik Veb Səhifəsi yaradın
- Addım 8: Tumblr API Müştəri yaradın
Video: Raspberry Pi -ni İnternetə bağlamaq: 9 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:44
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.
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:
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
Kursoru WiFi qəbul simvolu üzərinə apararsanız, onu masaüstündə də tapa bilərsiniz.
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!
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
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:
bədən {background-color: powderblue;}
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:
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:
- Pulsuz bir Tumblr hesabı yaradın və daxil olun.
- Ə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.
- 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.
- 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
*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ə:
İnternetə baxmaq üçün ucuz kompüter: 8 addım
İnternetə baxmaq üçün ucuz kompüter: Ucuz kompüteri internetə giriş emalatxanasına qoydum. Intel Atom prosessoru olan lövhələr həqiqətən ucuzdur və məqsədimizə yaxşı xidmət edəcək. PCI Express mini kart yuvası və DDR3 yaddaşı olan mini DX25MW Intel ITX formatlı lövhə aldım
Torpaq Nəmliyi Əlaqəsi Nəzarət olunan İnternetə Bağlı Damla Suvarma Sistemi (ESP32 və Blynk): 5 addım
Torpaq Nəmliyi Əlaqəsi İdarə olunan İnternetə Bağlı Damla Suvarma Sistemi (ESP32 və Blynk): Uzun tətillərə gedərkən bağınız və ya bitkiləriniz üçün narahat olun, Ya da hər gün bitkinizi sulamağı unutmayın. Yaxşı bir həll budur ki, proqram təminatında ESP32 tərəfindən idarə olunan torpaq rütubətinə nəzarət edən və qlobal əlaqəli damcı suvarma sistemi
Arduino və Raspberry Pi ilə İnternetə Nəzarət Edilən Video Streaming Robotunuzu yaradın: 15 addım (şəkillərlə birlikdə)
Arduino və Raspberry Pi ilə İnternetə Nəzarət Edilən Video Streaming Robotunuzu yaradın: Mən @RedPhantom (aka LiquidCrystalDisplay / Itay), İsraildən 14 yaşında, Max Shein İbtidai Elm və Riyaziyyat Liseyində təhsil alıram. Hər kəsin öyrənməsi və paylaşması üçün bu layihəni hazırlayıram
İnternetə Bağlı Mağaza Stereo Hazırlamaq: 6 Addım (Şəkillərlə)
İnternetə Bağlı Mağaza Stereo Hazırlamaq: Sürərkən radio açanda yerli kollec radio stansiyam 90.7 KALX -a müraciət edirəm. İllər boyu və yaşadığım müxtəlif yerlərdə həmişə kollec radio stansiyalarını dinləmişəm. İnternetin gücü sayəsində indi dinləyə bilərəm
Jacques Pierre - İnternetə Nəzarət Edilən Balqabaq: 6 addım
Jacques Pierre - İnternetə Nəzarət Edilən Balqabaq: Halloween bayramını Jacques Pierre adlı internet nəzarətli balqabaqla qeyd edək! Məzmuna ümumi bir baxışdan aşağıda: Layihə videosu Balqabaq oyma işıqları + bığlı servolar LetsRobot Duz Xəmiri Hacking başlasın