İçindekiler:

AIY Evrensel IR Uzaktan Kumanda: 5 Adım
AIY Evrensel IR Uzaktan Kumanda: 5 Adım

Video: AIY Evrensel IR Uzaktan Kumanda: 5 Adım

Video: AIY Evrensel IR Uzaktan Kumanda: 5 Adım
Video: ÇOOOK UZAKTAN KUMANDA (Alpsmart AS-840IR) 2024, Kasım
Anonim
AIY Evrensel IR Uzaktan Kumanda
AIY Evrensel IR Uzaktan Kumanda

Bu talimat, bir AIY evrensel kızılötesi uzaktan kumandanın nasıl yapıldığını açıklar. Bu, sesinizi kullanarak herhangi bir TV, soundbar, digibox, dvd veya bluray oynatıcıyı kontrol etmek için kullanılabilir.

Herhangi bir uzaktan kumandadan kızılötesi sinyali kaydetmek için kullanılabilecek bir IR alıcısı içerdiğinden evrensel olarak adlandırıyorum.

AIY projesi, IR sinyalini kaydetmek ve iletmek için LIRC programını kullanır.

Adım 1: PCB Yapın

PCB yap
PCB yap
PCB yap
PCB yap

Parça listesi:

İki adet 940nm 5mm kızılötesi LED yayıcı

Bir TSOP38238 kızılötesi alıcı

Bir adet 2n3904 transistör

Bir adet 10 ohm direnç

Bir veroboard

Dört Tekli Konnektör (Opsiyonel - Altı pinli bir konnektörü tekli konnektörler halinde kestim)

AIY şapkasına bağlanacak kablolar.

IR LED'lerin uzun ayağının ilk sırada ve kısa ayağın ikinci sırada olduğundan emin olun. İkinci sırada uzun bacaklı ve üçüncü sırada kısa bacaklı ikinci LED.

Transistörün tabanı üçüncü, kollektör dördüncü ve emitör beşinci üzerinde olmalıdır. Direncin düz tarafının konektöre baktığından emin olun.

Direnç, beşinci sıra ile sekizinci sıra arasında gider.

Birinci sırayı yedinci sıraya bağlamak için kısa bir tel parçası kullanın.

Kızılötesi alıcıyı yedinci, sekizinci ve dokuzuncu sıraya bağlayın.

Bağlayıcıları bir, dört, sekiz ve dokuzuncu sıralara ekleyin.

Bağlayıcılar:

Birinci sıra - +5v güç

Dördüncü sıra - verici sinyali

Sekizinci sıra - Zemin

Dokuzuncu sıra - alıcı sinyali

2. Adım: AIY Hat'a bağlanın

AIY Hat'a bağlanın
AIY Hat'a bağlanın
AIY Hat'a bağlanın
AIY Hat'a bağlanın

Bağlantıları çok daha kolay hale getirmek için AIY'ime başlık pimleri lehimledim.

Sinyal için kullandığım pinler Servo 0 (GPIO 26) ve Servo 5 (GPIO 24). Ayrıca Servo pinlerinin üzerindeki yatay pinden +5v kullandım. Servo 0'ın yanındaki GND'den zemini aldım ama siz istediğiniz toprağı kullanabilirsiniz.

Uygun kabloları kullanarak AIY şapkasını tahtaya şu şekilde bağladım:

+5V birinci sıraya

Servo 0 (GPIO 26) dördüncü sıraya

GND 8. sıraya

Servo 5 (GPIO 24) dokuzuncu sıraya.

3. Adım: LIRC'yi yükleyin

AIY'yi zaten kurduğunuzu ve test ettiğinizi varsayarsak:

LIRC'yi kurmamız gerekiyor. Mirza irwan Osman'ın bu değerli talimatını takip edin:

www.instructables.com/id/Install-Linux-Infrared-Remote-Control-LIRC-Package

VEYA alternatif bir talimat burada Alex Bane tarafından bulunabilir:

alexba.in/blog/2013/01/06/setting-up-lirc-on-the-raspberrypi/

NOT: Kurulumum için /boot/config.txt dosyasının aşağıdakilere sahip olduğundan emin olmam gerekiyordu:

dtoverlay=lirc-rpi, gpio_in_pin=24, gpio_out_pin=26

4. Adım: Cihazlarınız için LIRC Dosyaları Alın veya Yapın

Bu sonraki adım, kullanmak istediğiniz cihazlar için uzaktan kumanda ile ilgili ayrıntıları içeren lircd.conf dosyasını oluşturur.

Bu dosyayı yapmanın iki yolu vardır:

1. Şanslıysanız, cihazınız için LIRC sayfalarında mevcut bir dosya bulabilirsiniz.

