LIRC iletim yapmaz (irsend: donanım gönderme işlemini desteklemez)


11

Ahududu Pi 2 ve kızılötesi kalkan ile evimde bir IR HVAC ünitesini kontrol etmeye çalışıyorum (buraya bakın: http://bit.ly/29iC0lr ).

IR kalkanı ürün sayfasındaki talimatları birkaç başka yerden ipuçları ile izledim ve HVAC uzaktan kumandadan sinyal almak harika çalışıyor. Bir .conf dosyası oluşturabildim ve irsend, LIST komutunu kullandığımda yapılandırdığım düğmeleri görüyor, ancak SEND_ONCE'ı denediğimde şu yanıtı alıyorum:

irsend: hardware does not support sending

Çeşitli işletim sistemlerini (piCore 6.1-v7 ve Raspbian Jesse 2016-05-27 ve 2015-11-21 dahil) ve LIRC'nin iki sürümünü (0.9.0 ve 0.9.4) denemek için birkaç saat geçirdim, ancak her zaman aynı sonucu aldım.

IR LED'in, GPIO pinini manuel olarak çalıştıran bir dijital kamera ve bir python betiği kullanarak çalıştığını doğruladım.

Birisi bu sorunu gidermek için beni doğru yöne yönlendirebilir mi? Öğrenmek için herhangi bir yolu var mı neden LIRC benim donanım bir verici yok zannediyor?

Şimdiden teşekkürler.

Not: /boot/config.txt dosyam lirc-rpi için bu satırı içerir

dtoverlay=lirc-rpi,gpio_in_pin=18,gpio_out_pin=17

[7-7-2016 DÜZENLE] Bu sayfadaki Sorun Giderme bölümündeki çeşitli komutlardan çıktılar da dahil olmak üzere bazı ek bilgiler: http://aron.ws/projects/lirc_rpi/ Çıktısı cat /sys/kernel/debug/gpiodoğru görünmüyor, ancak ' bu konuda ne yapacağımı bilmiyorum. : - \

/Etc/rc.local içinde aşağıdaki satır var:

modprobe lirc_rpi gpio_in_pin=18 gpio_out_pins=17

Ben de benzer bir bit / etc / modülleri denedim ama herhangi bir fark yoktu.

pi@raspberrypi:~ $ ls -l /dev/lirc*
crw-rw---- 1 root video 244, 0 Jul  7 11:27 /dev/lirc0
lrwxrwxrwx 1 root root      21 Jul  7 11:27 /dev/lircd -> ../var/run/lirc/lircd

pi@raspberrypi:~ $ dmesg | grep lirc
[    5.219904] lirc_dev: IR Remote Control driver registered, major 244
[    5.230067] lirc_rpi: module is from the staging directory, the quality is unknown, you have been warned.
[    6.196796] lirc_rpi: auto-detected active low receiver on GPIO pin 18
[    6.197243] lirc_rpi lirc_rpi: lirc_dev: driver lirc_rpi registered at minor = 0
[    6.197248] lirc_rpi: driver registered!


pi@raspberrypi:~ $ sudo cat /sys/kernel/debug/gpio
GPIOs 0-53, platform/3f200000.gpio, pinctrl-bcm2835:
 gpio-35  (?                   ) in  hi
 gpio-47  (?                   ) out lo


pi@raspberrypi:~ $ cat /proc/interrupts
           CPU0       CPU1       CPU2       CPU3
 16:          0          0          0          0   ARMCTRL  16 Edge      bcm2708_fb dma
 20:       1500          0          0          0   ARMCTRL  20 Edge      DMA IRQ
 32:     145314          0          0          0   ARMCTRL  32 Edge      dwc_otg, dwc_otg_pcd, dwc_otg_hcd:usb1
 49:          0          0          0          0   ARMCTRL  49 Edge      3f200000.gpio:bank0
 50:          0          0          0          0   ARMCTRL  50 Edge      3f200000.gpio:bank1
 65:         26          0          0          0   ARMCTRL  65 Edge      3f00b880.mailbox
 66:          2          0          0          0   ARMCTRL  66 Edge      VCHIQ doorbell
 75:          1          0          0          0   ARMCTRL  75 Edge
 77:        120          0          0          0   ARMCTRL  77 Edge      DMA IRQ
 82:        192          0          0          0   ARMCTRL  82 Edge      mmc0
 83:          5          0          0          0   ARMCTRL  83 Edge      uart-pl011
 96:          0          0          0          0   ARMCTRL  96 Edge      arch_timer
 97:       3798       2724       1275       1139   ARMCTRL  97 Edge      arch_timer
FIQ:              usb_fiq
IPI0:          0          0          0          0  CPU wakeup interrupts
IPI1:          0          0          0          0  Timer broadcast interrupts
IPI2:       2225       2478       3697       2901  Rescheduling interrupts
IPI3:          7          6          8          9  Function call interrupts
IPI4:          3          5          0          1  Single function call interrupts
IPI5:          0          0          0          0  CPU stop interrupts
IPI6:          0          0          0          0  IRQ work interrupts
IPI7:          0          0          0          0  completion interrupts

pi@raspberrypi:~ $ lsmod
Module                  Size  Used by
cfg80211              419759  0
rfkill                 16659  2 cfg80211
8192cu                528485  0
evdev                  10226  1
snd_bcm2835            19739  0
bcm2835_gpiomem         3023  0
snd_pcm                74833  1 snd_bcm2835
snd_timer              18164  1 snd_pcm
lirc_rpi                6638  0
snd                    52116  3 snd_bcm2835,snd_timer,snd_pcm
lirc_dev                8169  1 lirc_rpi
rc_core                16910  1 lirc_dev
uio_pdrv_genirq         2966  0
uio                     8228  1 uio_pdrv_genirq
ipv6                  341892  30

Soruyu düzenleyebilir ve LIRC ile ilgili yaptığınız girişleri ekleyebilir /boot/config.txtmisiniz?
joan

Tamam, soruyu güncelledim.
gq9000

Lirc_rpi proje sayfasından bazı sorun giderme bilgileri içeren başka bir güncelleme. Modül gpio pinlerini doğru şekilde ayırmıyor gibi görünüyor. Bunu düzeltmek için herhangi bir fikir ??
gq9000

IR'nin çalıştığını tam olarak nasıl doğruladınız? Lütfen bu python betiğini paylaşabilir misiniz? Ben de aynı sorun var, benim konfigürasyon iyi görünüyor, mode2 üzerinden okuma iyi çalışıyor, ama irsend hala bu hatayı veriyor.
m1gu3l

Artık betiğim yok ama muhtemelen böyle bir şeydi: rpiblog.com/2012/09/… Sadece çıkış pimini (17) kullanmak, çalıştırmak ve bir dijital kamera veya cep telefonu kamera işaret bu betiği değiştirmek LED. LED'in ortasında yanıp sönen beyaz bir ışık görmelisiniz.
gq9000

Yanıtlar:


10

Benim için bu ek adımı yardımcı:
düzenlemek /etc/lirc/lirc_options.confve set
driver = devinput
için
driver = default
ve sonra yeniden veya lircd hizmetini yeniden


4

Tamam, cevabı buldum, ya da Linux hakkında benden çok daha bilgili biri buldum ( https://raspberrypi.stackexchange.com/users/49162/jonathan-dieter ). :)

Lirc_rpi modülünü / etc / modules veya /etc/rc.local içine yüklemek yerine, /etc/modprobe.d/ dosyasına yeni bir yapılandırma dosyası eklemeyi önerdi (benim durumumda /etc/modprobe.d/ir-remote.conf ) aşağıdaki satırla:

options lirc_rpi gpio_in_pin=18 gpio_out_pin=17

Bunun neden fark yarattığına dair en iyi tahminim, modülün / etc / modules veya rc.local komutundan ÖNCE varsayılan ayarlarla yüklenmesidir. Zaten yüklü olduğundan, sistem sonraki denememi görmezden geldi ve çıkış pimi hiçbir zaman doğru bir şekilde yapılandırılmadı (Bu Raspbian Jessie BTW altında).


HVAC ünitesi hakkında yardımcı olabilecek bir not daha. Uzaktan kumandadan komutları kaydetmek için röportajı kullanamadım. Görünüşe göre HVAC sistemleri bir TV veya VCR'den biraz farklı çalışıyor.

Bu iki sayfa ( http://www.instructables.com/id/Reverse-engineering-of-an-Air-Conditioning-control/?ALLSTEPS ve http://absurdlycertain.blogspot.com/2013/03/lirc-raspi -remote-control-configuration.html esp. ilk iki yorum) mod2'den ham çıkışın nasıl kaydedileceğimi, normalleştirdiğimi ve sonra irsend ile ilettiğimi anlamama yardımcı oldu.


1

Bu kılavuzu izledikten sonra: http://www.raspberrypiwiki.com/index.php/Raspberry_Pi_IR_Control_Expansion_Board Bu soruda belirtilenle aynı sorunla karşılaştım:

irsend: hardware does not support sending

Bu satırı eklemeyi denedim:

options lirc_rpi gpio_in_pin=18 gpio_out_pin=17

/etc/modprobe.d/ir-remote.conf içinde, ancak bu da yardımcı olmadı.

LIRC arka plan programını aşağıdaki komutla başlattığımda:

sudo lircd --device /dev/lirc0

işe yaradı! Aygıtın /etc/lirc/hardware.conf dosyasında yapılandırdığınızla aynı olması gerekir. Yani adımlar:

  1. Bu kılavuzu izleyin: http://www.raspberrypiwiki.com/index.php/Raspberry_Pi_IR_Control_Expansion_Board
  2. "IR İletim İşlevi" başlıklı 5. bölüme geldiğinizde hata alıyorsunuz: irsend: hardware does not support sending
  3. Sonra konsolda aşağıdaki komutu çalıştırın: sudo lircd --device /dev/lirc0LIRC arka plan programını başlatmak için
  4. Şimdi koş irsend SEND_ONCE /home/pi/lircd.conf KEY_VIDEO_PREV

Aynı sonuçları aldım. Varsayılan yükleme çalışmaz, ancak sağladığınız komutla çalışır. Bunun neden doğru olduğuna dair bir fikrin var mı? Ben init.d değiştirmek istiyorum, böylece uygun komut önyükleme sırasında çalıştırılır.
tim11g
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.