M5Stick-Cを動かす

部屋の環境を測るためにVOCセンサを使ってみようと思い立ち、M5Stck-CというESP-32ベースのデバイスを使ってみました。
何故そう思い立ったかは、長くなるので、最後の方に書きます。

VOCセンサを使ったデバイス自体は、ここのサイトの記事そのままです。
kohacraft.com
kohacraft.com

M5Stck-Cというのは、ESP-32ベースのデバイスで、6軸センサー、液晶ディスプレイなどが一体になった指先大のデバイスです。

ESP-32自体は既に持っているし、液晶ディスプレイもあるので、センサーさえ購入すれば自分で組み立てることもできるのですが、今回は手っ取り早く済ませたかったので、M5Stck-Cと環境センサーをスイッチサイエンスから購入。
www.switch-science.com
参考にした記事はAdfruitのセンサーユニットを使っていますが、こちらのものはチップは同じなのでそのまま使うことができました。
また、記事をよく読むと、温湿度を与えてやった方が精度が良いということで、温湿度センサーを別途アマゾンから購入しました。(最初からよく読んでおかないから二度手間になる)

チップにBME280というのをつかった温湿度センサーユニットです。ただ、気を付けないといけないのは安いやつは似たような恰好をしていますが、チップにBMP280というのを使っていて、湿度が測定できないものになります。以前に間違えて買ったことがあるので(というか、商品のタイトルにBME280としっかり書いてあってもBMP280が来る)、注意が必要です。

M5Stck-CをArduino-IDEで動かす

M5Stck-Cをプログラムするには、色々あるみたいですが、今回は慣れている、Arduino-IDEを使ってみました。
使うにはライブラリーを追加する必要があります。ESP-32を使ったことがある場合は既にインストールされているかもしれません。
qiita.com
しかし、例によってすんなりとはいきません。
いつもは、マイコンのプログラムはノートPCで行うのですが、そっちは、牛乳パック解体機の方の開発に使っているので、メインマシンでやってみたらドライバーがインストールされていなかったらしく、USBで接続しても認識されませんでした。
そのあたりは、この記事が参考になりました。
lang-ship.com
ドライバーをインストールすると認識されて、プログラミングできるようになりました。しかし、コンパイルするとエラーが発生。
どうも、Arduino IDEが古かったのが問題らしく、バージョンを1.18.1から1.18.15に上げたら動くようになりました。
しかし、コンパイルがとっても遅い。ESP系は8266にしても、32にしても、コンパイルは普通のArduinoに比べて遅いが、このM5Stck-Cは異常に遅い。ネットで調べるとやはり遅いということで対策が書いてあったりする。

M5Stck-Cのコンパイルを早くする方法 その1 CCacheを使う。

Arduino IDEにCCacheを使うと早くなるらしい。
やり方はここのサイトが詳しい。
qiita.com
やってみたら確かに早くなったがこれでもまだまだ遅い。

M5Stck-Cのコンパイルを早くする方法 その2 Platform IOを使う。

Platform IOというのを使うともっと早くなるらしい。
こちらのサイトを参考にしました。
elchika.com
でもこのままでは動きませんでした。M5Stck-Cのライブラリをインストールする必要があるらしいです。
Platform IOのHomeへ行って、ライブラリの画面からM5Stck-CのライブラリをインストールするとHello Worldは動きました。
ただ、ライブラリをインストールして、Platform.iniを書き換えても、#include の波線が消えないので、カーソルを持って行って、電球マークをクリックすると、いくつかのサジェスチョンが出るので、その中から、”include Pathに追加xxxxxxx”と書いてあるのをクリックすると波線が消えました。
確かにplatform IOを使うと格段に速くなります。しかし、問題点もいくつか。

ライブラリはその都度インストールする必要がある。

プロジェクトを作成するたびに必要なライブラリをインストールする必要があります。インストールするライブラリが多いと結構手間です。

ないライブラリがある。

Arduino IDEにあって、Platform IOにないものがあります。今回は、Adfruit SGP30がありませんでした。これは致命的でこれがないとセンサーが動かない(正確に言うと、ライブラリを使わずに動かすようにプログラムしてやれば動く)ので、Platform IOを使うのを諦めました。
こちらのサイトにインストール方法が書いてありましたが、やってみてもファイルが見つからないと怒られるので今のところライブラリを使うなら手がない状態です。
platformio.org

2021/8/21追記
ちゃんと検索したらライブラリが見つかりました。検索の仕方が悪かったようです。
Platform IOでもSGP30を使うことができました。

そもそも、何故VOCセンサーなのか

まあ、たいていの人には興味ないと思うので最後に書くことにしました。
実は、家内が漂白剤を使って洗濯をして、それを部屋干ししたのですが、どうも分量を間違えたのか、何かとまぜて塩素が発生したのか、部屋中にえらい臭いが充満し、目は痛くなるし、のどがひりひりするし、そのうち喘息の症状も悪化してしまいました。おまけに、一緒に干してあった服やら、カーテンにまで臭いがうつってとんでもないことに。一週間以上たつのにいまだに家の場所によっては目がチカチカする。
そこで、どんなくらい空気が汚れているのが知りたくて作ろうと思い立ったという次第。なので、出来るだけ手っ取り早く済ませるように、なるべくありもののデバイスと公開されているプログラムがそのまま使える方法をとることにしたと言う訳です。装置の組み立てとすかった見た結果は次回に書きます。

六甲山全縦にチャレンジ。しかし、途中でリタイア

8/10に六甲山系の縦走をしてきました。
タイトルの通り、全縦に挑んだのですが、あえなく途中でリタイアとなってしまいました。
本来は、大峯奥駈道の第3回目を予定していました。
alasixosaka.hatenablog.com
しかし、コロナの感染拡大で万が一事故にでもあった場合、捜索隊出動などの事態は避けたいと考え、予定を変更して六甲山系縦走に切り替えました。
先月は大峯山系で、阪大の教授の方が遭難されて、幸い無事に救出されましたが、同様の事態だけは避けたいという思いと、予定のルートが行者還トンネルから前鬼口というルートで、途中のエスケープができないというのもありました。完走する以外には途中で引き返すしか選択肢がないルートなのです。最近体調がそれほど良くないので、絶対完走するという自信が今一持てなくて予定を変更しました。
六甲山の全縦もいつかは行きたいと思っていて、それなりにルートを調べたり、行った方のブログなどを読んで研究していたのですが、全体的に準備不足は否めなかった感がありました。そのあたりは最後に反省事項として書きたいと思います。いずれにしても、大峯山も完走は難しかったと思われ、結果的に予定の変更は正しかったのではないかと思っています。

須磨浦公園から出発

六甲山系全縦のスタート地点は山陽電鉄須磨浦公園駅です。

f:id:alasixOsaka:20210811110010j:plain
山陽電鉄須磨浦公園駅

始発のJRに乗って、神戸方面に向かう。始発電車の行先はなんと加古川まで。普通は西明石までなのに。車内は意外に混んでいて、最初の内はオーバーナイトのサラリーマン風の若者がだるそうにしている人が多かったが、そのうち出かけるのか、通勤なのかまともな人が増えてきた。部活の生徒も見かける。空いていたら、朝食を食べて、テーピングもしようかと思ったがどうもそんな雰囲気にならないのでそのまま須磨駅まで乗っていく。台風は通り過ぎたが、まだ雲が結構残っていて台風一過の快晴には程遠い天気。六甲山の山頂も雲に隠れて見えない。山頂は雨が降っているのだろうか? まあ、曇りの方が暑くなくていいし、到着する頃にはお天気も回復して晴れているだろう。(結局たどり着けなかったのだけれど)
須磨駅山陽電鉄に乗り換え、目指す須磨浦公園駅は、そこから一駅。その前に須磨駅前のコンビニで氷と水を購入。須磨浦公園駅に着いたのは6時27分。
駅のベンチでテーピングと、買ってきた氷と水を、あらかじめ自宅で用意してい来たハイドレーションパックの塩梅水に足す。駅前には何もなく、トイレと自販機くらいしかないのである程度の準備は事前にしておく必要がある。車内で食べれなかったので、朝食のパン(ランチパック)も駅前のベンチで食べる。この辺がコロナの辛いところ。何もない時なら座れたら電車の中でパンぐらい食べてもと思うのだが、コロナ禍ではマスクを外すのは憚られる。特にある程度混んでいたら。まあ、通勤の時とかもマスク外して飲み食いしている人はちらほら見かけるが、コロナ禍では好ましくないと思うので、自分はしないことにしている。
トイレをすましていざ、出発。準備をしている間に次の列車がやってきて、出発は6時40分ごろになった。まず目指すのは、鉢伏山。いきなり結構な登り。ウォームアップなしでこの登りはキツイ。先は長いと思ってゆっくり目に登る。

f:id:alasixOsaka:20210811110035j:plain
六甲山全縦のスタート地点

ここは、駅前からロープ―ウェイもあるみたいだが、早朝なので当然まだ運航していない。いるのは早朝散歩のお年寄りくらい。鉢伏山の山頂はコースから外れることになるので長い長いこの先を考えて山頂はスルーして次の旗振山に向かう。

f:id:alasixOsaka:20210811110122j:plain
鉢伏山の山頂はコース外なのでスルー

しかし、振り返ると結構いい眺めだった。

f:id:alasixOsaka:20210811110150j:plain
鉢伏山山頂付近から振り返った景色。海が間近に見える。

しばらく登って、次の旗振山に着く。さっきの鉢伏山よりもう少し標高が上がって、展望台もあり、景色は更によくなった。右手には明石海峡大橋、左手には神戸の街並み。

f:id:alasixOsaka:20210811110811j:plain
旗振山から明石海峡大橋を望む

旗振山の次は鉄拐山に登る。この辺りでようやくウォームアップができて体が動くようになってきた。

f:id:alasixOsaka:20210811110906j:plain
鉄拐山山頂。これで3つ目。

鉄拐山を過ぎると、一旦高倉台という住宅地の方に降りていく。縦走路の前半はこんな感じで、山と住宅街を交互に進むような感じになる。その分、途中で補給とかするにも便利なことは便利だ。ただし、早朝なのでコンビニくらいしか空いている店はないが。高倉台にはスーパーKOYOがある。出発時間をもう少し遅くして、半縦走で行くならここで補給が可能。まだ序盤なので補給は必要ないかもしれないが。

f:id:alasixOsaka:20210811110941j:plain
山を下りて、高倉台に向かう。

住宅街の中も基本的に案内の看板がちゃんとあって道に迷う心配はほとんどなかった。今回は、自作のGPSアプリをサブ機のAQUOS Sense Plusに入れて、Yamapのアプリをメイン機のRedMe Note 10 Proに入れて持って行った。GPSアプリと標識、看板の両方を見ると迷うことはほとんどないと思う。

須磨アルプスを越えて

高倉台を抜けると、栂尾山に登る。その先が有名な須磨アルプスになる。栂尾山へは長い階段を登る。普段、家の近所の階段を登ってトレーニングしているが、ここの階段はその倍くらいあった。

f:id:alasixOsaka:20210811111009j:plain
栂尾山への長い長い階段

階段を登り切りしばらく行くとようやく山頂に到着。ここまででスタートから約1時間。

f:id:alasixOsaka:20210811111031j:plain
栂尾山山頂付近の案内看板

栂尾山から山続きですぐに横尾山に到着。

f:id:alasixOsaka:20210811111056j:plain
横尾山の山頂

横尾山を過ぎるといよいよ須磨アルプスに差し掛かる。突然風景が変わって荒涼とした岩稜帯になる。何とも言えない風景だった。そして、足元が不安定でちょっと怖い。

f:id:alasixOsaka:20210811111303j:plain
須磨アルプスの開始
f:id:alasixOsaka:20210811111330j:plain
荒涼とした岩稜帯が広がる

ハイライトは馬の背と呼ばれる細尾根。ここはかなり怖かった。滑ると一気に滑落する。慎重に進む。

f:id:alasixOsaka:20210811111459j:plain
須磨アルプスのハイライト馬の背

須磨アルプスを過ぎるとまた住宅街に入る。地下鉄の妙法寺駅付近に降りてくる。

f:id:alasixOsaka:20210811112050j:plain
住宅街の中にも標識があって迷いにくい

途中高速をくぐったりするところもある。

f:id:alasixOsaka:20210811112141j:plain
阪神高速は地下をくぐる

そして、通りの激しい道路を横切る。山歩きをしている感覚を忘れるような風景だ。この幹線道路沿いにコンビニがある。
今回は、まだ水分も十分あったのでスルーした。こういった補給ポイントを有効に活用すると荷物をかなり軽減できると思う。
妙法寺を過ぎて高取山に向かう。

f:id:alasixOsaka:20210811112329j:plain
ここは妙法寺

高取山に向かうあたりは道が曲がりくねってちょっとわかりずらかった。GPSを見ながら道を確認して進んだ。

f:id:alasixOsaka:20210811112515j:plain
高取山に向かう道。少し道がわかりづらいところがある。

高取山の山頂は神社になっている。山頂は全縦のルートから外れているので例によってスルー。

f:id:alasixOsaka:20210811112631j:plain
高取山の山頂への階段。ここはスルーして先に進んだ

高取山を降りるとまたまた住宅街。丸山というところにでる。この辺りも少し道迷いの可能性のあるところ。

f:id:alasixOsaka:20210811112810j:plain
丸山付近の道。少しわかりにくかった。

菊水山でグロッキー

丸山の住宅街を抜けると源平合戦で有名な鵯越駅に出る。ここにも案内の標識があるが、少し道がわかりにくい。正解ルートは駅の右手の細い道を進む。この道の入り口が目立たないのでうっかりしていると通り過ぎて駅の反対に行きそうになる。

f:id:alasixOsaka:20210811113018j:plain
鵯越駅。ルートは駅の右手を進む。

鵯越駅を過ぎると菊水山に登る。ここがとってもきつかった。行けども行けども着かない。途中にあと1㎞の看板が2つもあるし。そして、どちらの看板からも山頂までは1㎞以上あった。頼むからいい加減な標識を立てるのはやめて欲しい。もうすぐだと思って頑張ってもまだまだ着かない。それの繰り返しで、頂上に着いた時にはすっかり消耗してしまった。山頂手前で後ろから、トレイルランナーらしき人が登ってきた。自分よりかなり速いペースだ。おそらく全縦をするのかな。自分はできなかったけど。

