2021年11月22日月曜日

部屋の赤外線リモコンが挙動不審に

夜になってエアコンの電源を入れようとしたところ反応がない。

とうとうこのエアコンも壊れたか…と、緊急ボタンを押したところ動作はするので、電源を抜いたり本体の電源を入れ直したりしてみた。

初めはリモコンの電池を疑って電池を入れ替えてみたものの、変化なし。しかも電池残量は問題なさそうという。

スイッチの確認をするために高所にあるエアコンをスマホで撮影したところ埃が目立ったので清掃してみても変化なし。

そういえば照明のリモコンも反応が怪しい。

手持ちのスマホは赤外線フィルターが入っていないので撮影すると赤外線が光ったのが明確にわかるので、レンズ越しに覗いてみると若干暗くなってるかな?という程度だったのですが、こちらも電池を取り換えてみる。が、電池残量も問題なさそう。ただ少しだけ反応は良くなった感じがする。

照明のカバーや受光部分の清掃も行ってみる。2回目に外したところなんかカバーの縁が少し割れた…orz

照明は電池交換と清掃作業で反応はするようになった。が、なんか微妙。真下だと反応するけど今までのような反応の良さは無し。太陽光もないのでノイズもなさそうだし、まさか赤外線照射でも外部から受けているのか!?とかよくわからん事が頭をよぎるものの嫌がらせで赤の他人の家に照射するとかそんな暇な奴はいないとおもうw いや…地味だけど結構嫌かもw カーテンで簡単に防げそうだけど。

問題のエアコンは結局反応がない。赤外線受光センサーはRaspberry piのために結構手持ちにあるので部品が合いそうならすぐに交換できると思いつつも、この時間から取り外してとか面倒なので明日行おうとあきらめた。

が、やっぱり気になるのでエアコンのカバーを開けて、リモコンを受光部分から5cm程度の距離でつかってみると、電源が入る!!

ちょっと感動したものの、双方向通信である現在温度の確認はできず。もしかして本体側の赤外線LEDが壊れた?とか思ったものの…そもそも論としてLEDとかって壊れるときは基板上のほかの部分が壊れているはず。しかもこんな距離を変えたからと言って反応することなんてまずない。物理的な汚れや埃で光がとおらなければ別ですが、そこまでさえぎるような状況には突然ならない。

なので、ただ部品が壊れたとはおもえず…とはいえエアコンが反応してくれたので寝ることに。

翌日、午後にでも部屋を暖めてから作業するかと思っていたところ、AmazonのFirestickのリモコンのLEDがかなりゆっくりと赤い点滅を繰り返している。あーこいつも電池切れか?と電池を交換。でも電池残量はまだあるんだが。

赤点滅ってなんだろうな?と、色々調べてみるたが、あまりそれといったのが見つからず。

最近Firestickリモコンが青色を点灯したままになってたことがあったが、それも気になってはいた。その時、音声ボタンを押したあと、ちゃんとFirestickは反応してリモコンの青点灯は消えたと思う。まぁなんか押しちゃったのかな?程度に軽く考えてたが、この時も何かあったのかも?

オレンジ色の点滅とか、赤と違うのか?とか気になるもののまぁあきらめ。最悪Amazonの取説的な何かが引っかかればよかったのだが、引っかかったのは怪しいサイトの偽ウィルス系のページでした。あんまり闇雲にページ開くのは危険。

で、ふと照明の電源をリモコン操作したところ…反応がいい感じ。あれ?普通に戻った?部屋の中どこ向けてもちゃんと反応する!!

エアコンのリモコンも押してみる。

エアコン「ピッ!」

まじかwちゃんと反応する!温度もちゃんと表示される!

くっそぉー。そういえばFirestickのリモコンって無駄に赤外線LEDも搭載してるんだったっけか…と思い出した。そういえばほかの場所で照明のリモコンの反応がものすごく悪かった時があったが、その時もFirestickのリモコンがあった気がする。

