2016-11-16 3 views
-1

Я пытаюсь заставить LIRC работать в моем коде. Я создал некоторый тестовый код, но я получаю эту ошибку:LIRC on Raspberry pi не была инициализирована ошибка

Traceback (most recent call last): 
    File "ir_remote.py", line 5, in <module> 
    config = lirc.nextcode() 
    File "lirc.pyx", line 183, in lirc.nextcode (lirc/lirc.c:2983) 
    File "lirc.pyx", line 217, in lirc._is_init_or_error (lirc/lirc.c:3472) 
lirc.InitError: lirc has not been initialised. 

Код я создал:

#!/usr/bin/python 
import lirc, time 
import RPi.GPIO as GPIO 

config = lirc.nextcode() 

sockid = lirc.init(blocking = False) 

if config == 'KEY_DOWN': 
    print 'Red OFF' 
if config == 'KEY_UP': 
    print 'Light Red' 
if config == 'KEY_LEFT': 
    print 'Red' 
if config == 'KEY_RIGHT': 
    print 'Green OFF' 
if config == 'KEY_OK': 
    print 'Light Green' 
if config == 'KEY_1': 
    print 'Green' 
if config == 'KEY_2': 
    print 'Blue OFF' 
if config == 'KEY_3': 
    print 'Light Blue' 
if config == 'KEY_4': 
    print 'BLUE' 
+3

Я ничего не знаю о 'lirc', но, глядя на ваш код и сообщение об ошибке, похоже, вам нужно вызвать' lirc.init', прежде чем вы сможете вызвать 'lirc.nextcode'. – larsks

+0

Возможно, в следующий раз вы прочтете сообщение об ошибке перед тем, как перейти на SO? – barny

ответ

1

Вам нужно поменять эти две линии вокруг:

config = lirc.nextcode() 
sockid = lirc.init(blocking = False) 

Потому что вам нужно инициализировать lirc, прежде чем начать использовать его.
должно выглядеть следующим образом:

sockid = lirc.init(blocking = False) 
config = lirc.nextcode() 

По крайней мере, согласно всей их документации, только замеченные @larsks сказал то же самое, и я должен сказать, что это тоже. Я никогда раньше не работал с этой библиотекой, но, проверяя documentation и сообщение об ошибке, это разумное предположение.

 Смежные вопросы

  • Нет связанных вопросов^_^