f:id:alasixOsaka:20210811113458j:plain
菊水山の山頂。ここがおそらく前半のハイライト

菊水山到着は10時20分。ここまででほぼ想定通りのペース(コースタイムの60%)。しかし消耗が激しく、到底最後まで行ける気がしなくなってきた。とりあえず、ここで休憩をとって昼食のおにぎりをほおばる。
ハイドレーションの塩梅水の氷はとっくに溶けてしまっていて、ぬるいというか、背中の体温であったまっている状態になっている。そこで、山専サーモスに入れて来た氷水を飲む。冷たくて気持ちがいい。夏場は冷たい飲み物がやっぱりいい。この先の補給が心配なので、がぶ飲みして全部飲みそうになるのをこらえて少し残しておく。
菊水山の下りもつらかった。ごつごつした岩がゴロゴロしていて、疲れた足を容赦なく痛めつけるので全くスピードが出ない。この辺りで予定のペースから遅れ始める。しかしスピードを上げようにも体が言うことを聞かないので、いよいよ途中リタイアが頭をよぎる。下りきると天王吊橋に出る。フラットな地面が足にやさしい。

f:id:alasixOsaka:20210811114430j:plain
天王吊橋。

ついにリタイアを決断

次は鍋蓋山を登る。続けるにしてもやめるにしてもここは登っておくことにする。まだ午前中だし、行けるところまで行こうと思った。登りは菊水山ほどでもないが、すでに足が動かなくなっているので立ち止まる回数が格段に増えた。ゆっくり登ってようやく山頂に到着。

f:id:alasixOsaka:20210811114923j:plain
鍋蓋山の山頂
f:id:alasixOsaka:20210811115022j:plain
鍋蓋山山頂からの景色。神戸の街が近い

山頂には、女子高生の山岳部員だろうか、元気な笑い声が響いていた。つくづく、若いっていいなと思った。大きな荷物を担いでいるのに元気いっぱいでうらやましかった。彼女らとは結局、新神戸駅までほぼ同じペースで進むことになった。
山頂でまた、休憩。こんな頻繁に休んでいては到底完走はおぼつかない。途中リタイアは菊水山でほぼ決めていたが、問題はどこでリタイアするか。地図アプリを見ながら検討する。市ケ原から新神戸に降りるか、摩耶山まで登って、ロープ―ウェイで降りるか。摩耶山まではまた結構な登りが待っているので、市ケ原まで行って降りることにした。これでコースの約半分なので、残り半分は後日に残しておこうと思った。
鍋蓋山を下りて、再度山(山の名前です)の下に出て、大龍寺の方に向かう。不思議なものでリタイアを決めると少し元気が出てきた。この分なら摩耶山も行けるかと思ったが、登りのきつさを考えるとやめておくのが賢明だと思い直して、予定通り新神戸駅に向かう。大龍寺手前の善助茶屋跡付近に自販機があったのでここで水を買って飲む。冷たい水が本当に気持ちいい。水を飲んで休んでいると、さっきの女子高生たちが降りてきて同じように自販機で水を買っていた。ここは彼女たちが先に出発した。Mag-Onのジェルを食べて最後のエネルギー補給をする。大龍寺の山門を過ぎて市ケ原に向かう。

f:id:alasixOsaka:20210811120039j:plain
大龍寺の山門。新しくて立派。

市ケ原からいよいよ全縦のルートと別れて新神戸駅に降りていく。比較的緩やかな下りが続いて歩きやすいが、走ると足が痛い。もうゴールするだけなのであまりペースを上げずにゆっくり進むことにする。
途中、布引の滝を通る。ここはもう、新神戸駅から300mの地点。新幹線の駅のすぐ近くにこんなところがあるのはなんか不思議な気がする。

f:id:alasixOsaka:20210811120454j:plain
布引の滝。新神戸駅からすぐなのに山の中という不思議。

12時35分にようやく新神戸駅に到着。駅手前にトイレがあったので、ここで、マイクロファイバータオルを濡らして体を拭いて、汗にまみれたシャツを着替える。
このマイクロファイバータオルはファイントラックのものだが(そうと知らずに買っていた、ファイントラックというメーカーを知ったのはもっとずっと後のこと)、本当に優秀で、水で濡らして体を拭くとさっぱりして気持ちがいい。
そして、最後の水を飲み干す。本当に冷たい水がありがたい。
新神戸の駅に行くと、またまた女子高生たちがいた、結局鍋蓋山からここまで同じペースだった。

今回の反省

見通しの甘さ

やっぱり六甲山全縦は厳しい。ある人のブログに歩いて11時間、トレランで8時間くらいと書いてあった。さすがに8時間は無理にしても、去年大峯山で9時間活動したので、最後まで行けると思っていたがそれは甘かった。というか、歩いて11時間というのはかなりのペースでちょっと信じられない気がする。今回は長丁場なので緩い下り区間と、住宅地の中くらいしか走っていないが、それでも歩くよりは早いと思っていたが、ペースを振り返ってみると、菊水山までのペースで全コースを走破しないと11時間では行けないはずで、自分の体力を考えるとこれは相当に厳しいということを思い知らされた。春に日の長いときにほぼ歩きで挑戦してみるのもいいかもしれない。それまでにもっと鍛えておかないといけないが。

装備に関して

今回は直前まで大峯山に行くことを想定して装備の準備をしていたので、それをそのまま流用して、防寒具や予備の水筒など不要なものを減らすということをしたが、終わってみての反省事項としてはやっぱり、コースの状況を考えてもう少し違う装備にした方が良かったように思った。特に、雨具をちゃんとしたのにしたり、水筒を山専サーモスにしたりと、それだけで重量が結構増えていて、後半にこの重さが結構堪えた。水筒は普通のサーモスに変えると結構重さは軽くなるし、途中で補給できるところが何カ所もあることを考えるとなくてもいいくらいかもしれない。雨具も低山で夏、ということと、天気予報を見ると、ズボンは不要で、上着も軽量のウィンドブレーカーでもよかったのかなと思っている。この2つで相当に重量が軽くできる。また、替えのズボンも持って行ったが、これも結局不要だった。シャツの着替えはあった方が終わってからすっきりするので持っていく価値があると思うが、いずれにしても一つ一つ、持っていくメリット、デメリットを再検討して装備を決めるべきだった。

コースの下調べ

一応、コース全体のルートは見ていて、GPXファイルに落としてあったので、それを地図アプリに入れて持って行ったが、どこが登り下りが厳しくてどこが緩いのか全く頭に入ってなかった。とりあえず摩耶山まで登り切ればなんとかなるだろうと考えていたが、菊水山があんなに厳しいとは思ってもいなかった。準備不足と言われても仕方がない。コースタイムの60%にこだわらずに、もう少し体力を温存して菊水山を登れば、摩耶山、六甲山までは行けたかもしれない。

