LIRC संचारित नहीं करेगा (irsend: हार्डवेयर भेजने का समर्थन नहीं करता)


11

मैं एक रास्पबेरी पाई 2 और एक अवरक्त ढाल के साथ अपने घर में एक आईआर एचवीएसी इकाई को नियंत्रित करने की कोशिश कर रहा हूं (यहां देखें: http://bit.ly/29iC0lr )।

मैंने आईआर ढाल उत्पाद पृष्ठ पर कुछ अन्य स्थानों से युक्तियों के साथ निर्देशों का पालन किया और एचवीएसी रिमोट के कामों से संकेत प्राप्त करने के लिए महान काम करता है। मैं एक .conf फ़ाइल बनाने में सक्षम था और जब मैं LIST कमांड का उपयोग करता हूं तो कॉन्फ़िगर किए गए बटन देखता है, लेकिन जब मैं SEND_ONCE का प्रयास करता हूं, तो मुझे यह प्रतिक्रिया मिलती है:

irsend: hardware does not support sending

मैंने कई घंटे बिताए विभिन्न OSes (piCore 6.1-v7 और Raspbian Jesse 2016-05-27 और 2015-11-21 सहित) और LIRC के दो संस्करणों (0.9.0 और 0.9.4) की कोशिश की, लेकिन हमेशा एक ही परिणाम मिला।

मैंने पुष्टि की कि आईआर एलईडी एक डिजिटल कैमरा और एक पायथन स्क्रिप्ट का उपयोग करके काम कर रहा है जो मैन्युअल रूप से GPIO पिन संचालित करता है।

क्या कोई मुझे इस समस्या का निवारण करने के लिए सही दिशा में ले जा सकता है? क्या यह पता लगाने का कोई तरीका है कि LIRC को ऐसा क्यों लगता है कि मेरे हार्डवेयर में ट्रांसमीटर नहीं है?

अग्रिम में धन्यवाद।

नोट: my /boot/config.txt में lirc-rpi के लिए यह लाइन शामिल है

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

[EDIT 7-7-2016] यहां कुछ अतिरिक्त जानकारी दी गई है, जिसमें इस पृष्ठ पर समस्या निवारण अनुभाग में कई कमांडों से आउटपुट शामिल हैं: http://aron.ws/projects/lirc_rpi/ का आउटपुट cat /sys/kernel/debug/gpioसही नहीं दिखता है, लेकिन मैं डॉन ' पता नहीं इसके बारे में क्या करना है। : - \

मेरे पास /etc/rc.local में निम्न पंक्ति है:

modprobe lirc_rpi gpio_in_pin=18 gpio_out_pins=17

मैंने भी / etc / मॉड्यूल में समान कोड की कोशिश की, लेकिन इससे कोई फर्क नहीं पड़ा।

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

क्या आप इस प्रश्न को संपादित कर सकते हैं और आपके द्वारा की गई LIRC संबंधित प्रविष्टियों को शामिल कर सकते हैं /boot/config.txt?
जोहान

ठीक है, मैंने सवाल अपडेट किया।
gq9000

Lirc_rpi के प्रोजेक्ट पेज से कुछ समस्या निवारण जानकारी के साथ एक और अपडेट। ऐसा लगता है कि मॉड्यूल सही ढंग से gpio पिन आवंटित नहीं कर रहा है। कैसे तय करने के बारे में कोई विचार ??
gq9000

आपने वास्तव में कैसे पुष्टि की है कि आईआर काम कर रहा है? क्या आप कृपया इस अजगर की स्क्रिप्ट को साझा कर सकते हैं? मुझे एक ही समस्या है, मेरा कॉन्फ़िगरेशन ठीक है, मोड 2 के माध्यम से पढ़ना ठीक काम करता है, लेकिन फिर भी मुझे यह त्रुटि मिलती है।
m1gu3l

मेरे पास अब स्क्रिप्ट नहीं है, लेकिन शायद यह कुछ इस तरह था: rpiblog.com/2012/09// आउटपुट पिन (17) का उपयोग करने के लिए इस स्क्रिप्ट को बदलें, इसे चलाएं और डिजिटल कैमरा या अपने सेल फोन कैमरे को इंगित करें एलईडी पर। आपको एलईडी के केंद्र में एक धुंधली सफेद रोशनी दिखाई दे रही है।
gq9000

जवाबों:


10

मेरे लिए इस अतिरिक्त कदम ने मदद की:
संपादित करें /etc/lirc/lirc_options.confऔर सेट
driver = devinput
करें
driver = default
और फिर lircd सेवा को रिबूट या पुनरारंभ करें


4

ठीक है, मुझे इसका जवाब मिला, या मेरे मुकाबले लिनक्स के बारे में बहुत अधिक जानकार ( https://raspberrypi.stackexchange.com/users/49162/jonathan-dieter ) ने इसे पाया। :)

/ Etc / मॉड्यूल / /etc/rc.local में lirc_rpi मॉड्यूल लोड करने के बजाय, उन्होंने /etc/modprobe.d/ (मेरे मामले /etc/modprobe.d/ir-remote.conf में एक नई कॉन्फ़िग फ़ाइल जोड़ने का सुझाव दिया ) निम्नलिखित पंक्ति के साथ:

options lirc_rpi gpio_in_pin=18 gpio_out_pin=17

मेरा सबसे अच्छा अनुमान यह है कि इस अंतर के कारण यह है कि मॉड्यूल डिफ़ॉल्ट सेटिंग्स के साथ लोड हो रहा था / कमांड / मॉड्यूल या rc.local में आदेश से पहले चला गया। चूंकि यह पहले से ही लोड था, सिस्टम ने मेरे बाद के प्रयास को नजरअंदाज कर दिया और आउट पिन को कभी भी सही तरीके से कॉन्फ़िगर नहीं किया गया था (यह रास्पियन जेसी बीटीडब्ल्यू के तहत है)।


HVAC इकाई के बारे में एक अन्य नोट जो मददगार हो सकता है। मैं रिमोट कंट्रोल से कमांड्स को बचाने के लिए irrecord का उपयोग करने में सक्षम नहीं था। ऐसा लगता है कि एचवीएसी सिस्टम टीवी या वीसीआर की तुलना में थोड़ा अलग काम करता है।

ये दो पृष्ठ ( http://www.instructables.com/id/Reverse-engineering-of-an-Air-Conditioning-control/?ALLSTEPS और http://absurdlyearch.blogspot.com/2013/03/lirc-raspi) -remote-control-configuration.html esp। पहले दो टिप्पणियों) ने मुझे यह पता लगाने में मदद की कि कैसे मोड 2 से कच्चे आउटपुट को रिकॉर्ड किया जाए, इसे सामान्य किया जाए और फिर इसे irsend के साथ प्रसारित किया जाए।


1

इस गाइड का पालन करने के बाद: http://www.raspberrypiwiki.com/index.php/Raspberry_Pi_IR_Control_Expansion_Board मुझे इस प्रश्न में बताई गई एक ही समस्या का सामना करना पड़ा:

irsend: hardware does not support sending

मैंने इस पंक्ति को जोड़ने का प्रयास किया:

options lirc_rpi gpio_in_pin=18 gpio_out_pin=17

in /etc/modprobe.d/ir-remote.conf, लेकिन इससे भी मदद नहीं मिली।

जब मैंने LIRC डेमॉन को निम्नलिखित कमांड के साथ शुरू किया:

sudo lircd --device /dev/lirc0

इसने काम कर दिया! आपके द्वारा /etc/lirc/hardware.conf फ़ाइल में कॉन्फ़िगर किए जाने के साथ डिवाइस का होना आवश्यक है। तो कदम हैं:

  1. इस गाइड का पालन करें: http://www.raspberrypiwiki.com/index.php/Raspberry_Pi_IR_Control_Expansion_Board
  2. जब आप "IR संचारण समारोह" बिंदु 5. नामक अनुभाग में आते हैं और आपको त्रुटि मिलती है: irsend: hardware does not support sending
  3. फिर कंसोल में निम्न कमांड चलाएँ: sudo lircd --device /dev/lirc0LIRC डेमॉन शुरू करने के लिए
  4. अब दौड़ो irsend SEND_ONCE /home/pi/lircd.conf KEY_VIDEO_PREV

मेरे पास एक ही परिणाम है। डिफ़ॉल्ट इंस्टॉल काम नहीं करता है, लेकिन यह आपके द्वारा प्रदान की गई कमांड के साथ काम करता है। क्या आपको इस बात की कोई समझ है कि यह सच क्यों है? मैं init.d को संशोधित करना चाहूंगा ताकि बूट पर उचित कमांड चलाया जा सके।
11
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.