Picproje Elektronik Sitesi

BİLGİSAYAR => Tek Kartta Bilgisayar (SBC) => Raspberry Pi => Konuyu başlatan: mur@t - 07 Kasım 2018, 12:36:46

Başlık: GPIO keyboard
Gönderen: mur@t - 07 Kasım 2018, 12:36:46
Merhaba,

RaspberryPi'de, GPIO portlarını klavye gibi kullanmak istiyorum. Örneğin GPIO5'e bağlı butona bastığımda klavyedeki X tuşuna basılmış olsun. Pi'de çalışan program da bu tuşa basılmış gibi davransın.
Nette bulduklarımı denedim, uinput, pikeyd, retrogame gibi bir kaç uygulamayı denedim ama başarılı olamadım.

Ne yapmak istediğimi de yazarsam daha açıklayıcı olabilir. Mumble adında bir uygulama var (teamspeak benzeri)
klavyeden atadığım bir tuşla bas-konuş yapabiliyorum ancak ben klavye kullanmak istemiyorum.

Bu konuda öneri ve yardımlarınızı rica ediyorum.
Başlık: Ynt: GPIO keyboard
Gönderen: mehmet - 08 Kasım 2018, 00:14:32
Python ile yapılabilir;
pip? install pyautogui
pip? install Xlib
Üstteki modülleri (?) ilgili versiyon için
kurunuz. (Belki yönetici yetkisi isteyebilir.)

import pyautogui
pyautogui.hotkey("shift", "x")
şeklinde kullanabilirsiniz.

Buna göre sadece harici pinden gelen
durum kontrol edilecek ve üstte yazdığım
komut ile istenilen tuş basımı yapılmış olur.
Bunun yanı sıra bir çok fare ve diğer kontrol
seçenekleri de mevcut.

Kaynak:
https://github.com/asweigart/pyautogui
Başlık: Ynt: GPIO keyboard
Gönderen: mur@t - 08 Kasım 2018, 10:47:18
cevabınız için teşekkür ederim.
pyautogui ve xlib kurulumunu yaptım ama linux ve python konusunda yeterli bilgim yok.
Bir py dosyası içine bu kodu yazıp çalıştırmam gerekiyor sanırım, peki basılan gPIO pinini nerede tanıtacağım?
Başlık: Ynt: GPIO keyboard
Gönderen: mufitsozen - 08 Kasım 2018, 13:13:45
Alıntı yapılan: mur@t - 08 Kasım 2018, 10:47:18cevabınız için teşekkür ederim.
pyautogui ve xlib kurulumunu yaptım ama linux ve python konusunda yeterli bilgim yok.
Bir py dosyası içine bu kodu yazıp çalıştırmam gerekiyor sanırım, peki basılan gPIO pinini nerede tanıtacağım?

google python GPIO diye ararsaniz "About 4,980,000 results (0.38 seconds)" diyor
Başlık: Ynt: GPIO keyboard
Gönderen: mur@t - 08 Kasım 2018, 13:43:57
Alıntı yapılan: mufitsozen - 08 Kasım 2018, 13:13:45google python GPIO diye ararsaniz "About 4,980,000 results (0.38 seconds)" diyor

ilginç, deneyeyim...
Başlık: Ynt: GPIO keyboard
Gönderen: mur@t - 09 Kasım 2018, 11:40:16
RPi'de komut satırından python'u çalıştırdığımda "import pyautogui" satırında hata alıyordum.
python3 ide ile çalıştırdığımda aşağıdaki kod çalışıyor. Atadığım "z" tuşu da basıyor.

şimdiki sorunum, bu  .py dosyasını komut satırında nasıl çalıştıracağım? (açılışta arkaplanda çalışması için)
"python button.py" şeklinde çalıştırdığımda hata veriyor. (cmd.jpg)



mport RPi.GPIO as GPIO

import time

import pyautogui


GPIO.setmode(GPIO.BCM)


GPIO.setup(23, GPIO.IN, pull_up_down=GPIO.PUD_UP) #Button to GPIO23

GPIO.setup(24, GPIO.OUT)  #LED to GPIO24


try:

    while True:

         button_state = GPIO.input(23)

         if button_state == False:

             GPIO.output(24, True)

             print('Button Pressed...')
             #pyautogui.hotkey("shift", "x")
             pyautogui.press('z')

             time.sleep(1)

         else:

             GPIO.output(24, False)

except:

    GPIO.cleanup()
(https://thumb.ibb.co/cf4xTV/cmd.jpg) (https://ibb.co/cf4xTV)
Başlık: Ynt: GPIO keyboard
Gönderen: volkanunal - 09 Kasım 2018, 12:32:53
python dosyaadi.py olarak çalıştırdığınızda python2 ile çalıştırıyor bildiğim kadarıyla default olarak python3 dosyaadi.py olarak denerseniz muhtelemen çalışacaktır.
Başlık: Ynt: GPIO keyboard
Gönderen: mur@t - 09 Kasım 2018, 14:26:57
Alıntı yapılan: volkanunal - 09 Kasım 2018, 12:32:53python dosyaadi.py olarak çalıştırdığınızda python2 ile çalıştırıyor bildiğim kadarıyla default olarak python3 dosyaadi.py olarak denerseniz muhtelemen çalışacaktır.

Merhaba,
aslında python3 dosyaadi.py olarak çağırıyordum ama bunu py dosyasının olduğu klasörde yapıyordum.

python3 klasöradi/dosyaadi.py yapınca çalıştı.