色々反省点が多く、とても勉強になった一日だった。それでもやっぱり最後は体力がものをいうので鍛え方が足りなかったの一言に尽きる。ポンポン山くらいは登っておくべきだったと反省している。前の2回の大峯行ではいずれも、意図したわけではなかったが、ポンポン山に登っていてそれなりに山に登るという筋肉をつけていたので無事に行ってこれたのだろうと、今から振り返ると思っている。あまり山を舐めない方がいいというのが結論になる。

PC SSDのお引越し

パソコンのCドライブがいつの間にかほぼ満杯になっていたので、新しいSSDに交換することにした。

エクスプローラーで空き容量を確認すると14GBと残り僅かになっている。Gドライブも同様に残りが少ないがこっちはデータ用のHDDなので、不要なデータを削ったり、必要なら別ドライブに移すなど方法がある。

f:id:alasixOsaka:20210731210054j:plain
Cドライブの残り容量は14GB、Gドライブも赤表示だがこっちはデータを削ればOK

しかし、Cドライブについては、自分の場合、SSD化するときにドキュメントとかピクチャなど、各ユーザー名に紐づけられて自動的に作成されるフォルダはWドライブに移してあるので、Cドライブの中身はWindowsのシステム以外には大半がインストールされているソフト。今使っているSSDは256GBあるのだが、いつの間にか満杯になっていて、使ってないソフトやデータを削除してもたいして空き容量が増えず、仕方ないのでもっと大きなSSDに交換することにした。
自分が使っているマザーボード(MB)は、GIGABYTEのH370HD3というATXフォームファクタのMBで、SSD用のM2スロットが2つある。
www.gigabyte.com

現在はCドライブ用にそのうちの1つを使用しているので、新たなSSDをもう一つのスロットに装着してクローンを行った。自分は、パソコンを自作し始めて30年近くになるが、自分用のPCについては拡張性を考えて、MBはATXのを選ぶようにしている。昔は、PCIスロット(さらに昔はISAスロット)にグラフィックスボードやサウンドボード、LANボードなどを接続して機能を拡張していたものだ。最近のMBはほとんどがそういった機能はオンボードになっているので拡張スロットをのお世話になる機会はめっきり減ったが、それでもドライブの接続数などATXの方が現在でも拡張性が高いので使い続けている。今回も、初めからCドライブの引っ越しを想定してたわけではなかったがM2スロットが2つあるMBのお陰でクローンの作業は簡単に行うことができた。
今回購入したSSDはCrucialのもの。サイズは2280、容量は500GB。パソコン工房から購入。税込みで¥6358だった。SSDもずいぶん安くなったものだ。古い方のSSDは256GBで確か1万円を超えていたと思う。

f:id:alasixOsaka:20210731211335j:plain
今回購入したSSD

取り付け

ケースのふたを開けて取り付けにかかる。

f:id:alasixOsaka:20210731211825j:plain
ケースの蓋を開けて内部を確認。下の方にM2の空きスロットがある

M2の空きスロットに今回購入したCrucialのSSDを差し込み、ねじで止める。

f:id:alasixOsaka:20210731211951j:plain
SSDを取り付けたところ

取り付け終わったらWindowsを立ち上げ、フォーマットをすればOK。このとき注意するのは、古いSSDと同じ形式でフォーマットした方が作業がしやすいということ。古いSSDMBRでフォーマットされていたので新しい方のSSDMBRでフォーマットした。

クローン作業

フォーマットが終わるといよいよクローンに取り掛かる。今回は、AOMEI Partition Asistantというソフトを使った。ネットで調べると定番なのはEaseUS Todo Backupというソフトを使うのが定番のようだ。自分も以前は確かこのソフトを使ったと思う。しかし、今はクローン作製は有料版でしかできないようになっているようで、別のソフトを使うことにした。バックアップを作ってブートディスクでブートして復元するという方法なら無料版でクローンを作れるようだが、面倒なので、一発でクローンを作れる方法にした。AOMEI Partition AsistantはPCにインストールされているというのもあった。
起動すると、クローンというメニューがあるので、クリックしてコピー元とコピー先を選んで作業はほぼそれで終わり。パーティションの設定で、コピー元に合わせるか、コピー先に合わせるか、自分で編集するかという選択肢があるので、今回はSSDのサイズが約2倍になるため、コピー先に合わせるを選択。また、同じ画面の下の方にSSDに最適化するというチェックボックスがあったのでチェックを入れておいた。
起動ディスクなので、WindowsPEを作成しますというようなメッセージが表示され、WindowsPE上でコピーが進む。この時、元々はDisk0からDisk1にコピーする設定だったのが、Disk4からDisk5にコピーするという設定になっていて少し不安だったが、何事もなく無事にコピーが終了。
AOMEI Partition Asistantの使い方は下記のサイトが詳しいです。自分はStandard版を使いました。フォーマットがGPTの場合は有料版が必要なようです。
www.aomei.jp
コピーが終わると、自動的に再起動がかかりWindowsが立ち上がった。
ただし、このときはまだ古いSSDから起動しているので、BIOSで起動ディスクを変更し、新しい方のSSDを起動ディスクに設定してWindowsを起動すると無事に起動した。

f:id:alasixOsaka:20210731213552j:plain
起動ドライブ変更後。Cドライブの容量が増えて青表示になった。

ということで、容量問題は特にトラブルもなく解決した。
今回は、Windowsの再認証も求められなかった。通常Cドライブを変更した場合、たいていはWindowsの再認証を求められるのだが、古いSSDがくっついているからかもしれない。古いSSDをどうするかはこれから考えないといけないが、とりあえずしばらくはこのまま使おうかと思っている。

Android 地図アプリの修正 その2

先日、AndroidのバージョンをAndroid11にしたら、地図アプリの軌跡が表示されないという不具合を発見した。
alasixosaka.hatenablog.com
エミュレータの問題も一応解決したので、不具合を解消した。エミュレータの方はまだなんとなく不安定ですが、とりあえず動いているのでまあ良しとすることに。
alasixosaka.hatenablog.com

さて、今回の不具合は2カ所。
・Android11では軌跡が表示されない。
地磁気センサーの取得間隔がおかしくなって、地図の回転が速すぎて見ずらい。
例によって、色々試行錯誤したので、何が正解なのかわからないところもありますが、とりえず備忘録として書き留めておくことにします。

Android11で軌跡を表示する

まずは1点目から。Android11ではバックグラウンドでのGPSの使用に厳しい制限がかかっているらしいということは前回書きました。

Android9以前は、フォアグラウンドでGPSの位置情報取得に許可を与えると、自動的にバックグラウンドでも許可が与えられていました。
Android11では明確にその部分が区分けされたようです。
blog.ch3cooh.jp
上記のサイトを見ると、そもそもバックグラウンドでの位置情報の更新頻度はとても低く、地図アプリで通過してきたところを軌跡で表示するようには向いていないようです。
結論から言うと、それでも、Android11では明確にバックグラウンドでの許可がいるようでした。
始めは、バックグラウンドは関係ないと思い、マニュフェストに以下の文を追記してみました。

<service
    android:name="XXXXXXX"
    android:foregroundServiceType="location" ... >
    <!-- Any inner elements would go here. -->
</service>