すっげぇ納得いったけど、脱力w

無駄でも部屋を真っ暗にして部屋全体をカメラで見渡してみればよかったなぁと今更ながらに感じたものの、エアコンとか照明とか壊れてなくてよかったと喜ぶべきなのだろう。

2021年11月18日木曜日

七転八倒

いつもタイトル通りのような気がしますが、一時期まともにビルドできなかったAndroidStudio(DEV版ですが)がようやくまともにビルドできるようになった感じなので使用しているアプリから順にビルドし直していたりします。

Googleさんからちょくちょくとポリシー変更なりなんなりのメールが来てはいたのですが、先日、軒並み公開中のアプリがストアから削除されたという報告メールが多数送られてくるという事態に。

きっかけと思われるのは、あるアプリのレビューがとてつもなく幼稚なレビューが書き込まれることが目についたので、対象年齢を18歳以上としたことが原因なんだと思います。

ほかのアプリは特に対象年齢は指定していなかったのですが、おそらく中の人かAIがほかのアプリも対象年齢をごまかしているに違いないという憶測で一気にストア上から排除したんだと思います。

基本的にレビューに対して直接返信することはしないようにしていたりします。理由は単純でうまく意思の疎通が取れるとは思えないからということ。ですが、結構レビューはちゃんと見てたりします。全く知らない言語で書かれていても翻訳してなんとか意味を汲み取ったりしていますが、言葉の壁は厚いw

しかしながら、どうしょもないようなレビューで★☆☆☆☆とか連発されると慣れたとはいえ精神衛生上よろしくないので、なにか対抗手段はないものかと思いついたのが年齢制限。意味はなさそうですが(笑)

そんなこともあり、リビルドせにゃいかんと思ってはいたので時間ができたときに気を改めてAndroidStudioのアップデートを行ったところリリース版ではうまくゆかず。新規プロジェクトを作っても一回目のビルドは通るのに二回目から失敗するとか意味わからん。

直接的な原因はgradleのテンポラリだかキャッシュだかのフォルダを手で削除すればビルドは通った(メッセージを見るとどうもマージがうまくできていないようでした)のですが、なんか気持ち悪すぎるのであきらめてDEV版を使って試したところ、ようやくまともにビルドが通るようになりました。なんていうか、AndroidStudioのビルド動作ってgradleのバージョンが上がりすぎてついていけてない感じになっててかなり面倒なんですよね。

ビルドが通るようになったので、gradleの書き換えやらリポジトリ変更に伴う書き換えやら、SDKのバージョンアップに伴うライブラリやアーティファクトの書き換えやらを半ば機械的に行いながら作業を行っていました。

そして地道に作業を進めていたのですが、ここ数日でドはまりしていたのがSSID Widgetです。とりあえずSDK31でビルドが通るようにしようとしていたのですが、ビルド後の動作がうまく動かず何が原因かわからず丸2日ほど途方に暮れ、仕方なしにSDKバージョンを下げて動作するかどうか確かめることにしました。

ちなみに手元にあるデバイスはAndroid10なのでSDKは29です。

Wifiの扱い方が大きく変わるのがSDK31からっぽいのですが、それまでにも権限周りの扱い方がSDK26(Oreo)から変わっていてかなり面倒になってはいました。その後は、そんな変わっていないだろうと見ない振りをしていました。しかし、細かいところでさらに面倒なことになっていたようで…

ACCESS_BACKGROUND_LOCATIONなんて知るか!しかもWIFI関連でFINEロケーションが必要とか聞いてないですw

https://developer.android.com/training/location/permissions?hl=ja#request-background-location

ただのアクティビティーならもうちょい楽だったのにねぇ。

動作させてみていると、何かのきっかけでまれにSSIDが表示されることがあったんです。もうね、何が原因なのか見当もつかずで。

