Ana içeriğe atla

Raspberry Pi Kiosk Uygulaması ve Shutdown butonu

Rapberry pi mini bilgisayarımızı bu sefer kiosk uygulamasında kullanıyoruz.

Bebekler ayrı odada uyumaya başladığında bebek telsizi veya kamera ihtiyacı ortaya çıkıyor. Raspberry ile bir kamera sunucusu kurup herhangi bir internet tarayıcısı bulunduran cihazdan izleyebiliyoruz. Elinizde mevcut bir raspberry ve ekran varsa bu iş için kullanabiliriz. (Bebek olunca projeler de ona göre şekil alıyor  :)  )
Öncelikle kiosk nedir diye aklınızdan geçiyorsa, dolaşırken etrafınızda gördüğünüz ekranları düşünün. Reklam amaçlı veya bilgi amaçlı bazı görüntüler gösterimde oluyor ve herhangi bir görev çubuğu, simge vs haricen birşey bulunmuyor. Kiosk işte budur. Raspbian işletim sisteminde kurulu gelen chromium-browser kiosk özelliğini destekliyor.
Tabi kiosk olarak kullanılan cihazda yönetim uzak masaüstü veya terminal bağlantısı şeklinde olsa da(statik ip ayarlamakta fayda var), cihazı kapatmak için terminale girip komut göndermek zahmetli geleceği için bir de raspberry pi cihazımızı bir butona basarak kapatma komutunu işleme sokacak şekilde bir ekleme yapabiliriz.

Bu değişiklikler ile güç verdiğimizde tam ekran web sayfası açılacak, kapatmak için butona bir kez basmamız yeterli olacak.



Boot ile birlikte tam ekran web sayfası açmak (kiosk)
Dosyamızı düzenliyoruz.
sudo nano /home/pi/.config/lxsession/LXDE-pi/autostart
Bu kodları kopyalayıp yapıştırıyoruz.
/usr/bin/chromium-browser –incognito –kiosk http://www.domain.com
(Yukarıdaki kodda incognito ve kiosk seçeneklerinin başında iki kısa çizgi var. WordPress uzun çizgi olarak gösteriyor)

-incognito- gizli pencere modu. Eğer cihaz anormal kapanma durumları yaparsa, bir sonraki açılışta restore uyarı pencereleri görünmesin diye.
-kiosk- chromium tarayıcısının bir özelliği. Yerine -start-fullcreen seçeneğini de yapabilirsiniz . Küçük farklılıklar var. F11 tuşuna bastığınızda sayfa tam ekran modundan çıkıyor. Kiosk özelliğinde var mı detaylı bakmadım henüz.
Dosyayı kaydedip çıkıyoruz. Yeniden başlattığımızda belirlediğimiz internet sayfası açılacaktır.
Raspberry pi ye kapatma butonu ekleme (adding shutdown button to raspberry pi)

Öncelikle gpio pinlerine birine button kablolarını bağlıyoruz. Ben 38. Sıradaki pini kullandım. Butonun bir ucunu 38 pinine bir ucunu 34 pinine(gnd) bağlıyoruz.

Dosyamızı oluşturuyoruz
mkdir ~/bin
touch ~/bin/shutdown.py
nano ~/bin/shutdown.py
Aşağıdaki Python script kodlarını kopyalayıp yapıştırıyoruz.
#!/bin/python
import RPi.GPIO as GPIO
import time
import os
#pin modunu giriş olarak ayarlayıp dahili pull up direncini aktifleştiriyoruz.
GPIO.setmode(GPIO.BOARD)
GPIO.setup(38, GPIO.IN, pull_up_down = GPIO.PUD_UP)
#shutdown fonksiyonunu tanımlıyoruz.
def Shutdown():
os.system(“sudo shutdown -h now”)
#butona basıldığında fonksiyonu çalıştıracak atamayı yapıyoruz
GPIO.add_event_detect(38,GPIO.FALLING, callback = Shutdown, bouncetime = 2000)
while 1:
time.sleep(1)
Dosyayı kaydettikten sonra her açılışta çalışması için ayarlıyoruz.
Dosyamızı düzenliyoruz.
sudo nano /home/pi/.config/lxsession/LXDE-pi/autostart
En alta şu kodu ekliyoruz
sudo python ~/bin/shutdown.py
Kaydedip cihazı yeniden başlattığımızda artık hazır.