XXXXXはアプリの名前です。その下に、android:foregroundServiceType="location" を追記するだけです。AndroidデベロッパーサイトにはAndroid10からこの記述が必要となっていましたが、手持ちのAQUOS Sense Plus(Android10)では、この一文が無くてもちゃんと動いていました。Android11のRedMe Note 10Proでも軌跡が表示されないこと以外はまともに動いていたので謎ですが。
developer.android.com
とりあえず、小さなアプリで動くかどうか試してみました。
akira-watson.com
上記のサイトのアプリをそのままエミュレータで動かしてみました。
すると、foregroundServiceType="location"の一文を入れなかったときは、バックグラウンドでの位置が更新されなかったのが、更新されるようになって改善されているようです。

ところで、この修正は曲者で、Android10以降で有効になるようなのです。つまり、それ以前のOSがターゲットだとエラーになるらしく、ググって、下記のスタックオーバーフローの書き込みを見つけました。
stackoverflow.com
解決策その2の、tools:node="replace"というのは何のことやらさっぱりわからんので、ターゲットをAndroid10以上に設定し直してコンパイルするとOKになりました。それ以外にも、小さなエラーはいくつかあったのですが、エラーメッセージをググって解決しました。どうも、Android Studioのバージョンを上げたおかげで構文のチェックが厳密になったようで、以前なら問題なかった記述がいくつかエラーで引っかかってしまいました。
さて、これで問題なかろうと、地図アプリの方もマニュフェストを修正して、実機で試してみました。
ところが、どうもこの方法ではまずいらしく、画面をオフにしたり、バックグラウンドに持っていくと軌跡が表示されませんでした。

やっぱりバックグラウンドは必要か?

ちなみに、バックグラウンドでGPSを使う場合には、同じサイトに記載されているように、マニュフェストにuses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION"を追加して許可を取る必要があります。
そうしておいて、MainActibityのパーミッションのところに、下記のように if(Build.VERSION.SDK_INT>=30){... を追記して、Android11以上で、バックグラウンドパーミッションを取りに行くようにしました。

if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED)  {
            ActivityCompat.requestPermissions(this,
                    new String[]{Manifest.permission.ACCESS_FINE_LOCATION,},
                    1001);
            //return;
        }
        if (Build.VERSION.SDK_INT>=30) {
            if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_BACKGROUND_LOCATION) != PackageManager.PERMISSION_GRANTED) {
                ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.ACCESS_BACKGROUND_LOCATION,}, PERMISSION_BACKGROUND);
            }
        }

        final int permission = ContextCompat.checkSelfPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE);
        if (permission != PackageManager.PERMISSION_GRANTED) {
            ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.READ_EXTERNAL_STORAGE}, PERMISSION_REQUEST_CODE);
        } else {
            clickWait();
        }

すると、位置情報の許可の画面に、位置情報設定に誘導するような表示が追加されて、そこをクリックして、位置情報設定に進んで、常に許可というのを選択すると良いようです。
スクリーンショットを取り忘れたので、ネットから適当に拾ってきた画像を貼ります。ほぼ同じ画面が表示されました。

f:id:alasixOsaka:20210725152830j:plain
位置情報取得の許可を設定する画面。

左の画面で、設定をタップすると、右の画面が表示される。ここで、常に許可を選択する。そうするとバックグラウンドでの許可が与えられるようです。
それで試してみると、家の中をウロウロした限りでは軌跡が表示されるようになりました。ところが、外に持ち出して、しばらく歩いてみると、途中で軌跡が途切れて、画面をオンにしたところに飛んでしまいました。どうも途中で省電力が働いたようです。
がっかりしたのですが、また、いろいろ調べると、結局これはアプリの問題でなく、端末の省電力設定の問題だとわかりました。

端末側で設定する。

Huaweiの端末では、以前からバックグラウンドで動いているアプリが停止するのが問題になっていたようです。
2ndart.hatenablog.com
このサイトを見て、もしやと思い、自分の端末でも設定をチェックしてみました。
すると、案の定バッテリーセーバーが機能していました。これを解除することで軌跡が正しく表示されるようになりました。

f:id:alasixOsaka:20210725160024j:plain
端末の設定を開いて、アプリを選択する
f:id:alasixOsaka:20210725160148j:plain
アプリの管理を選択
f:id:alasixOsaka:20210725160232j:plain
地図アプリを選択
f:id:alasixOsaka:20210725160315j:plain
バッテリーセーバーを選択
f:id:alasixOsaka:20210725160358j:plain
当初は、バッテリーセーバー(推奨)が選択されていた。制限なしに変更する

アプリを動かしていると、アプリがバックグラウンドで位置情報にアクセスしていますといったメッセージが表示されるようになった。
これでとりあえず、問題は解決。

センサーの取得間隔について

結局こっちのほうが謎だらけで、結局力業で解決することになりました。
センサーの取得間隔については、一部のセンサーを除いて、間隔を指定することができるのですが、どんなセンサーが間隔指定できるのかは下記のサイトに詳しいです。
akihito104.hatenablog.com
スマホの向きを知るために、加速度センサーと地磁気センサーを使っているのですが、地磁気センサーの方は間隔指定が有効のはずですが、上記のサイトを参考に簡単なアプリでテストしたところ、とっても妙なことがわかりました。

AQUOS Sense Plusでは間隔は約0.5秒が最長。

まず、AQUOSでテスト。取得間隔は、センサーマネージャーの引数にマイクロ秒単位で指定できる。1秒に設定する場合は下記のようになる。
manager.registerListener(sensorEventListener, sensor, (int) 1e6, handler);
ところが、AQUOSではこの数値で取得間隔チェックしたところ何故か0.5秒程度で値が更新されてしまう。しかも値はあまり安定していない。いくら数値を大きくしても同じだった。

RedMe Note 10Proはもっと謎な挙動

