Haz 18, 2018
84 Views
0 0

Raspberry Pi Web’e Bağlama

Yazar

Bu derste, bir web sayfası oluşturmayı, dünya çapında web’i kullanarak veri toplamayı ve görüntüleri Tumblr ve Twitter’a göndermek için API’leri kullanmayı öğreneceksiniz.

İstemci ve Sunucu

Hesaplamada, istemci-sunucu iki bölümden oluşan bir yazılım modelidir: bir müşteri ve bir sunucu. Her ikisi de bir bilgisayar ağı üzerinden veya aynı bilgisayarda birlikte iletişim kurar. İstemci, bir sunucuya hizmet istekleri yapmaya dayanan yazılıma sahip bir program veya bilgisayardır. Sunucu, bu istekleri kabul edebilen, işleyen ve istenen bilgileri istemciye iade edebilen bir bilgisayar programı veya aygıttır. Bazen, birden fazla işi aynı anda yapan makinelerle çalışmanın hangisi olduğunu anlamak zor. Burada bir müşteriye ve bir sunucuya ayrı ayrı yardımcı olmanıza yardımcı olacak bazı özellikler.

Müşteri özellikleri:

  • Ilk aktif
  • Sunucuya istek gönderir
  • Sunucudan yanıt bekler ve alır
  • Genellikle grafik kullanıcı arayüzü gibi herhangi bir kullanıcı arayüzünü kullanarak son kullanıcılar ile doğrudan etkileşime girer

