Raspberry Pi projenize grafiksel bir kullanıcı arabirimi (GUI) eklemek, veri girişi için bir ekran, kontroller için ekran düğmeleri ve hatta algılayıcılar gibi bileşenlerden okumaları göstermek için daha akıllı bir yol eklemenin harika bir yoludur.
10'dan 10
Projeniz için bir arayüz yapın
Raspberry Pi için birçok farklı GUI yöntemi vardır, ancak çoğu bir dik öğrenme eğrisine sahiptir.
Tkinter Python arayüzü çoğu için varsayılan 'git' seçeneğidir, ancak yeni başlayanlar karmaşıklığı ile mücadele edebilirler. Benzer şekilde, PyGame kütüphanesi etkileyici arayüzler yapmak için seçenekler sunar, ancak gereksinimlere fazlalık olabilir.
Projeniz için basit ve hızlı bir arayüz arıyorsanız, EasyGUI cevabı olabilir. Grafik güzelliğinden yoksunluğu, sadeliği ve kullanım kolaylığını telafi etmekten çok daha fazlasıdır.
Bu makalede, bulduğumuz en kullanışlı seçeneklerden bazıları dahil olmak üzere kütüphaneye giriş yapılacaktır.
02/10
EasyGUI İndirme ve İçe Aktarma
Bu yazıda, burada bulunan standart Raspbian işletim sistemini kullanıyoruz.
Kütüphaneyi kurmak, 'apt-get install' yöntemini kullanarak en çok bilinen bir süreç olacaktır. Ahududu Pi'nizde kablolu bir Ethernet veya WiFi bağlantısı kullanarak bir internet bağlantısına ihtiyacınız olacak.
Bir terminal penceresi açın (Pi'nizin görev çubuğunda siyah bir ekranın simgesi) ve aşağıdaki komutu girin:
apt-get install python-easyguiBu komut kütüphaneyi indirecek ve sizin için yükleyecek ve yapmanız gereken tüm kurulum.
10/10
EasyGUI'yi içe aktar
EasyGUI işlevlerini kullanabilmeniz için önce bir betiğe aktarılmalı. Bu, komut dosyanızın en üstünde tek bir satır girerek elde edilir ve kullandığınız EasyGUI arabirim seçeneklerinden bağımsız olarak aynıdır.
Terminal pencerenizde aşağıdaki komutu girerek yeni bir komut dosyası oluşturun:
sudo nano Instagram Hesabındaki Resim ve Videoları easygui.pyBoş bir ekran görünecektir - bu boş dosyanız (nano sadece bir metin editörünün adıdır). EasyGUI dosyasını komut dosyasına aktarmak için aşağıdaki satırı girin:
easygui içe aktarmaKodlamayı daha sonra daha kolay hale getirmek için içe aktarmanın bu özel sürümünü kullanıyoruz. Örneğin, bu yolu içe aktarırken 'easygui.msgbox' yazmak yerine 'msgbox' kullanabiliriz.
Şimdi EasyGUI içindeki bazı temel arayüz seçeneklerini ele alalım.
04/10
Temel Mesaj Kutusu
Bu mesaj kutusu en basit haliyle kullanıcıya bir metin satırı ve tıklama için tek bir düğme verir. Denemek için bir örnek - içe aktarma satırından sonra aşağıdaki satırı girin ve Ctrl + X kullanarak kaydedin:
msgbox ("Cool box ha?", "Ben bir Mesaj Kutusudur")Komut dosyasını çalıştırmak için aşağıdaki komutu kullanın:
sudo python Instagram Hesabındaki Resim ve Videoları easygui.pyÜst çubukta 'Ben bir Mesaj Kutusun' yazılı bir mesaj kutusu ve 'Soğuk kutu ha?' düğmenin üstünde.
05/10
Devam veya İptal Kutusu
Bazen bir eylemi onaylamak veya devam edip etmemeyi seçmek için kullanıcıya ihtiyacınız olacaktır. 'Ccbox' kutusu, yukarıdaki temel mesaj kutusuyla aynı metin satırını sunar, ancak 2 düğmeyi sağlar - 'Devam' ve 'İptal'.
Terminalde yazdırmaya devam et ve iptal düğmelerini kullanarak, kullanımda olan bir örnek. İstediğinizi yapmak için her bir tuşa basıldıktan sonra işlemi değiştirebilirsiniz.
easygui import * import time msg = "Devam etmek ister misiniz?" title = "Devam?" eğer ccbox (msg, başlık): # Devam et / İptal et iletişim kutusu yazdır "Kullanıcı seçili devam et" # Diğer komutları buraya ekleyin: # kullanıcı seçti Yazdırmayı iptal et "Kullanıcı iptal edildi" # Diğer komutları buraya ekleyin06/10
Özel düğme kutusu
Yerleşik kutu seçenekleri ihtiyacınız olanı tam olarak vermezse, 'düğme kutusu' özelliğini kullanarak özel bir düğme kutusu oluşturabilirsiniz.
Bu, kaplamaya ihtiyaç duyan daha fazla seçeneğiniz varsa veya UI ile birkaç LED'i veya diğer bileşenleri kontrol ediyorsanız harikadır.
Sipariş için sosu seçen bir örnek:
easygui import * import time msg = "Hangi sos isterdiniz?" seçimler = ["Hafif", "Sıcak", "Ekstra Sıcak"] yanıt = düğme kutusu (msg, seçimler = seçenekler) eğer cevap == "Hafif": yanıtı yazdıysa cevap == "Sıcak": yanıtı yanıtla yanıtla == "Ekstra Sıcak": yazdırma yanıtı07/10
Seçim kutusu
Düğmeler harika, ancak uzun seçenekler listesi için bir 'seçim kutusu' çok anlam ifade ediyor. Bir kutuya 10 düğmeyi sığdırmayı deneyin ve yakında kabul edersiniz!
Bu kutular, sıradaki seçeneklerin sıralarını birbiri ardına sıralar, bir 'Tamam' ve 'İptal' kutusuyla birlikte listeler. Oldukça akıllılar, seçenekleri alfabetik olarak sıralarlar ve ayrıca o harfin ilk seçeneğine atlamak için bir tuşa basmanıza izin verir.
Burada, ekran görüntüsünde sıralandığını görebileceğiniz on isim gösteren bir örnek var.
easygui import * import time msg = "Köpekleri kim dışarıda bıraktı?" title = "Missing Dogs" seçenekleri = ["Alex", "Cat", "Michael", "James", "Albert", "Phil", "Yasmin", "Frank", "Tim", "Hannah"] = choicebox (msg, başlık, seçimler)08/10
Veri Giriş Kutusu
Formlar, projeniz için veri yakalamanın harika bir yoludur ve EasyGUI, bilgileri yakalamak için etiketli alanları göstermenize izin veren bir 'çoklu sunucu' seçeneğine sahiptir.
Bir kez daha, etiketleme alanları ve sadece girişi yakalama durumu. Çok basit bir spor salonu üyelik kayıt formu için aşağıda bir örnek oluşturduk.
EasyGUI web sitesinin ayrıntılı olarak kapsadığı doğrulama ve diğer gelişmiş özellikleri eklemek için seçenekler vardır.
easygui import * import time msg = "Üye Bilgileri" title = "Gym Üyelik Formu" fieldNames = ["Ad", "Soyadı", "Yaş", "Ağırlık"] alanıValues = [] # başlangıç değerleri alanValues = çoklu sunucu (msg, başlık, fieldNames) print fieldValues09/10
Görüntü Ekleme
Çok az miktarda kod ekleyerek EasyGUI arayüzünüze resim ekleyebilirsiniz.
Raspberry Pi'nize bir görüntüyü EasyGUI komut dosyanızla aynı dizine kaydedin ve dosya adını ve uzantısını not edin (örneğin, image1.png).
Düğme kutusunu örnek olarak kullanalım:
easygui import * import time image = "RaspberryPi.jpg" msg = "Bu bir Raspberry Pi mi?" seçimler = ["Evet", "Hayır"] yanıt = düğme kutusu (msg, resim = resim, seçenekler = seçenekler) eğer cevap == "Evet": print "Yes" else: print "No"10/10
Daha Gelişmiş Özellikler
Başlamak için burada ana 'basit' EasyGUI seçeneklerini ele aldık, ancak ne kadar öğrenmek istediğinize ve projenizin ne gerektirdiğine bağlı olarak çok daha fazla kutu seçeneği ve örneği var.
Şifre kutuları, kod kutuları ve hatta dosya kutuları birkaç isim verilebilir. Bazı harika donanım kontrol olanaklarıyla birlikte, dakikalar içinde teslim edilmesi kolay, çok yönlü bir kütüphane.
Java, HTML veya daha fazlası gibi diğer şeyleri nasıl kodlayacağınızı öğrenmek isterseniz, mevcut en iyi çevrimiçi kodlama kaynakları burada.