2. Bulamıyorsanız, IR alıcısını ve uzaktan kumandanızı kullanarak bir dosya kaydetmeniz gerekecektir.

1. adım için LIRC ana sayfasına gidin ve desteklenen cihazlar listesine bakın:

www.lirc.org/

Cihaza ait dosyayı bulabilirseniz, dosyadaki bilgileri lircd.conf dosyası /etc/lirc içine aktarmanız gerekir.

AIY'm başlıksız olduğundan, lirc.conf'ta değişiklik yapmak için WINScP kullanıyorum.

İhtiyacınız olan bilgiler "uzaktan başla" ile başlar ve "uzaktan kumandayı sonlandır" ile biter

NOT: Birden fazla cihazı kontrol etmek istiyorsanız, ek uzaktan kumanda kodunu mevcut "uzaktan kumandayı sonlandır"dan sonra aynı dosyaya eklemeniz yeterlidir. Her uzaktan kumandanın benzersiz bir adı olduğundan emin olun. Televizyonum için "mytv" ve sky digibox vs. için "sky" kullanıyorum.

Cihazınızın kodunu bulamıyorsanız, kaydetmeniz gerekecektir.

LIRC kullanarak her bir uzaktan kumandayı nasıl kaydedeceğinizi öğrenmek için bu talimatı izleyin:

www.instructables.com/id/Record-Infrared-Codes-of-Any-Remote-Control-Unit-f/

İlk uzaktan kumandayı kaydettikten sonra, tüm uzaktan kumandaları kaydedene kadar işlemi tekrarlayın. Daha sonra lirc.conf dosyasını kaydettiğiniz tüm kodlarla güncelleyebilirsiniz. Soundbar'ım için bunu yapmam gerekiyordu.

Adım 5: Cihazlarınızı Kontrol Etmek için AIY Kodlayın

IR vericisini AIY'den kontrol etmek için "assistant_library_with_local_commands_demo.py" dosyasında gerekli değişiklikleri yapın.

Kodunuzun çalışıp çalışmadığını görmek için Start Dev Terminal'den "assistant_library_with_local_commands_demo.py" komutunu çalıştırabilirsiniz.

Buradaki talimatları izleyerek AIY'mi açılışta otomatik olarak başlatıyorum:

aiyprojects.withgoogle.com/voice/#makers-guide-3-4--run-your-app-otomatik olarak

Kodunuzu değiştirmek istiyorsanız, AIY'nin çalışmasını durdurmanız ve ardından aşağıdakileri kullanarak yeniden başlatmanız gerektiğini unutmayın:

sudo hizmeti my_assistant durdurma

sudo hizmeti my_assistant başlangıcı

Ekli kod, mevcut çalışma programımı içerir.

(Bu kodun internet radyosu gibi ek özellikler de içerdiğini unutmayın).

Kod, gerekli IR sinyalini iletmek için LIRC send_start ve send_stop gönderme varyasyonlarını kullanır. Sinyali başlatma ve durdurma arasında bir duraklamanın gerekli olduğunu buldum ve bu, cihazlar arasında değişiklik gösterebilir (Panasonic TV'm gökyüzü kutusundan daha uzun bir sinyal gerektirir). Yani mesela:

subprocess.call('irsend SEND_START mytv KEY_POWER', shell=True)

zaman.uyku(0.5)

subprocess.call('irsend SEND_STOP mytv KEY_POWER', shell=True)

Sinyal kombinasyonlarını, örneğin sky TV kanalını göndermek için, bir kanal koduna bir cümle atanan bir liste oluşturdum. Bazen AIY'nin her zaman doğru kelimeyi duymayacağını unutmayın, bu yüzden ifadenin varyasyonlarını da ekledim (bbc 1 ve bbc one gibi veya AIY'nin her zaman geri döndüğü gibi 'rehber' ve 'dave' kelimesi gibi. 'dave' dedi - bu benim aksanım olmalı!). Daha sonra listeden üç karakter kodunu alıp her numarayı iletecek bir rutin kullandım (bkz. ##Sky kanal değiştirme rutini## modülü)

Birkaç cihaza sinyal kombinasyonları göndermek de mümkündür. Örneğin, TV'ye güç gönderen, ses çubuğuna güç gönderen, gökyüzü kutusunu başlatan ve BBC 1'e geçiren bir "sistem açık" rutinim var.

IR verici AIY ile çalıştığında, onu kullanmak için tüm farklı kombinasyonları düşünmek mümkündür. Örneğin, ses çubuğundaki ses seviyesini ayarlamak için bir zaman komutu gönderebilirim.

Mutlu AIY IR uzaktan kumanda!

Önerilen: