フォト
サイト内検索
ココログ最強検索 by 暴想
2025年10月
      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  
無料ブログはココログ

最近のトラックバック

にほんブログ村

  • にほんブログ村

« 2019年7月 | トップページ | 2019年9月 »

2019年8月

2019年8月25日 (日)

GrovePi+の温湿度センサー(DHT22)からのデータをmatplotlibでリアルタイムグラフ化(その5)

 Wi-Fiの機器設定を試みていたらRaspberry Piの16GBのmicroSDカードの容量が何故かいっぱいになってしまったので適当に不要そうなフォルダーを削除したら、起動後キーボードもマウスもピクリとも動かなくなってしまいました。仕方がないので、別のmicroSDカードに新しくNOOBS_v3_2_0からraspbanを導入したことがすべての間違いでした。ちなみに、古いmicroSDカードはNOOBS_v2_8_2からの導入です。
 これにより、便利になっているところはあるのですが、GrovePi+に新しいファームウェアが導入できなかったり、このためgrovepi.pyも古いmicroSDカードから持って来なければなりませんでした。GrovePi+は放置とか言っておきながらまだ未練がましく動かしたりしています。また、ファームウェアのバージョンアップは再挑戦したいと思いますが、別の機会に示したいと思います。
 これにくわえて、当方の作ったダウンロード - grove_dht_graph02.pyダウンロード - grove_dht_graph03.pyダウンロード - grove_dht_graph04.pyの横軸が横一列に重なってうまく表示しないのです(デフォルト表示のようです) 。どうも、matplotlibのVersionが2.xから3.0.2に上がっていることが原因のようでした。これも色々Webを探しいていると「Python matplotlib 時系列グラフ(時間軸の設定)」に


“この事例では、twinx()を用いた2軸利用のグラフとしていますが、上記記載は最後にしておく必要があります。twinx()の前に書いてもこの記載は有効にならずデフォルトの軸が表示されてしまいます。”

 

とあり、順番が重要なのではと思い「host.xaxis.set_major_formatter(mdates.DateFormatter('%m/%d\n%H:%M'))」の行をダウンロード - grove_dht_graph02_02.pyダウンロード - grove_dht_graph03_02.pyダウンロード - grove_dht_graph04_02.py と変更したところうまく動くようになりました。
 さらに、pygameを使ったリアルタイムグラフ化もうまく動かなくなっています。こちらは、あまり使うことがないのであきらめようかと思っています。
 Versionが変わるだけでこんなことが起きてしまうのかと改めて驚いたところです。できるだけ記載したほうが良いことを感じました。

<当ブログ参考>
GrovePi+のフリーズほぼ解消(28日分のCSVファイルをmatplotlibでグラフ化)
GrovePi+のフリーズ解消のもよう
GrovePi+の温湿度センサー(DHT22)からのデータをmatplotlibでリアルタイムグラフ化(その4)GrovePi+のフリーズへの対応
GrovePi+の温湿度センサー(DHT22)からのデータをmatplotlibでリアルタイムグラフ化(その3)GrovePi+のフリーズへの対応
GrovePi+の温湿度センサー(DHT22)からのデータをmatplotlibでリアルタイムグラフ化(その2)GrovePi+のフリーズへの対応
GrovePi+のフリーズ
GrovePi+の温湿度センサー(DHT22)からのデータをmatplotlibでリアルタイムグラフ化

2019年8月18日 (日)

GrovePi+の温湿度センサー(DHT22)からのデータをmatplotlibでリアルタイムグラフ化(その4)GrovePi+のフリーズへの対応

 フリーズへの対応と言うことで3回目となり、取り込み時間を時刻に合わせるプログラムを削除して(ソースコードはダウンロード - grove_dht_graph04.py)実行してみたけれど、結局、約25.8日間のデータが得られたところでフリーズしてしまいました。前回が約19.4日間、その前が約20.6日間とか約16.5日間ですからあまり対応をしても効果が無いと言うことが分かりました。これでは、GrovePi+がいつフリーズするか分からず、とても温室制御には使えません。
 このフリーズはは、GrovePi+とDHT22の問題か、grovepi.pyまたはgrove_dht.py問題か、ファームウェアの問題のように思えます。ちょっと私の手には負えません。と、言うことで当面は放置するしか無いようです。

20190816045939_642x544_scrot
グラフ化したところ途中で温度0.0℃、湿度0.0%、水蒸気量0.00mg/m3となりグラフからはずれている。

20190816045918_899x707_scrot
端末にprintしたところ37106行目のtemp=nan C humi=nan % zyouki=nan mg/m^3のあと37107行目以降がtemp=-1.0 C humi=-1.0 % zyouki=-0.05 mg/m^3となっている。


<当ブログ参考>
GrovePi+のフリーズほぼ解消(28日分のCSVファイルをmatplotlibでグラフ化)
GrovePi+のフリーズ解消のもよう
GrovePi+の温湿度センサー(DHT22)からのデータをmatplotlibでリアルタイムグラフ化(その5)
GrovePi+の温湿度センサー(DHT22)からのデータをmatplotlibでリアルタイムグラフ化(その3)GrovePi+のフリーズへの対応
GrovePi+の温湿度センサー(DHT22)からのデータをmatplotlibでリアルタイムグラフ化(その2)GrovePi+のフリーズへの対応
GrovePi+のフリーズ
GrovePi+の温湿度センサー(DHT22)からのデータをmatplotlibでリアルタイムグラフ化

2019年8月15日 (木)

radikoのubuntuによる予約録音

追伸2020/12/05:radikoの仕様変更によりスクリプト(rec_radiko.sh)による録音が2020/12以降できなくなっているようです。
追伸2020/12/12:「らじるらじるのraspbianによる予約録音(mp3ファイル)」について記事を書きましたのでradikoは予約録音できませんがらじるらじるの方はubuntuについてもそれを参考にしてみてください。

 radikoでNHK FM(JOAK-FM)が聞けることがわかって、ubuntuで予約録音ができないものかとWebページで探すと「ラズパイでラジオをタイマー録音~Google ドライブ転送」や「 Linux で Radiko を録音する」が見つかりました。
 これを元に、ubuntuでの予約録音を試みたところうまくゆかなかった部分もあったので若干の手直しをしてubuntuで出来るようしたことを備忘録としてみます。

 まず、必要なパッケージを端末を使ってインストールします。

$ sudo apt-get install rtmpdump
$ sudo apt-get install swftools
$ sudo apt-get install libxml2-utils
$ sudo apt-get install ffmpeg
$ sudo apt-get install libavcodec-extra

 そうして、Radiko録音スクリプトをgitでダウンロードします。

$ cd ./ミュージック/
$ git clone https://gist.github.com/3956266.git

スクリプトに実行権を与えます。

$ cd ./3956266/
$ chmod 755 rec_radiko.sh

お試しで、NHK FMラジオを1分間録音してみます。

$ ./rec_radiko.sh JOAK-FM 1

端末上にこのような出力がされます。

RTMPDump v2.4
(c) 2010 Andrej Stepanchuk, Howard Chu, The Flvstreamer Team; license: GPL
WARNING: No application or playpath in URL!
Connecting ...
WARNING: Trying different position for server digest!
INFO: Connected...
Starting Live Stream
For duration: 60.000 sec
INFO: Metadata:
365.863 kB / 60.03 sec
Download complete

「WARNING: No application or playpath in URL!」という警告が出ていますが、問題ないようです。
~/ミュージック/3956266/上に「JOAK-FM_2019-08-15-07_49.mp3」の様なファイルが作成されれば成功です。

 ここから、予約録音(タイマー録音)設定ですが、cronと言う常駐プログラム(デーモン)の一種を使います。利用者の設定したスケジュールに従って指定されたプログラムを定期的に起動してくれるものです。

$ crontab -e

で実行するとcronの設定ファイルが端末のエディター上で編集できるようになります。当方は使い慣れていないエディターなのでちょっと使い方に苦労しました。

crontabファイルの最後に

MAILTO=''
15 08 * * * /home/ユーザ名/ミュージック/3956266/rec_radiko.sh JOAK-FM 1 /home/ユーザ名/ミュージック/3956266

を入力し保存します。フォルダーのユーザ名は各パソコンのユーザ名を入力してください。「MAILTO=''」は「初心者向けcronの使い方」に載っています。デフォルトではcronでコマンドが実行される毎に、実行したユーザにコマンド実行時の標準出力、標準エラー出力がメールされます。それを無効化するものです。
 08:15からNHK FM(JOAK-FM)を1分間録音し~/ミュージック/3956266/にファイル保存する設定です。
 エディターはGNU nano 2.5.3が起動します。マウス右クリックでペーストができます。[ctrl+o]の次に[enter]で保存ができ、[ctrl+x]で終了です。

cronは、最初の数字から 分 時 日 月 曜日 コマンド
曜日に関しても数字で指定し、0と7が日曜日、1以降は順に、月、火、水、木、金、土となります。

rec_radiko.shは
./rec_radiko.sh チャンネル 録音時間(分) 保存先ディレクトリ ファイル名
になっています。今回はファイル名を指定していません。

設定した後にcronを一度再起動させています。

$/etc/init.d/cron restart

「JOAK-FM_2019-08-15-08_15.mp3」の様にファイルが保存されれば成功です。

これでうまくゆかない場合は、crontabの最後の行を以下のように~/ミュージック/3956266/にログが残るよう設定してみてください。ログが参考になると思います。

15 08 * * * /home/ユーザ名/ミュージック/3956266/rec_radiko.sh JOAK-FM 1 /home/ユーザ名/ミュージック/3956266 > /home/ユーザ名/ミュージック/3956266/myjob.log 2>&1

 最後に、Radiko の配信は概ね数秒早くはじまるそうなので、録音時間を1分長めに取ると良いようです。
 これで、今まで使っていたGing社の「ネットラジオレコーダー7」が必要なくなりました。GUIからCUIに退化してしまいましたが致し方ないところです。



*最初の1分間の試し録音でJOAKでNHK第一が録音できなくなったので、JOAK-FMとNHK FM放送に変更しました。(2020/04/23)

2019年8月12日 (月)

radikoでNHKラジオの配信が始まっていた

 2017年10月からradikoでNHKラジオの配信が始まっていたようです(ウェブ電通報)。今更ですが。
 何で、気がついたのかと言えば、最近、新しいCD等もめっきり買わなくなり、たまには新しい曲を増やすためネットラジオを当方所有のONKYO CR-N765ネットワークCDレシーバーでも聞いてみようとCR-N765を久々にネットに繋げたことに始まります。CR-N765はradikoを聞けるようになっていますがradikoを選ぶと毎回聴ける局を更新していることを知りませんでした。また、他局を色々聞いていたのですが番組の感じが私には合っていなかったり、音質が悪かったりと言ったことでradikoで何か良い局はないものかとWebページで探していたところ、NHK FMがradikoに入っていることに気づきました。CR-N765ではJOAK-FMで表示されていたので気がつきませんでした。これから、NHK FMを聞く機会が増えることでしょう。

2019年8月 3日 (土)

TEAC SW-P300サブウーハーの低域増幅について(うまく行っていません)

 当方、以前に「TEAC SW-P300サブウーハーを使ってみて」で低域がもっと出たらなーと書いていたところですが、自分で電気的に低域増幅(中高域を下げる)ことを試みましたので書きとめておきたいと思います。
 まず、パソコン(OSはUbuntu)でグラフィックイコライザーソフトPulseEffectsを使って低域増幅を試みました。しかし、当方のパソコンでは非力で音飛びがするため諦めました。
 次に、ネットで中高域を下げるフィルターはないものかと探してみたところシェルビングフィルター(棚形フィルター)が見つかりました。回路としては以下のような図の様なものが見つかりました(すでにどのページか失念してしまいました)。
Lsf01
 そこで、トランジスタ技術2018年8月号に回路のシミュレーションソフトLTspiceが載っていたのでこれを使って試行錯誤したところ3.3μFのコンデンサで回路を組むと良いようだったので低周波向きの無極性電解コンデンサー(両極性アルミ電解コンデンサー)日本ケミコン50BP3R3を40円(税抜き)をネットで購入しました。このコンデンサーは無極性であるにもかかわらず両方のリード線の長さがなぜか違っています。
 そこから、試行錯誤の旅が延々と始まるとは思っていなかったのです。結局、試行錯誤をして何もしないのが良いとの結論を得たのですが、その過程を記録しておこうと思います。
 試行錯誤の順番とは違うのですが、このフィルターを使った時アンプ(ONKYO CR-N765ネットワークCDレシバー)の出力インピーダンスとサブウーハのアンプの入力インピーダンスを回路に入れ込んでシミュレーションする必要があります。幸い両方共取扱説明書の仕様書欄にそれぞれ470Ωと15kΩと載っていたので以下の図ようにシュミレーションソフトLTspiceに入れ込んでまずは減衰が大きく得られるであろうとコンデンサー2つの2次のフィルターで出力インピーダンスに2段めの抵抗R2に手持ちの1kΩとして周波数特性と位相特性を見たところ最大減衰が約-10dBで-3.1dB/Octの得られ、位相差は約32Hzの時に-33°になる回路となります。-3.1dB/Octは、オーディオの科学というWEBページで見つけた密閉箱でのスピーカーの低域の下がり方が「f0 以下での出力音圧の低下は緩やかで(12dB/Oct)」としていることから、もっとフィルターの減衰率が大きくて良いように思えます。
Lsf02
 さて、こういった感じですが聴感上はどうかというと確かに低音はスイープ信号(低音から高音に向かって一定の大きさで出力される音)でも音楽を聞いてもモコモコ出ているのですが音楽を少しばかり聞いているとなんか耳が痛くなるような感じがします。
 これは、低域が出すぎているために起こるのではないかと思い抵抗R2を小さくしたりしましたが改善せず。
 更に、フィルターを1段(1次)にしても減衰のカーブが2段にした時と同じ形になることもわかりました。そこで下図の様に減衰率は小さくなるものの1段で抵抗R1を100Ωと小さくしてやりました。これでも低域はある程度大きくなります。しかし、音楽を少しばかり聞いていると頭が重くなる感じがしました。低域が必要以上に大きくなっていることが原因ではないことがわかりました。
Lsf03
 次に、サブウーハの位相切替スイッチで180°変換してみても音楽を聞いた時に頭が重くなる感じは変わりませんでした。
 結局、これらのことをしてみましたが改善せず、手詰まりとなってしまいました。フィルターの正しい知識や測定器がなければ当方がこれ以上追求するのは難しいと感じました。誰かこの原因がわかる方がいらっしゃるといいのですが。
 低域の目標は日立Lo-D HS-1400WAとしているところですが、この日立のスピーカーで再生すると振動が体で感じることができるほどの低音が出てきます。これに対してTEAC SW-P300サブウーハーではそれほどはできていないようです。と、言ってもマンション住まいの当方がそんな大きな音を出すのは難しいのですが。あと、小さくて9.6kgと軽く引越が多い当方には助かりますし据付場所にも困らないのは良いところです。


2022年04月10日記事ウーハーをbeyma_6B30/Pにしたで割合良好な結果が出たので追記する。


« 2019年7月 | トップページ | 2019年9月 »