我遇到了一个问题,由于我对 Python 不太了解,因此我将感谢其他人的帮助,以帮助我了解我的问题所在。
我正在构建一个便携式无线电。Raspberry Pi 使用 Pianobar 访问 Pandora 服务器,登录我的帐户,获取我的电台,然后开始播放第一个电台。
我正在关注官方的 Adafruit 指南:https ://learn.adafruit.com/pi-wifi-radio/overview
我一直按照指南进行操作,直到 Pianobar 开始工作。我可以从命令行运行“pianobar”。它在不到 10 秒的时间内连接并开始播放音乐。
但是,当我启动允许 16x2 LCD 键盘与钢琴条交互的脚本时,它不起作用。
更具体地说,它通过了脚本的前半部分。LCD 显示 IP 地址并显示“正在检索电台列表...”。10 秒后,脚本退出所有这些。
pi@pandora ~/Python-WiFi-Radio $ sudo python PiPhi.py
Spawning pianobar...
Receiving station list...
Traceback (most recent call last):
File "PiPhi.py", line 288, in <module>
stationList, stationIDs = getStations()
File "PiPhi.py", line 190, in getStations
pianobar.expect('Select station: ', timeout=10)
File "/usr/local/lib/python2.7/dist-packages/pexpect.py", line 1311, in expect
return self.expect_list(compiled_pattern_list, timeout, searchwindowsize)
File "/usr/local/lib/python2.7/dist-packages/pexpect.py", line 1325, in expect_list
return self.expect_loop(searcher_re(pattern_list), timeout, searchwindowsize)
File "/usr/local/lib/python2.7/dist-packages/pexpect.py", line 1409, in expect_loop
raise TIMEOUT (str(e) + '\n' + str(self))
pexpect.TIMEOUT: Timeout exceeded in read_nonblocking().
<pexpect.spawn object at 0xb6b305b0>
version: 2.3 ($Revision: 399 $)
command: /usr/bin/sudo
args: ['/usr/bin/sudo', '-u', 'pi', 'pianobar']
searcher: searcher_re:
0: re.compile("Select station: ")
TIME: -03:35/03:43
TIME: -03:35/03:43
after: <class 'pexpect.TIMEOUT'>
match: None
match_index: None
exitstatus: None
flag_eof: False
pid: 2315
child_fd: 5
closed: False
timeout: 30
delimiter: <class 'pexpect.EOF'>
logfile: None
logfile_read: None
logfile_send: None
maxread: 2000
ignorecase: False
searchwindowsize: None
delaybeforesend: 0.05
delayafterclose: 0.1
delayafterterminate: 0.1
pi@pandora ~/Python-WiFi-Radio $
http://pastebin.com/6Lm3dTwx - 这是我要运行的脚本
从我的基本知识来看,检索电台列表所需的时间似乎比任何超时都长。请帮助我,因为我完全迷路了。谢谢!