Sunucu özellikleri:

  • Başlangıçta pasif
  • Dinliyor, müşteriler tarafından gönderilen isteklere cevap vermeye hazır
  • bir istek geldiğinde, istemcilere talep edilen verilerle cevaplar
  • Son kullanıcılar genellikle doğrudan bir sunucuyla etkileşmez, ancak bir istemci kullanır.

    Bir istemci ve sunucu ilişkisinin yaygın bir örneği, bir web sunucusunda barındırılan web sayfası dosyalarını talep eden ve alan bir web tarayıcısıdır (istemci).

    Yerel bir Web sunucusu oluştur

    Raspberry Pi bir sunucu uygulaması kurarak ve çalıştırarak bir web sunucusu haline gelebilir. İki popüler açık kaynaklı sunucu uygulaması: NGINX (belirgin motor x) ve Apache . Bu derste, Apache’yi kullanacaksınız, çünkü bu yazıdan sonra daha çok belgelenmiştir. Bu, öğrendikçe çevrimiçi cevapları daha kolay aramanızı sağlar.

    Raspberry Pi’niz, aynı ağdaki herhangi bir cihazın erişebileceği bir web sitesine ev sahipliği yapacak. Başlayalım!

    Apache’yi yükle

    Apache2 paketini yükleyin . -y bayrağı sizin için önceden yüklenmiş güvenlik sorusunu yanıtlıyor.

    sudo apt-get install apache2 -y

    Apache, kurulumu sınamak için bir yer tutucu web sayfası oluşturan bir test HTML dosyasıyla birlikte gelir. Bu test HTML dosyası Apache’nin kök dizininde gelir. Varsayılan olarak, Apache, bir web tarayıcısında içerik oluşturmak için web dizinlerinde bu dizine bakacak şekilde ayarlanmıştır. Bu sınama sayfasına göz atmak ve Apache’nin doğru şekilde yüklemesini doğrulamak için bu URL adresini yazarak web tarayıcınızda yukarı doğru çekin:

    http: // localhost /

    Apache doğru kurulduğunda, tarayıcıda Apache test web sayfasını göreceksiniz:

    Ahududu Pi’nizin IP Adresini Bulun

    Raspberry Pi’de web sayfasına erişmek için localhost adresini kullanabilirsiniz . Başka bir bilgisayardan web sayfasına erişmek için Raspberry Pi’nin IP adresine ihtiyacınız var . LXTerminal’de IP adresi türünü bulmak için:

    ifconfig


    Ayrıca imleci WiFi alım sembolü üzerine getirdiğinizde masaüstünde de bulabilirsiniz.

    Statik Bir Web Sayfası Oluşturun

    Raspberry Pi’niz artık bir web sayfası ve üzerinde yayınlanacak tüm içeriği barındırabilir. İki temel web sayfası türü vardır: statik ve dinamik. Statik bir sayfa değişmeyen içeriğe sahiptir. Dinamik bir sayfa, sensör okumaları veya değişen zaman ve tarih gibi değişen verileri görüntüleyebilir.

    Statik bir sayfa ile başlayalım. Bir tane oluşturmak için HTML adında bir dil kullanmanız gerekir. Bir web sayfasına gittiğinizde, gördüğünüz ilk şey muhtemelen bir index.html sayfasıdır. Bu sayfa, başka bir sayfa belirtilmemişse bir tarayıcının gösterdiği varsayılan sayfadır. Apache, varsayılan olarak index.html dosyasını burada arar:

    / Var / www / html

    Buna belge kökü denir ve bu gizli bir klasördür. Web sayfalarını tutmak için belirlenmiştir. Oraya git ve etrafına bir bak:

    cd / var / www / html
    ls

    Listelenen varsayılan test index.html dosyasını göreceksiniz . Varsayılan dosyayı kaydetmek istiyorsanız , mv komutunu kullanarak defaultIndex.html gibi bir şeye yeniden adlandırın .

    sudo mv index.html defaultIndex.html
    

    Eğer kaydetmek istemiyorsanız, rm komutunu kullanarak dosyayı kaldırın :

    sudo rm index.html

    Şimdi kendi index.html dosyanızı oluşturabilir ve düzenleyebilirsiniz:

    sudo nano index.html

    Sudo kullanmayı unutmayın , www ve html dizinleri root’a aittir, bu nedenle bu dizinlerde yaşayan dosyaları oluşturmak, düzenlemek ve değiştirmek için root olarak hareket etmeniz gerekir.

    Temel HTML Sayfası

    HTML, derinleşen bir dildir. Bununla çok şey yapabilirsiniz. W3Schools’un web sitesinidaha fazla kontrol etmekle ilgileniyorsanız, bir web sitesi oluşturmak için HTML’yi nasıl kullanacağınızla ilgili birçok öğretici bulabilirsin. Basit bir HTML sayfasıyla başlayacağız.

    Öncelikle, tarayıcınıza hangi HTML sürümünü kullandığınızı söyleyin. Bu belge bir HTML5 belgesi olarak bildirildi:

    <! DOCTYPE html>

    Html ve body etiketleriyle başlayın :

    <Html>
    
    <Body>

    İçeriğinizin büyük kısmı, gövde etiketleri arasında ilerliyor. İlk satırı h1 etiketi ile bir başlık haline getirin . “H” den sonraki sayı , yazı tipinin boyutunu etkileyen başlığın önemini tanımlar . Paragraf tanımlamak için p etiketini kullanın :

    <h1> Raspberry Pi'nin bir web sitesi var! </ h1>
    <p> Ne buraya koymalıyım? </ p>
    
    Body ve html ve etiketleri kapatarak sayfayı tamamlayın:
    </ Body>
    
    </ Html>

    Belgeyi .html son ekiyle kaydedin ve tarayıcınızdaki localhost’u ziyaret edin. Web sayfanızı göreceksiniz!

    Web sayfasına ne koymalısınız? AnimateMe.gif bir görüntü ya da daha iyi koyalım! Herhangi bir varlığın bu web sayfasında gösterilebilmesi için Apache’nin belge köküne yazılması gerekir. Kopyala ve yapıştır, böylece boof / fotos dizininde kalsın. Bir dosyayı komut satırına kopyalayıp yapıştırmak için cp komutunu kullanın. İlk önce, ev dizininize cd:

    cd ~

    AnimateMe.gif dosyasını kopyalayıp yapıştırın:

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

    Html dizinine geri dönün :

    cd / var / www / html

    Resmi ekleyebilmek için index.html dosyasını yeniden açın:

    sudo nano index.html

    Bir HTML sayfasında bir görüntü tanımlamak ve gömmek için img etiketini kullanın . Aşağıdaki satırı başlık ve paragraf arasına koyun.

    <p> <img src = "animateMe.gif"> </ p>

    Sayfayı tarayıcıda açın ve kendi şık selfie GIF’iniz dışında bunun gibi görünecektir.

    Bazı Stil Ekle

    Sayfa biraz mülayim görünüyor. Renk yok ve stil yok. İşte burası CSS geliyor. Bir web sayfasını daha çekici ve görsel olarak yaratıcı hale getirmek için HTML ile el ele çalışan bir dil. Sadece buraya değineceksiniz ama daha fazla bilgi edinmek için W3schoolsüzerinde daha fazla kafa öğrenmek istiyorsanız .

    Örnek olarak, HTML dosyanıza CSS ekleyerek arka plan rengini değiştirelim. Web sayfanızı CSS kullanarak şekillendirmenin birkaç yolu vardır . Bu sınıf için, HTML etiketine CSS’yi gömmek için stil etiketlerini kullanacaksınız.

    Aşağıdaki satırları, HTML sayfanızın en üstündeki ilk html ve gövde etiketleri arasına yerleştirin:

    gövde {background-color: powderblue;} etiketleri. Bunun gibi görünecek:

    PHP’yi yükle

    Statik bir sayfa yerine, dosyaları el ile karşıya yüklemeden değiştirebilen bir dinamik yapabilirsiniz. Bunu yapmanın popüler bir yolu PHP denen bir betik dili kullanmaktır. Raspberry Pi’de PHP kullanmak için önce Apache için modül paketi ile yüklemeniz gerekir:

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

    Dinamik Bir Web Sayfası Oluşturun

    PHP’yi HTML ile Birleştirin PHP
    kodu etiketlerin içinde bulunduğu sürece, bir HTML dosyası yapısına dahil edebilirsiniz. Örnek olarak, mevcut HTML ve PHP betiklerinizi birleştirin ve HTML etiketlerini kullanarak metni daha büyük hale getirin.

    Tarih ve saati gösteren basit bir PHP betiğini ekleyelim. Aşağıdakileri <body> etiketleri arasında herhangi bir yere yapıştırın:

    <? Php 
    eko tarihi ('Ymd H: i: s');
    ?>

    Dosyayı Ctrl + o ile kaydedin ancak uzantıyı .html’den .php’ye değiştirin, bu da yeni bir dosya kaydedecektir. Tarayıcıyı karıştırmamak için eski .html sürümünü kaldırın:

    sudo rm index.html

    Web tarayıcınızda localhost’u yenileyin. Çıkış şöyle görünecek:

    Tamam, fark nedir? Normal bir HTML sayfası gibi görünüyor değil mi? Sayfayı yenileyin ve sihri izleyin. Zamanın büyüsü değişecek! Bu , dinamik bir web sayfası hazırlamanız için PHP ve yerleşik date () işlevidir .

    Bir Tumblr API İstemcisi Oluşturun

    Ahududu Pi talep ve çevrimiçi bir API (aracılığıyla diğer yazılım uygulamalarından bilgi alabilirsiniz bir pplication P rogramming ben nterface). Bir API, Raspberry Pi’nin bir web sitesinin tüm verilerini keserek sadece yararlı şeyleri almasını kolaylaştırır. Ahududu Pi’niz Tumblr, Twitter ve weather.com ile konuşup tweet atmak, resim göndermek ve hava durumu tahminlerini görüntülemek için konuşun.

    Ahududu Pi ve Tumblr

    Aşağıdaki alıştırma Ahududu Pi ve Tumblr arasında bir konuşma oluşturur. İstemci olarak, Raspberry Pi’niz veri parçaları için Tumblr isteyecek ve böylece görüntüleri Tumblr’ın uzak sunucusuna yükleyebilecek, bu da görüntülerin bir Tumblr hesabına gönderilmesini sağlayacaktır. Bir API ile çalışan bir Raspberry Pi almak için büyük olasılıkla zaten kullanmak için bir kütüphane var. Tumblr için Pytumblr var . Pytumblr’da oluşturulmuş yerleşik bir işlev kullanılarak bir Python programında bir istemci oluşturulur. Bu işlev, Tumblr tarafından üretilen dört yetki kodunu kullanır:

    • tüketici anahtarı
    • tüketici mahremiyeti
    • jeton anahtarı
    • jeton sırrı

    Tumblr’ın API’sini kullanabilmeniz için önce bu anahtarları (şifrelere benzer) dört elde etmelisiniz. Bunları takip etmek için şu adımları izleyin:

    1. Ücretsiz bir Tumblr hesabı oluşturun ve giriş yapın.
    2. Bir uygulama kaydettirin . Sadece bir başlık (“My Raspberry Pi” yi deneyin), açıklama, e-posta ve web sitesi gibi temel bilgileri vermeniz yeterlidir (buna sahip değilseniz, bunu kullanın). Kayıt olduktan sonra bir tüketici anahtarı ve tüketici sırrıalacaksınız . Bir metin dosyası veya e-posta gibi kopyalayıp yapıştırın. Onlara tekrar erişmek için Tumblr hesabınıza gidin , Hesap menüsünden Ayarlar’ı seçin ve Uygulamalar’a tıklayın .
    3. Anahtar ve gizli yetki kodlarınızı kullanarak geliştirici konsoluna giriş yapın . Adınıza yayınlanmasını isteyip istemediğiniz sorulduğunda izin ver’i tıklayın .
    4. Geliştirici konsoluna giriş yaptıktan sonra, birkaç farklı dilde örnek kodu göreceksiniz. Python sekmesini tıklayın ve OAuth bloğunu kopyalayın veya üst menüde , belirttiğiniz iki kodla birlikte jeton anahtarını ve jeton gizli kodlarını görmek için Show Keys tuşunu tıklayın .

    Bu kodları işe koyup animateMe.gif’i yeni Tumblr hesabınıza gönderen bir Python programı hazırlayalım.

    İlk kurulum Pytumblr:

    sudo apt-get güncelleştirmesi
    sudo pip install pytumblr

    Ana dizininizde itibaren cd içine Boof ve klasör bir Python dosyası oluşturmak:

    cd bov

    Çok uzun yetkilendirme kodlarınızı kesmeyi ve yapıştırmayı kolaylaştırmak için IDLE düzenleyicisini kullanarak dosyanızı oluşturun. Bunu testPytumblr.py dosyanıza koyun, dört anahtarı ve kullanıcı adınızı güncelleyin:

    ithalat pytumblr
    
    # OAuth üzerinden kimlik doğrulaması yapın, https://api.tumblr.com/console/calls/user/info adresinden kopyalayın
    client = pytumblr.TumblrRestClient (
      'Your_consumer_key',
      'Your_consumer_secret'
      'Your_token'
      'Your_token_secret'
    )
    
    client.create_photo (
    'Your_account_username', 
    devlet = "yayımlanan”, 
    tags = [“raspberrypi”, “picamera”], 
    Veri = “fotos / animateMe.gif"
    )
    Baskı ( "yüklenen")

    Program sizin için yüklenen fotoğrafı “raspberrypi” ve “picamera” ile etiketler. İsterseniz, bu etiketleri kaldırabilir, değiştirebilir veya ekleyebilirsiniz. Bunlar, client.create_photo () ‘da kullanılan etiketler olarak adlandırılan bir değişkende saklanır .

    Programı çalıştırmak için F5 tuşuna basın. Bir hata olacak … ama Pytumblr’u zaten yüklediniz, python neden modülü bulamadığını söylüyor? Çünkü Pytumblr Python 3’ü desteklemiyor, sadece Python 2’de çalışıyor *. Python 2 IDLE düzenleyicisini açın ve kodunuzu kesip yapıştırın, Python 3 programının üzerine yazıp çalıştırın. GIF’i yüklediğinde, “yüklenen” Python kabuk penceresinde yazdırılır.

    Bu heyecan verici kısım! Tumblr sayfanıza gidin ve GIF’e göz atın! Bunun yerine taslak yayınlar oluşturmak istiyorsanız, programınızda “yayınlanan” ile “taslak” olarak değiştirin.

Makale Kategorileri:
Raspberry Pİ
http://teknobayt.com

Teknobayt Tasarım Stüdyosunun tasarımcısı, ve kurucusudur.

Yorum Yap

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir