ラジオスクリプトの整理

録音したラジオ番組を数えてみたら、10,800本になってました。(映像付きを除く。)

毎日録音した番組をサーバに追加する毎にスクリプトで全番組をスクロールして、リストを更新しているのですが、10分以上かかるようになっていました。その間サーバのファンが唸るのが少し気になってきたので、対策します。

単純ですが、2021年分を別のフォルダに分けて、毎日の更新分はそちらだけをスクロールするようにしました。まだ1月分なので、10秒掛からず終了します。無駄なスクロールもカットできるし、ストレスも貯まりません。

2021年分と固定しないで、直近1月分とかにして運用すればよいかな?

画像処理の微修正

10日ほど前から、Wordpressに上げている画像がおかしくなっていた。スクリプトでEXIFを読み取り、画像を回転させ、サムネイルを作成し、htmlタグを作成、という処理をしてます。Chromeで表示すると画像があらぬ向きに回転している。FireFoxでは正常な向きになっている。

原因は処理の際にEXIF情報を抜いているはずが、残るようになっていた。そのため、Chormeではさらに回転を加え、思わぬ方向になっていた。この処理を入れたキッカケはiPhoneのSafariとChrome etcで画像の回転処理が異なるためだったけど、その再現が起きてしまった。
画像テスト

改めて、スクリプトを見てみるとEXIFを抜く処理が無くなっていたので、改めて入れ直しました。

Wifi 調子悪い、続き

ひと月前くらいから、再びWifiが不調に。何かとルーター毎停止します。ルータをリセットしないと復帰できないのでたちが悪い。

複数のチャンネルで試してみると、2.4GHzのノートPC、スマホ、タブレットは問題ない。5GHzのGoogle Home、NatureRemoでよく停まる時も2.4GHzの機器は問題ない。Google Home、NatureRemo、どちらか(の設定)が怪しいのかな?

ネットサーバ周りをイロイロと

自転車の走行履歴で使ってるGoogle Mapsでエラーが出てから1年あまり。ようやっとエラーが出ないようになりました。
一年前のネットサーバ移転で対応したはずが、しばらくしてまたエラーが出るようになって、そのまま放置してました。
今回確認してみたら、設定はできており各種の紐付けもちゃんとなってましたが、トライアルモード(?)のままになっていました。(アカウント?) アップグレードボタンを押下して正式に更新され、Google Mapsのエラーも出なくなりました。
ボタン一個押してれば良かったのね…

Whois情報の更新。こちらもしばらく前から「お名前.com」からメールで通知が来てました。
住所が3年前のものになっていたので更新。
問題ないでしょうけど、お名前.comの有料サービスを追加して、住所が公開されないようにしました。

今年の残課題はもう無いかな?自転車履歴のテンプレートがVAIO P時代のものなのでレイアアウトがすごい横長です。さすがにスマホで見辛いので、せめて正方形くらいのレイアウトにしようかな?さすがに、PC・スマホでレイアウトを変えるとかやりたくない、User-Agentの使われ方も変わるかもだし。

radiko 録音スクリプト

随分前にアチコチのスクリプトをつぎはぎして作ったスクリプトでradikoを録音してましたが、12/02からうまく動かなくなってました。きちんと理解して書き直すのも手間なので、既存のものをそのまま利用させてもらうことします。

こちら: radish/radi.sh @gitHub
radikoだけでなく、らじる★らじるも使えますね。

これを呼び出すスクリプトを作って次のように使用する。実際にはcronで使います。

$ pre_radiko.sh QRR 122 kimimachi

出力ファイル-> kimimachi20201212-1859.m4a

GPS ロガー & ログ整形アプリのAndroid 11 対応のまとめ

スマホをPixel 4aに換えてから一ヶ月あまり、GPSロガー FarEast3とログ整形アプリmichiの対応が終わりました。とりあえず動かせるレベルですが…

■ GPS: NMEA-0183 出力が変わった
については→ NMEAで$GNGGAを取る

■ フォアグラウンド サービスが必要になった。
上記に対応して動かしてみるとデバッグで動作の確認はOK。
実際にログを撮ってみると、何か変?試してみると、
・アプリを前面に出してると問題なし。
・アプリをバックグラウンドにしても問題なし。
・ディスプレイをOFFにするとNMEAデータが取れてない。

色々とgoogleってみると、android 11以降はバックグラウンドでは位置情報はじめ何かと制限が付くらしい。フォアグラウンド サービスを利用して5秒毎にアクセスする、というのが一般的な回避策みたい。次を参考に実装してみた。
[Android] Service の使い方

汚い実装になったけど、とりあえずの動作は問題ないみたい。今回の実装を整理したい、フラグメント周りで非推奨が増えている、など手を入れたい箇所が沢山残りました。

NMEAで$GNGGAを取る

Pixel 4a のNMEAで取得したデータを比べてみたら、これまでのものと形式が随分と変わっていました。

ざっとまとめると、こんな感じ。

  1. Pixel 4a はGPS以外にも対応するシステムが多い
  2. NMEAのフォーマットが拡張されてGPS以外のシステムにも対応している
  3. Androidで取得したNMEAデータにはGPS以外のシステムのデータも含めて入っている
  1. Pixel 4a はGPS以外にも対応するシステムが多い
    Pixel 4aの仕様を改めて見てみると、すごいですね。
    GPS、GLONASS、Galileo、QZSS、BeiDou
    ちなみにQZSSが日本の「準天頂衛星システムみちびき」ですね。
  1. NMEAのフォーマットが拡張されてGPS以外のシステムにも対応している
    NMEAの仕様 NMEA 0183 Standard Version 4.11 も進んでいるんですね。私が以前に調べたのは10年前でした。
  1. Androidで取得したNMEAデータにはGPS以外のシステムのデータも含めて入っている
    次をみるとGLONASSのデータのとり方があった。
    生の GNSS 測定値

まぁ、色々と疑問は残ったわけですが。
旧来のようにGPS情報だけ取得する方法、とか無いのかな?
NMEAデータを取る前に、対応したシステム情報を取得する方法は?

とりあえず、$GPGGAが取れないようなので、複合化された$GNGGAを取るのが良いかな。

NMEAで$GPGGAが取れない

FarEast3 のお話。GPSログ取り用の自作Androidアプリです。

Android 9から10になってログ取り始めるとアプリが落ちていたので、改修しよう。と思って始めないうちにAndroid 11になりましたが、落ちるのは相変わらずでした。

とりあえず、パーミッション周りが変わったので対応、しかしやはり落ちる。落ちる箇所が見つかりましたが、取得した “$GPGGA” の時刻をパースしているところでした。取得した$GPGGAのデータが空でした。”$GPGGA,,,,,,0,,,,,,,,*66″ こんな感じ($GPGGAの次がdoubleの時刻)。これまでココで落ちてなかったので、このように時刻が空で帰って来ることは無かったはず。

取得したテキストをそのまま保存しているだけだし、NMEAのデータ取得は問題なさそう。$GPGGA以外はパッと見それらしきデータが入っているようす。

うーん、何が問題なのだろう?