4 Aralık 2016 Pazar

Raspberry Pi de Python ile Web Uygulaması


IP Adresi Öğrenme
Command Prompt (cmd) kullanan Windows kullanıcısı iseniz ip, gateway, subnet mask, mac adresi vs. bilgilerini ipconfig yapısıyla çektiğimizi biliyorsunuzdur. Burada raspberry pi’nin IP  bilgiler için terminale arp -a yazmanız yeterli olacaktır.                                                                                                                        

Görüldüğü raspberry gibi IP adresimiz 192.168.137.100 olarak karşımıza çıkmıştır. Şimdilik bu IP miz bir kenarda kalsın.
Raspberry Pi ye bağlanmamız için Putty programına ihtiyacımız vardır.
Bu bağlantıdan indirebilirsiniz.
( http://the.earth.li/~sgtatham/putty/latest/x86/putty.zip)


Kurmuş olduğumuz putty ‘nin ekran görüntüsü şekildeki gibidir. 


Daha önceden öğrenmiş olduğumuz IP adresmizi gösterdiğimiz gibi girerseniz raspberry pi ye bağlanmış olursunuz.


Open butonuna tıklayıp terminali karşınızda bulabilirsiniz.


Burada giriş için sizden kullanıcı adı ve şifre isteyecektir.Eğer daha önceden değiştirmediyseniz ilk olarak kullanıcı adı “pi” password ise “raspberry” dir. Bu şekilde giriş yapabilirsiniz.
Giriş yapınca karşınıza bu ekran gelecektir.



İlk olarak Raspberry ‘mizde python  ve pip paketleri kurulu olarak gelmekterdir. Bizim ihtiyacımız olan  apache sunucusudur. İlk olarak apache sunucusunu yükleyelim. 
Terminale sudo apt -get install apache2 -y yazarak apache sunucusunu yükleriz. İkincil olarak Sqlite veri tabanımızı tutmak için yüklüyoruz. 
Terminale sudo apt-get install sqlite3 -y yazıp enterladığımız zaman yükleme başlanacaktır.





Bu işlemlerden sonra apache sunucusunu sudo apache2 restart komutu ile yeniden başlatırız.

Flask Nedir ?

Flask; Python programlama dili ile yazılmış web uygulamaları yazmak için kullanılan bir microframework. Yani çekirdeği basit ve geliştirilebilir.Bir webapi yazarken framework ile zaman harcamak istemiyorsk, microframework kullanabiliriz.

Nasıl Kullanılır ?

Flask kurulumu oldukça basit, zaten depo davar. "pip install","apt-get install flask" ya da "easy install flask" komutları ile Flaks' ı kurabilirsiniz.

Basit bir Örnek vermek gerekirse:

from flask import Flask
app=Flask (__name__)

@app.route('/')
def hello world();
     return 'hello world!'
 if name =='__main__':
    app.run()

Projemiz artık kodlanmaya hazır bir şekilde bizi bekliyor.Projemiz bir adet flaskr.py adlı dosya, static ve templates klasörlerimiz eklememiz gerekiyor.
touch flaskr.py ile dosyamızı oluşturuyoruz.
mkdir static ile static klasörümüzü oluşturuyoruz.
mkdir templates ile templates klasörümüzü oluşturuyoruz.
Static adlı klasör bizim web sitemizde bulunacak olan javascript.css ve image dosyalarını barındıracak.Templates klasörü ise temalarımızı yani html kodlarımızı barındıracak. flaskr.py dosyasında ise biz sitemiz ile ilgili işlerin gerçekleştireceği örnek olarak kullanıcı girişi ve sayfa yönlendirmeleri gibi...
Öncelikle html  ile sayfalarımızı düzenini oluşturalım. Kodlama mantığımız ona göre şekillenecektir.
yeni/Flask-/tep-mplates $ şeklinde dosyayı oluşturacağımız dizinin içerisinine giderek touc layout.html komutuyla yeni bir dosya oluşturuyoruz. 

Şekilde görüldüğü gibi html kodlarımızı yazıyoruz. Bu şekilde gerekli olan dosya sayısı kadar işlemimizi devam ettiriyoruz.
touch login.html komutuyla giriş dosyamızı oluşturuyoruz.
  nano login.html diyerek içerisine girip gerekli kodlamayı yapıyoruz.

touch show_entries.html komutuyla giriş dosyamızı oluşturuyoruz. 
nano show_entries.html diyerek içerisine girip gerekli kodlamayı yapıyoruz.

Html sayfalarımız bitti tabi isteğe ve talebe göre istediğiniz kadar yapabilirsiniz.
Şimdi gelelim görünümü düzenlemeye yani css kodlarımız yazmaya.
yeni/Flask-/templates $ biz şuan bu dizinde bulunmaktayız. Static dizinine gidebilmemiz için cd ..  komutuyla bir üst dizine geçiş yapıyoruz. Sonra cd static komutuyla static dizinine geçiş yapıyoruz.
pi@raspberrypi:~/yeni/Flask-/static $ 
touch style.css komutuyla css dosyasını oluşturuyoruz. 
nano style.css diyip kodlamamızı yapıyoruz.


Html ve css kısmını bitirdiğimize göre şimdi asıl konuya yani programlama bölümüne geçelim.Öncelikle touch flaskr.py komutuyla python dosyamızı oluşturuyoruz. 



Python kodu içerisinde veritabanımızı oluşturma, veri ekleme işlemleri port numarası atama işlemlerini yaptık.Html sayfalarını fonksiyon şeklinde çağırarak işlem yaptırdık.
Ve en son olarak gelelim uygulalamızı çalıştırmaya. Bilgisayaramızdan herhangi bir tarayıcıyı açıyoruz. Ve raspberry pi mizin IP numarasını giriyoruz ve hiç boşluk bırakmadan :51 yazıp çalıştırıyoruz. (192.168.137.100:51). Port numarasını kendimiz belirleyebiliyoruz. Bunu python kodumuzun içerisinde gerçekleştirebiliriz.
Ama önce uygulamamızı çalıştırmamız gerekiyor.
Flaskr.py uygulama dosyasının olduğu dizine gidip sudo python flaskr.py yazıp enter’a basarsak uygulamamız eger bişey atlamadıysak çalışacaktır. 

Böyle bir ekran görüntüsü alırsanız uygulamanız çalışıyor demektir. 192.168.137.1 IP benim bilgisayarın IP sidir. Yani bu IP adresine sahip cihaz uygulamaya erişmiş ve yaptığı işlemleri göstermektedir.


Burada kullanıcı adımı :"admin" ve parola : "p" dir.




Gördüğümüz gibi uygulamamız çalıştı. Buradaki veri tabanı yani sqlite ile başlık ve açıklama kısmını veri tabanına ekliyor. 

Bakalım paylaşımımızı eklemiş mi.
Önce database’ ulaşalım. Database’nin olduğu dizine gidip sqlite3 /tmp/flaskr.db
Komutuyla ulaşıyoruz.



Daha sonra bilgilerin tutulduğu tabloyu listeliyoruz. Bildiğimiz sql sorgusunı-un aynısı 
Select * from entries; yazıp entera basıyoruz. 

Verilerimiz görüldüğü gibi başarıyla tabloya eklenmiş.


Hiç yorum yok:

Yorum Gönder