逍遥游

为了小孩多听粤语,想播放以前收音机里面的小说节目,于是做了一个这样的东西, 每天定时大约吃饭时间播放一集节目, 第一季节目就播三国演义把.

垃圾电视盒刷armbian, 接usb 声卡, 一个功放模块,一个控制模块, 三个模块都是自己做了, 控制模块是usb转串口,接一个单片机,控制功放模块的电源, 因为24小时不停待机,因此不播放的时候要休眠状态.
垃圾电视盒是没有IO的,所以有这个东西.

安装所有必须的东西
samba, cifs-utils , 音频文件在nas上,所以要装samba 共享.
stty,控制串口波特率等
sox , 播放mp3的的东西
python, 控制脚本

python 脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#!/usr/bin/python

import json
import os
import linecache
import sys



filename = 'cur_play_id.json'
list_name = 'play_list'
index=1


os.system('stty -F /dev/ttyUSB0 115200')
os.system ('echo ":9000020101aa\r\n" >> /dev/ttyUSB0')
os.system ('play sanya.mp3')

if len(sys.argv) > 1 :
list_name= sys.argv[1]

print(list_name)



try:

with open (filename) as f_obj:
ja=json.load(f_obj)
index=ja['cur_index']
index = index +1

except FileNotFoundError:
print("index file Not Found!@!!!")
index = 1


try:

play_file = linecache.getline(list_name,index).strip()
if play_file =='' :
print ("end of play list file")
else :
a_cmd = 'play ' + play_file
print(a_cmd)
os.system(a_cmd)
os.system ('echo ":9000020100aa\r\n" >> /dev/ttyUSB0')

except FileNotFoundError:
print ("Play List file not found!!")
os._exit(0)



data_dic = {'cur_index':index}

with open(filename,'w') as f:
json.dump(data_dic,f)

用法就是python play_mp3.py list.txt

生成播放列表文件的脚本

1
ls -1 |awk '{print i$0}' i=`pwd`'/' > list.txt