で、SDK29でとりあえず満足することにして、一旦SDK31ベースに追加したコードは捨てることに(31用に追加しなければいけないコードがあって面倒だったんですが、見通しが悪くなりすぎるのと、ビルドも通らなくなるので(笑))。さらに全体的な動作を見直し、動作確認していると、権限を変更すると動作が不安定になったり、サービス自体が消えたままとなってしましました。

一部はコードに原因があったりしましたが、助長な部分を削ったり、怪しいところは片っ端からデバッグログを入れたりして様子を見ていましたが、どうも権限を変更するとサービスの動作があまり安定しないことがわかりました。

マイクロソフトやASUSのメールアプリで挙動不審というか、メール受信がしなくなることがあったのですが、原因はきっとAndroidのサービスの扱い方が雑というところなんでしょう。単純に思いつくのは、適当なタイミングでサービスの動作チェックをする必要がありそうだということ。Androidって結構こんな感じがします。そもそもプロセスなども強制終了させて起動し直せばいいでしょ適な発想が主体だし。クソ仕様ですがw

で、Widgetでそこまでするか?

ストアで公開すると結構文句言われそうですけど、とりあえずする気はないw実用的に問題なさそうだしw

通常アクティビティーがあるアプリなら、権限許可を得るためにダイアログを表示させて、許可されたタイミングで処理が行えるのですが、Serviceなんてそんなダイアログ開けませんし、最悪アプリの詳細から設定したり、権限管理系の設定画面で許可されたりするので何とかできないか調べましたが、使えそうなブロードキャストは無さそうでした。

そもそも権限が変更されるとどうなるの?ってことで触ってみて実感したのは、

権限を新たに許可した場合、そのまま。

許可された権限を取り消した場合、実行中のアプリはリスタートされる。バックグラウンドのServiceは一定時間経過後に強制終了され、直後にStartされる。もしかすると終了させられることを通知するintentか何かを受け取っているのかもしれないけど…どうなんだろう?

権限を取り消したり、許可したり少し雑にちょこちょこ切り替えてみると、アプリが落ちたままとなってしましました。

色々触ってみた結果、権限関連以外はまともに動いてそうなので、とりあえず一段落かな?

2021年11月10日水曜日

富士通の

 昨日まとめ系で見かけたツイートで、推奨パソコンがwikipediaを開くだけでCPU使用率が100%のままとなっているというのを見かけた。

【悲報】文科省推奨スペックの富士通製パソコン、WikipediaでCPU使用率100%にwwwwww

実際のツイートでは店頭でwikipediaのページを開いてタスクマネージャーのパフォーマンスタブページを開いている様子の写真が写されていた。

 

で、じっさいに手元のネットブックで開いてみました。最初はFirefoxで開いて、Edgeでも開いて様子を見てみました。

似たようなスペックなので数秒CPUリソースを使い果たしていましたが、その程度です。(メモリが減っているところ(グラフの中央当たり)でEdge以外のアプリを終了させたところで、CPU使用率が跳ね上がっている山はEdgeの起動、ようこそページの表示、Wikipediaの表示のタイミングになっていると思います。CPUの動作クロックは、通常1.1GHz程度でフルパワー時は2.4GHzとか2.5GHzぐらいまでクロックが上がると思います。)

明らかにおかしいのは、ツイートの写真ではハンドル数が異様に多いということでした。

気になったので手持ちのほかのWindowsでも確認してみましたが、どれも似たり寄ったりでした。桁が違うというのはどういうことなのでしょうね。

手持ちは64bitばかりなので、32bit版とは使用メモリなどは差が出ますが、ハンドル数はあまり変わらないとおもいます。

ツイートのレスにも書かれていましたが、富士通のPCには「いつもアシストふくまろ」と言うアシスタントアプリが入っているそうで、これがその原因なのかとも思われますが、これだけでそこまで重くなるような代物なのか?と言う感じがします。

一番ありえそうなのは、Windowsのメンテナンス系のサービスが起動してそれが止まらなくなっているのか?

ちょっと気になったのでメモ書き。