Bu blogdaki popüler yayınlar

MQTT Broker Kurulumu – Mosquitto ve deneme

MQTT (Message Queuing Telemetry Transport), nesnelerin interneti alanında önemli haberleşme protokollerinden biridir. Kısaca bir sunucu üzerinden (broker) bir cihazın yayın yapması (publish) ve başka bir cihazın da bu yayını takip etmesi (subscribe) ‘ne dayalı bir yapıdır. Yayın ve takip işlemleri broker üzerinde açılan topicler üzerinden olur. Örneğin; Publisher1 isimli yayıncımız brokerda /ev/priz1 isimli topic (konu) içine ‘aç’ diye yayın yapar. Prize bağlı röle içeren Subscriber1 isimli takipçimiz de brokerdaki /ev/priz1 isimli topic değerini takip eder. ‘aç’ yayınını gören Subscriber1 röleyi sürüp prizi aktifleştirebilir. Aynı topic için birden fazla yayıncı olabilir. (aile üyelerinin telefonlarından aynı prizi kontrol edebilmesi) Bir yayıncı birden fazla topic için yayın yapabilir. Örneğin nem ve sıcaklık sensörü olan cihaz bu değerleri /sensor/nem ve /sensor/sicaklik gibi iki ayrı topic için yayın yapabilir. Yine bir topic’i birden fazla subscriber takip edebilir.(

Spinoza' nın Tanrısı

Einstein' ın ABD üniversitelerinde konferans verdiğinde öğrencilerin ona sık sık sordukları soru: - Tanrı' ya inanmıyor musun? Einstein hep şu cevabı verirdi: Spinoza' nın tanrısına inanıyorum. Spinoza' yı okumayan kişi aynı yerde kalır. Umarım bu özet, benim kadar size de hizmet eder... "Baruch de Spinoza", 17. yüzyıl felsefesinin üç büyük rasyonalistinden biri olarak kabul edilir, Fransız "Descartes" ile birlikte... ....................................................... Spinoza' nın Tanrısı, ya da Doğası... Tanrı şöyle derdi: Dua etmeyi bırak ve göğsüne yumruk atmaktan da vazgeç. Yapmanı istediğim şey, dünyaya çıkıp hayatının tadını çıkarman. Eğlenmeni, şarkı söylemeni ve senin için yaptığım her şeyin tadını çıkarmanı istiyorum. Kendi inşa ettiğin o soğuk ve karanlık tapınaklara gitmeyi bırak. Oraların benim evim olduğunu söylüyorsun. Benim evim dağlarda, ormanlarda, nehirlerde, göllerde, plajlarda. Yaşadığım her yerde sana olan aş

Raspberry Pi 7″ Dokunmatik Ekranı ve Parlaklık Ayarı

Raspberry pi için üretilmiş 7″ 800×480 60fps 10 nokta dokunmatik desteğine sahip ekran DSI bağlantısı ile Rasberry pi kartınıza takılıyor. Güç kaynağı için gpio 5volt pinini kullanabilirsiniz. Ekranın diğer bir özelliği arka tarafında Rpi kartınızı takabileceğiniz vida delikleri bulunması. Raspbian işletim sistemiyle sorunsuz ve kurulum gerektirmeden çalışıyor. Raspberry pi tek kart bilgisayar için bir ekran tercihi projenize göre farklı alternatifler içeriyor. Gpio pinlerine oturan ekranlar, hdmi ekranlar , analog video ekranlar( pek tercih edilmiyor), son olarak mini bilgisayarımız üzerindeki display portuna (DSI) bağlanan ekranlar. Kullanıma amacı tercihi belirleyecektir ancak sorunsuz bir kullanım için benim önerim hmdi ve DSI portuna takılan orjinal rpi ekranı. Ekranı kullanırken bazı kontroller için aşağıdaki komutları kullanıyoruz: Ekranı arka ışığını kapatmak için echo 1 > /sys/class/backlight/rpi_backlight/bl_power Ekranı arka ışığını açmak için e