2021年12月28日

pt3(DVB)、python3によるスクリプトファイルで4波を同時受信。sparkylinux-6.1-amd64

python3で、1波しか受信できていませんでした。
python3のお勉強がちょっぴり進んだおかげで、
pt3カードの機能が全面的に使用可となりました。
まだ、完璧でなく、4波べた書き設定で、systemdでの
サービス化もできていません(xfce4の
「自動開始アプリケーション」頼りではありますが、
兎にも角にもpython3で、
ふつうにカードが使えるようになりました。
(元々はシェルスプリクトで問題なく設定できていました)

4波(地上波2波+bs2波)同時に音が出ているって、
映画やドラマでよくある、主人公が精神的に追い詰められ、
アタマの中にいろんな声が聞こえてきて、
アタマをかきむしるシーンのときのようで、おもしろいです。

#!/usr/bin/env python3

import os
import subprocess


os.chdir('/dev/dvb')

for ADAPTER in [ 0,1,2,4 ]:
for int1 in [ 20,21,22,23 ]:
dirname = 'adapter' + str(int1)
os.makedirs(dirname, exist_ok=True)
os.chown(dirname, 0, 0)
os.chmod(dirname, 0o755)
completed = subprocess.run(['/usr/bin/nice', '--4', \
'/usr/local/bin/fuse_b25', '--target', '/dev/dvb/adapter0', \
'/dev/dvb/adapter20', '-o', 'allow_other'])
completed = subprocess.run(['/usr/bin/nice', '--4', \
'/usr/local/bin/fuse_b25', '--target', '/dev/dvb/adapter1', \
'/dev/dvb/adapter21', '-o', 'allow_other'])
completed = subprocess.run(['/usr/bin/nice', '--4', \
'/usr/local/bin/fuse_b25', '--target', '/dev/dvb/adapter2', \
'/dev/dvb/adapter22', '-o', 'allow_other'])
completed = subprocess.run(['/usr/bin/nice', '--4', \
'/usr/local/bin/fuse_b25', '--target', '/dev/dvb/adapter3', \
'/dev/dvb/adapter23', '-o', 'allow_other'])


pt3x4_2021-12-28_09-58-47.jpg

上手くできなかったときから、変えたのは、
for行の後ろの [ ]を使うときの前後に半角スペースを
きっちり入れただけです。pythonは、そういうところが
五月蝿い? あとインデント(行下げ)にも
見やすさだけでなく意味をもたせているようですね。

まだまだ不完全なコードであろうことは、
容易に想像できます。ですが、機能はしました。


posted by ブログ開設者 at 10:33| Comment(0) | linux | このブログの読者になる | 更新情報をチェックする