##################################################
#Project Name    : jfmradio_recorder
#File Name       : jfmradio_recorder_(date)
#Version         : 0.2
#Encoding        : python3.9(inclueding GRC3.8)
#Creation Date   : 2021.11.20
#
#Copyright c 2021 falconblog.org. All rights reserved.
#
##################################################

◯動作環境
Windows10
USBチューナのドライバーはzadigがインストール済み
動作確認チューナー：RTL2832, RTL-SDR.COM blog V3, HackRF one(firmware 2018.01)
ディエンファシスを50usecとしているため日本国内専用でモノラル受信です。

◯本Pyファイルの基本的な使い方
GNUradio Commnadプロンプトを起動し、python環境で実行します。
> python jfm_rec_02.py

ウィンドウ画面が開きますので、周波数、時刻、曜日、録音時間、使用チューナー(Device Arguments)を設定して、予約するをクリックしてください。

予約するをクリックするとコマンドプロンプトウィンドウに次のような表示がされて録音待ちになります。
予約実行後は予約プログラムの終了待ちとなるため予約解除は出来ません。
コマンドプロンプトよりCtrl+Cを入力してプログラムを強制終了してください。

E:\GRC2>python jfmradio_recorder_01.py 85.1 03:07 4 1 rtl=0
FM Radio Recorder Ver.0.1 Copyright 2021 falconblog.org. All rights reserved.
Recording schedule = Every Friday 03:07
Dulation Time = 1.0min

録音開始時刻になるとコマンドプロンプトウィンドウ上にチューナーの動作状態が表示されます。
録音が正常終了すると自動的にウィンドウが閉じ、プログラムが終了します。

gr-osmosdr 0.2.0.0 (0.2.0) gnuradio v3.8.2.0-57-gd71cd177
built-in source types: file rtl rtl_tcp uhd hackrf bladerf airspy airspyhf soapy redpitaya
Using device #0 Realtek RTL2838UHIDIR SN: 00000001
Found Rafael Micro R820T tuner
[R82XX] PLL not locked!
[R82XX] PLL not locked!
gr::pagesize: no info; setting pagesize = 4096
Now Recording... Dulation Time = 60
Finish to Recording.

録音したファイル名は周波数、日時、開始時刻が振られて保存されます。
基本的に重複することは無いと思います。
fm_（周波数）_（日時）_（開始時刻）.wav

◯jfmradio_recorder_01.pyの使い方
fm予約録音をするプログラムでscheduleモジュールとGNURadioのFM受信モジュールで構成されています。
コマンドラインより以下の形式で設定します。

$ python jfmradio_recorder_01.exe <FREQ> <XX:YY> <week:No.> <Dulation:min> <device arg.>

オプションの説明
exe以降のオプションは正しく入力してください。
プログラムでは引数の数をチェックしているだけですので間違って入れると録音開始時にエラーとなります。

- FREQ: 周波数をMHzで指定します。（例：80.0)
- XX:YY : 時刻を09:23の24時間形式で設定します。先頭の0は省略できません。
- Week No.: 予約する曜日を数字で指定します。（0:月, 1:火, 2:水, 3:木, 4:金, 5:土, 6:日）
- Dulation:min : 録音する時間を分で指定します。（例：25)
- device arg.: 受信に使うSDRを指定します。rtl-sdrが１台だけならrtl=0と入力します。（間違っていても受信モジュールosmoSDRが探して受信してくれるようです）

◯ソースファイルについて
本プログラムはGPLv3に基づきソースファイルを添付しています。
ソースファイルはGNURadio3.7 /3.8上で動作することを確認しています。
pyファイル単体ではGNURadioのライブラリが呼び出せる環境でないと動作しません。
exeファイルはGNURadioがなくても動くようになっています。

◯ご要望等
ご要望等は以下HPのお問い合わせよりお知らせいただければ幸いです。
HomePage: https://falconblog.org

Copyright c 2021-2022 falconblog.org. All rights reserved.
