画像処理の微修正

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以外はパッと見それらしきデータが入っているようす。

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

Wi-fi 混雑の顛末

これまで、新しいWi-fi機器が増えるたびに混雑してました。具体的には、Wi-fiが錯綜して(?)ルーターリセットが度々、という状況です。

さてPixel 4aが増えたことで、同じように混乱してました。しかし、さすがにこんなことを繰り返すのにも疲れたので、整理してみました。

Wi-fi機器が10数機器あるので、次のようにしてました。

  1. Wired は固定IPにする
  2. Wi-fi でも静的に設定できるものは静的に固定IP
  3. Wi-fi でも静的に設定できないものはDHCP、MACアドレスでIP固定

改めてルーターの設定を見てみると、設定が古いので…

  1. 既に使っていないMACアドレスを削除。
  2. IPの範囲を大きく切り分け。固定、Wi-fi静的、Wi-fi DHCP(MACアドレスで固定)

これですっきりしたはず…と思ったら最後にルーターリセットが必要になりました。

IPの払い出し状況を見てみるとNature RemoがIP取れてない。Nature Remoが新しく設定したIPを取得できていなかった様子です。一度Nature Remoの「Wi-fi設定の更新」をして、無事に新しいIPを取れました。