今度はRedMe Noteでやってみた。こちらは、取得間隔はほぼ正確に1秒単位であった。ちゃんと設定が効いているじゃないかと思って地図アプリの方を確認すると、当たり前のように画面がふらふらと動いて、どう見ても1秒間隔ではない。おかしいと思って、色々いじくった結果、どうもGPSがOnになっていると設定が無視されてしまうようで、メチャメチャ短い間隔で更新されることが分かった、正確に覚えていないがだいたい200mSくらい。これは、数値指定でなく、コマンド指定でDELAY_NORMALを選んだ時と同じ。どうも数値指定の設定が無視されてしまうみたいだ。そりゃ地図がふらふら動くはずだ。
でも、プログラムを見てもGPSの処理と、加速度センサー、地磁気センサーの処理は別々にやっていて互いに影響するようには到底思えず、結局原因がわからないまま、タイムスタンプを確認して、1秒以上たっていたらセンサーの値を更新するようにして解決した。具体的にはonSenserChangedのところで、地磁気センサーの値が更新された場合に、まず long now = event.timestamp;でタイムスタンプを取得し、元々、if(fAccell!=null) { と、加速度センサーの値も更新されていた場合にセンサー値を書き換えていたものを、if ( (fAccell!=null)& ( (now-post)>1000000000)) { というように、1秒以上たった場合の条件を追加し、センサー値の更新かつ1秒以上たった場合に値を更新するように書き換えた。この修正は、RotateMapViewer.javaとRotateMapViewer2.javaの2カ所に必要です。前者は高低図を表示しない時のルーティンで、後者は高低図を表示したときのルーティンです。

 public void onSensorChanged(SensorEvent event) {
                switch (event.sensor.getType()) {
                    case Sensor.TYPE_ACCELEROMETER:
                        fAccell = event.values.clone();
                        LowPassFilter(fAccell);
                        break;
                    case Sensor.TYPE_MAGNETIC_FIELD:
                        fMagnetic = event.values.clone();
                        LowPassFilter2(fMagnetic);
                        long now = event.timestamp; // nano sec.
                        Log.d("1", "sensor: " + event.sensor.getType() +
                                ", interval: " + (now - post) / 1000 /* micro sec. */);
                        if((fAccell!=null)&((now-post)>1000000000)) {
                            post = now;
                            float[] inR = new float[9];
                            SensorManager.getRotationMatrix(inR, null, fAccell, fMagnetic);
                            float[] outR = new float[9];
                            SensorManager.remapCoordinateSystem(inR, SensorManager.AXIS_X, SensorManager.AXIS_Y, outR);
                            float[] fAttitude = new float[3];
                            SensorManager.getOrientation(outR, fAttitude);

かなり強引な力業だがこれしか解決法が思いつかないので仕方ない。とりあえず、これでしばらく運用することにする。

ウォシュレットを交換

長年使っている我が家のウォシュレットの調子が悪くなったので交換しました。家を建てたときから使っているのでかれこれ20年近くになる。よくもったものだ。2階に同じやつをつけていたが、これはだいぶ前に壊れて交換している。その時は工務店の方にお願いしてやってもらったが、今回は自分で取り付けに挑戦してみた。作業時間は、掃除、取り外し、取り付け、全部で1時間くらいでした。
今回取りつけたのはこちら、

TOTOのウォシュレットKMシリーズになります。昔の貯湯式でなく、瞬間式という方式で、電気代がかなりお得になるようです。瞬間湯沸かし器でお湯を沸かすイメージなのかな?
便器もTOTOだし、今ついているのもTOTOのウォシュレットなのでTOTOの中から選びました。

まずは取り外しから

今ついているウォシュレットを取り外します。その前に、水道の栓を閉めて、水が漏れないようにします。栓はマイナスドライバーで回すだけです。
そして、電源プラグとアース線を取り外します。それから水道のホースを外します。

f:id:alasixOsaka:20210718151227j:plain
まずは、水道の栓を閉めて、ホースを取り外します。

ホースはガスのカチットのようなもので止まっているだけなので取り外しは簡単。中にたまっている水が出てくることがあるので念のため洗面器を置いてあります。

f:id:alasixOsaka:20210718151416j:plain
ホースを外したところ。灰色の部分を押し込んでホースを引っ張ると簡単に外れる

取り付けも簡単だと思っていたが、取り付けは同じようにできなくてここが一番の苦労した点。
ホースが外れたら本体を外します。本体右のボタンを押すとロックが外れて、手前に引くと簡単に取り外せます。

f:id:alasixOsaka:20210718151855j:plain
本体を外したところ。長年の汚れがたまって汚いですね。

ベースプレートも交換するので取り外します。ドライバーでねじを外して、ゴムのブッシュを引っ張れば外れます。

f:id:alasixOsaka:20210718152029j:plain
ベースプレートを外したところ。

これで取り外しは完了です。とても汚いので、ここでお掃除タイム!! 積年の汚れは簡単に取れないので、そこそこで諦めて取り付けに移ります。

まずはベースプレートの取りつけ。

ベースプレートから取り付けます。紙がついているのですが、位置決めをするためのものらしいので外さないで写真のように組み立てて使います。子供の頃の雑誌の付録を思い出してしまいました。

f:id:alasixOsaka:20210718152309j:plain
ベースプレートについてきた紙は組み立てて使う。

紙がついたままベースプレーを便器に取り付け、便器の端までの長さを測ります。我が家の便器は47cmでしたので、大型の便器になるそうです。デフォルトが大型に位置に設定されていたので、紙を外して、ねじを仮止めします。

f:id:alasixOsaka:20210718152907j:plain
紙をつけたままベースプレートを取り付けます。ねじは仮止めです。
f:id:alasixOsaka:20210718153000j:plain
位置がOKなら、紙を外してしっかりと固定します。

本体の取りつけ。

ベースプレートがついていたら、本体は手前からスライドさせるだけで簡単に取り付けられます。ベースプレートを仮止め状態で一旦取り付け、位置を確認します。便器もTOTO製なので位置はばっちりです。
本体を一度外して、ベースプレートをしっかりと固定します。説明書にはねじが動かなくなるまでと書いてありましたが、どんどん閉まって行って本当に動かなくなるのかと思ってしまいました。かなりねじ込まないと固定できませんでした。
ベースプレートを固定したら本体をもう一度取り付けます。これで本体の取りつけは完了です。

最大の難所だったホースの取りつけ

ホースの取りつけは冒頭にも書いたように取り外しのように簡単にはいきませんでした。上の写真でわかるようにカチットのようなもので簡単に固定できるものと思い込んでいたのですが、今回の製品には分岐水栓があらかじめ取り付けられた状態でホースがついていました。したがって、今ついている分岐水栓を取り外して、新しいのに交換することになります。最大の難所なんて大げさに書いていますが、作業自体は大したことはありません。上下のねじを緩めて分岐水栓を取り外し、新しいのに交換するだけです。スパナは製品にもついてきますが、ちゃっちいので手持ちのモンキースパナを使いました。

f:id:alasixOsaka:20210718153429j:plain
分岐水栓ごと交換が必要だった

ということで、写真のように無事交換することができました。
アースとコンセントを繋いで本体は終了です。

f:id:alasixOsaka:20210718154857j:plain
本体の取りつけは無事完了。

後はリモコンだけです。

リモコン用のプレートを取り付ける。

今回選んだ製品はリモコン式になっているので、リモコンをどこかに付けないといけません。リモコン式でなくてもよかったのですが、瞬間式はリモコン方式のみで、本体にボタンのついているタイプはすべて貯湯式ということで選択の余地がありませんでした。始めはちゃんと固定しなくてもどこかに置いておけばとも思ったのですが、やっぱり壁に固定しないとどうにも使い勝手悪いので壁に固定することにしました。
そのためにはリモコン用のプレートを壁にねじ止めする必要があります。壁に穴を開けるのはちょっと抵抗があるのですが、まあ仕方ないので覚悟を決めて、取り付けました。

f:id:alasixOsaka:20210718153957j:plain
リモコン用のプレートを取り付けたところ

取り付け用のねじが結構長くて疲れました。こんなに長くなくても良いのではと思いましたが、別のねじを探したり、買ってきたりするのは面倒なのでそのまま付属のねじを使って固定しました。
プレートがついたら、リモコンを取り付けて完成です。

f:id:alasixOsaka:20210718154154j:plain
リモコンを取り付けて完成

思ったより大変なこともなく割とすんなりとつけることができました。さすがにメーカーさんはその辺のところをよく考えておられるなあと思いました。
それにしても、我が家のトイレは板張りなのですが、板が所々剥げてきているので、次回はトイレのリフォームをちゃんとやらないとダメかな。

Android Studioでエミュレータが起動しない

スマホを新しいのにしてAndroidのバージョンが上がったおかげで地図アプリに不具合がでたことを先日書いた。
alasixosaka.hatenablog.com
ググると、Androidの新しいバージョンではバックグラウンドでのGPSによる位置情報取得が厳しく制限されているらしい。とくにバージョン11からはかなり厳しいようなので、アプリの設定も見直す必要があるようだ。
ということで、Android Studioエミュレータを使って状況を確かめようとしたら、エミュレータが起動せずはまってしまったというお話。
こんかいも、あれやこれや試行錯誤したので、何が悪くて何が良かったのかはっきりはしないが、状況とやったことを備忘録として書いておくことにする。

AVDマネージャーでAndroid11(API30)をインストール

まずは、Android11が動く仮想端末を作らないといけないので、いつものようにAVDマネージャーから新しい端末を作成して、OSにAPI30(Android11)を指定した。API30はダウンロードされていなかったので、まずダウンロードをクリックして、OSをダウンロード。仮想端末を作成した。端末は何でもよかったが、新しい方が良かろうということでPixel XLを選択した。
作成は無事に終了したが、起動しようと右の矢印をクリックすると、エラーを吐いて止まる。”The emulator process for AVD Pixel_XL_API_30 was killed”と表示されている。API29も試してみたが、こちらは端末の画面が出てくるが電源がONにならないという謎の現象。

HAXMが入ってないとダメ

ググると、HAXMを新しいのにしなさいというサイトがあったので、サイトの通りに、直接インテルのサイトからダウンロードしてインストールした。
しかし状況は変わらない。(自分の場合このやり方を最初に試したのはまずかったようだ、理由は後で)

Android Studioのアップデート

次に、Android Studioをアップデートしてみた。仮想端末のOSが新しいので、Android Studio自体もアップデートしないと対応していないのかと思った。
しかし、状況は同じ。

Android SDKのインストール

さらに調べると、ただAndroid Studioのバージョンを新しくしただけではSDKが古いままで、新しいOS用のがインストールされていないらしいことが分かった。
www.kunimiyasoft.com
リンクのサイトの下の方に書いてあります。たしかに、設定画面を開いて、Android SDKのところを開くと、インストールされているSDKの一覧が表示される。ここで、API29もAPI30もチェックが入ってなくて、インストールされていなかった。

f:id:alasixOsaka:20210722144015j:plain
Android Studioの設定画面。インストール後なのでチェックが入っているが、API29、API30にチェックが入ってなかった

絶対原因はこれだと思ったが、インストールしても相変わらずの症状。

HAXMをAndroid Studioからインストール

最初にこれをやればよかったのに、初めに見つけたサイトの方が直接インテルサイトからダウンロードしてたのでそれに従ったが、Android Studioからインストールする方が正当なやり方のようです。
先ほどの設定画面で、真ん中のSDK Toolsを開くと下の方にHAXMインストーラーの項目がある。

f:id:alasixOsaka:20210722144848j:plain
真ん中のSDK Toolsのタブを開いたところ

HAXMインストーラーにチェックが入っていなかったのでチェックと入れる。
しかし、インストールに失敗する。ここでは、インストーラーをダウンロードするだけなので、該当のフォルダを開いてインストーラーを動かしてやる必要があるが、フォルダの中身は空っぽ。
ちなみに、場所は”C:\Users\ユーザー名\AppData\Local\Android\sdk\extras\intel”でした。

VT-x、Hyper-Vの確認

これも、ぐぐると良く出てきますが、古いパソコンでVT-xに対応していないとダメらしい。また別のソフトなどでHyper-Vを使っていてもダメ見たい。
akeyfn.xyz

しかし、CPUはIntelのCorei7だし、Hyper-Vを使うようなソフトを入れた覚えもないので違うと思っていたが、ここまであれこれやってダメなのでひょっとしたらと思い確認した。
VT-xの確認はBIOS画面で確認するとVT-dというのが有効になっていた。また、Windowsの機能を開いてHyper-Vを確認したがチェックが入ってなかったので問題なし。
ということでこれもはずれ。

カスペルスキーを停止

セキュリティソフトが悪さをするということなので、カスペルスキーを停止して再度やってみる。今度はフォルダを覗いてみるとファイルが入っていてインストーラーがダウンロードされていた。
インストーラーをクリックすると、新しいHAXMがインストールされているのでインストールできませんというようなメッセージが出た。始めに入れたのが有効に機能している様子。
しかし、エミュレータについてはこれでも同じ状況。

初めに入れたHAXMをアンインストール

HAXMは入っている状態だが、Android StudioSDK Toolsを見ると、未インストールのままになっていて、気持ち悪いので、コントロールパネルからプログラムと機能を開いて、初めにインストールしたHAXMをアンインストール。
この状態で、SDK ToolsのHAXMインストーラのチェックを入れてみると、intelのフォルダにもう一つインストーラーの入ったフォルダができていた。

f:id:alasixOsaka:20210722151901j:plain
インストーラの入ったフォルダが2つ

一応新しい方を開いてインストーラーを起動してインストール。これで、SDK Toolsの表示はインストール済みに変わった。
しかし、状況は変わらない。

何故か魔法の呪文で解決。

ようやく解決です。でも何をやっているのかさっぱりなんですが、とりあえず動くようになりました。
じつは、エミュレータ―の起動に失敗したときに、”The emulator process for AVD Pixel_XL_API_30 was killed”と表示された裏にもっと詳しいエラーログが出ているのに途中で気づいてはいた。しかし、内容がよくわからなかったので、いろいろなサイトを見て解決策を探っていたが、もうどうしようもないので、この文章をコピーしてググってみると見事に解決策が見つかった。
何が書いてあったかというと、下記のようなメッセージ。
Android Emulator closed because of an internal error:
gpu found. vendor id xxxx device id yyyy
checking for bad AMD vulkan driver version...

GPUのドライバーが云々とか何かわからんので、googleにかけてみると、下記のstack overflowのページが最初にヒットした。
stackoverflow.com
同じエラーにあわれた方が質問をしていて、解答がいくつか書いてある。
最初の解決策はドッカ―を外すとうまくいったとか書いてあって、ドッカ―って何だみたいな話になって、どうも違うっぽい。ひょっとしてグラフィックスカードのことを言っているのかとも思ったが。
次の解決策はなんだかよくわからんが、advancedFeatures.ini というファイルを作成して、中に下の二行を書いて、C:\Users\\.androidのフォルダに入れるというもの。
Vulkan = off
GLDirectMen = on
全然わからん、魔法の呪文だが、何とこれをやったらうまく起動した。
ありがとうございました!!

しかし、たかがエミュレータでここまで苦労するとは思わなかった。恐るべしAndroid Studio

再び、大峯奥駈道に向けて

最近あまりブログを更新していませんが、どうもなかなか気が乗らなくて。精神的にちょっと来ているのかもしれません。緊急事態宣言は出たり引っ込んだり、居酒屋をターゲットにした対策以外はワクチンくらいしか打つ手もなく、それでもオリンピックは強行するという訳の分からない世の中になってきてませんか? 国民不在の政府って、この国は本当に民主主義なんだろうかと思ってしまいます。中国のことあれこれと批判できませんね。
まあ、愚痴ってばかりでもしょうがないので、ちょっとは前向きに生きようかと。
大峯奥駈道の分割縦走も本来なら今頃ゴールしている予定だったのですが、緊急事態宣言に振り回され、まだ2回しか行けてません。夏に3回目をトライしようと計画中です。これも、本来なら5月の終わりくらいに行く予定だったのですが、緊急事態宣言の発令、例年より早い梅雨入り、そして、坐骨神経痛の発症と色々重なって延期になっていました。
とりあえず、トレーニングをちゃんとしておかないとということで、昨日は林道を24㎞ほど走ってきました。本当は30㎞といきたかったのですが、体調が万全でないので少し抑えて24㎞にしてみました。
シューズはOnのクラウドベンチャーを履いてみました。この、クラウドベンチャーはトレランを始めた頃に買ったのとモデルが少し変わっていて、特に裏のソールがだいぶ変わっています。

昔のやつは、ただ溝が切ってあるという感じだったので、ぬかるみで結構滑ったのですが、改善されているようです。それでも、濡れた苔の上では滑りましたが(笑)。
それに、サロモンのクイックレースを使ってみました。トレイルを下っているとき靴紐のゆるみが気になることが良くありますが、こいつはそれを簡単に締め直すことができるのでなかなか良いです。

水分は、ハイドレーションに塩梅水を1.5L。本当は1袋に500mlの割合ですが、ケチって1袋のみで済ませました。500mlくらいの水に溶かして後は氷をたっぷり入れておきました。それでも半分くらいで溶けてしまいましたが。
また、林道沿いは途中で補充するところもないので、念のため500mlのペットボトルに水を入れて一晩凍らせて持っていきました。こいつも折り返しの地点では全部溶けてましたね。冷たいものを長持ちさせたければやっぱり山サーモスのような魔法瓶が必要ですね。ところで、ペットボトルをザックの前ポケットに入れておいたのですが、これは失敗でした。固いものを入れるとどうもしっくりと背負えないのか肩が途中で痛くなってきて、途中で後ろポケットに入れなおしました。ザックはサロモンのADV SKINを使ったのですが、前ポケットにはソフトフラスクでないとダメのようです。

トレランは坐骨神経痛に良いというのは本当か?

最近、どこかで、トレランは坐骨神経痛に良いという記事を見ました。書いていたのは、実業団のトップランナーの方で、坐骨神経痛に良いというのでトレランをやっているというような内容でした。自分も2月に坐骨神経痛を患って、ようやく回復してきたところですが、金曜日あたりからまた、お尻のあたりがピリピリしだして、ちょっとまずいなという感じで、その日はとりあえずロキソニンを患部に塗って様子を見て、最悪、だめなら途中で引き返すつもりでスタートしました。スタートして、しばらくするとやはりお尻のあたりがピリピリし始める。しばらくすると治るのですが、坂がきつくなると少し症状が出るような感じ、ただ、少しピリピリする程度で収まっているのでとにかく目標地点まで進むことに。目標地点は、萩谷の集落から林道をずっと登って行って金比羅山の手前の林道の分岐まで。トレーニングに集中していたので今回は写真が無く、地味な記事になってしまいますがご容赦ください。疲れが出てくるとピリピリも少しきつくなってきたが幸いなことに帰るまで強い痛みに変わることがなく予定通りに走り終えることができた。なんせ、次回の大峯奥駈道のコースは初めの2回と違って途中でエスケープするところがないので登り始めたら最後まで行ってしまうか、途中で引き返す以外にないということで、ここで坐骨神経痛が悪化したら断念せざるを得ないと思っていたので何よりでした。そして、家に帰って休んでいると、お尻のピリピリも嘘のように消えていて、なんか不思議な感じでした。実業団のトップ選手と私なんかでは練習のメニューも量も全く違うので比較はできないと思うし、この1回だけで結論を出すのは早計ですが、なんとなく良いかもしれないと思いました。

またしても、熱中症に。

前回、林道を走った時も少し熱中症になってしまいましたが、
alasixosaka.hatenablog.com
今回はもっとひどいことになってしまいました。帰ってしばらくすると頭が痛くなり、まあ、それは長い距離を走るといつものことなので気にしてなかったのですが、後頭部が熱を持っていて頭が全体に熱い。これは熱中症かもしれないということで、冷えピタシートをおでこと、後頭部に貼って寝たら一応治ったのでまあよかったかなというところです。しかし、50代の前半まではお日様カンカンの日中に外で活動していても何ともなかったので、今年になって急に暑さに弱くなった。これも年のせいなのかな? 困ったものだ。
ちなみに、走ると頭が痛くなるというのはきっと振動のせいだと思っている。子供のころからマット運動なんかをすると頭が痛くなって、初めのうちは頭の痛くなる理由がわからなかったが、ある日、友達にマット運動をすると頭が痛くなると言われて、自分も同じ症状だということに気が付いた。走るのは頭にかかる衝撃はマット運動ほどではないものの、長く走るとやっぱり頭にくる。なので、今回も始めはそうなのかと思っていたが熱中症だったようだ。後頭部に日が当たらないように帽子に日よけを付けたうえで、日よけ止めを塗っていたのに、熱中症とは。もう少し気を付けないといけない。

アンドロイド地図アプリはAndroid11に対応が必要。

実は、スマホAQUOS SENSE PLUSから最近、XiaomiのRed Me Note 10Proに変えた。AQUOSのバッテリーがへたって来たのでかえたのだが、Androidのバージョンが10から11に上がって、Android地図アプリにも不具合が出てしまった。今回は、そのRed Mi Note 10Proに地図アプリを入れて持って行ったのだが、一見したところちゃんと動いているように見えるのだが、軌跡を書いてくれなくなった。どうもバックグラウンドでGPSが動いていないようだ。また、地磁気センサーと加速度センサーの取得間隔も1Sと設定してあるのに設定が効いていないようで、画面が頻繁に回転して見づらい。センサー周りの扱いが変わっているようなので対応させる必要がありそう。Androidは本当にめんどくさい。対応ができたらまたブログに載せようと思うがいつになることやら。

次回は、一の垰から前鬼までの予定

とりあえず予定のトレーニングはこなせたので、大峯奥駈道に向けて準備を進める予定です。次回は、前回降りて来た行者還トンネルのあたりから登り始めて一の垰から奥駈道に合流、人気の弥山、八経ヶ岳へ向けたルートをとる予定。そこから太古の辻まで行って前鬼口に降りようと思っている。坐骨神経痛熱中症と不安はあるし、大阪のコロナ感染者もまた増えてきていて予断を許さないのでどうなることかわからないですがお盆休みに行こうかと思っています。
今回は、全くとりとめのない記事になってしまいました。

あ、ところでワクチンの接種券がようやく届きました。でも、ワクチンが足りないようで予約開始時期は未定とか。