Mazda3 のスローパンクチャー対処その3

まさかの結果でした。

前々回、ディーラに「パンクは見当たりません」と返された Mazda3。
funnelbit.hatenablog.com


しかし空気は抜けていく。その後自分でバルブコアも変えてみたのですが
funnelbit.hatenablog.com


やはり空気は抜けていく結果に。これは相当厄介なスローパンクチャーになっていると思っていたのですが....

近所のタイヤ屋に持って行くと一瞬で原因が判明。

思い切り釘が刺さっていました 😇

しかもトレッドのど真ん中に。


プロがこれ見逃すってあるのか...?いくらなんでも技術なさすぎでは....


ディーラを信じてトレッド部見なかった自分が間抜けでした。信用するんじゃなかった....


トレッド部分なのでパンク修理可能。数分で修理されました。


最近育児で忙しかったので、メンテはアウトソーシングということでディーラーに投げる気持ちだったのですが、今回の件もあって考えが変わりつつあります。


そもそも自分が買ったディーラはミスがめちゃくちゃ多くて、来店するたびになんかミスされるという状況でした。オイル交換してないのにオイル計リセットされる、ガラスコーティング依頼していたのにせずに車を渡される、配線修理したら内装パネルが開きっぱなし、メンテパック契約後、必要書類が揃ってなくて再び来店して渡す、など...


良いディーラもあると思いますが、自分のディーラは大外れということで。延長保証入ってしまっているし、メンテパックも1年残っているのでまだ通いはしますが、自分でできる部分は自分でやろうという気分になりました。


そもそも車は自分でちゃんと点検する義務があるし、バイクの頃はメンテもほぼ全部自分でやっていたので、その頃のマインドに戻ろう、というところですね。

Watch Face Studio でウォッチフェイスを作ろう

Wear OS でウォッチフェイスを作る場合、コードを一切書くことなく、GUI エディタで秒針とか画像とかをドラッグして動かすだけで作成する Watch Face Studio というツールがあります。

developer.android.com

ウォッチフェイススタジオは↑からインストールできます。

最近発売した Pixel Watch を使って遊んでみましょう。
store.google.com

時刻表示の実装

例えば時針を追加する場合、メニューから時針を選ぶと画像選択画面になります。

エディタの画像フォルダにあらかじめ用意された時針があります。png 画像です。ここから選んでもいいし、自前で時針の動きをする画像を用意することもできます。

実機で動かす

実機をデバッグモードにします。設定 -> システム -> デバイス情報 -> バージョン とたどり、ビルド番号を連打したら開発者モードになれます。
その後、設定 -> 開発者向けオプション -> Wi-Fi 経由でデバッグ を On にしておきます。ドキュメントを見るとここで ip アドレスが表示されるとのことなのですが出てこないので、設定 -> 接続 -> Wifi から接続済みのアクセスポイントをタップして ip を表示して覚えておきます。

Run on Device を押すとビルドされ、接続先デバイス画面が出てきます。

まだ Pixel Watch は出てないと思うので接続します。+ をクリックして

ip を入れるダイアログが出てくるのでここでさっき覚えた ip を入れますと、時計にデバッグを許可するかどうか通知がくるので許可します。デバイス一覧に時計デバイスが表示され、一覧から時計デバイスを選択すると実機でウォッチフェイスが起動します。

アンビエントモード対応

Wear OS の文字盤は、しばらくすると画面が暗くなって省電力モードに移行します。Watch Face Studio ではこのモードに入った時に、必要ないものを簡単に非表示にできます。
例えば省電力モードでは秒針を動かすのは無駄なので消したい場合は、ALWAYS-ON タブを選んで、ここの目のマーク(change visibility)ボタンを押せば消すことができます。

ジャイロで遊ぼう

ジャイロが面白いです。手首の傾きを検知して画像を動かす、といったことができます。
画像を貼り付けて、PROPERTIES の GYRO の Apply Gyro をオンにして、適当に値を入れます。

RUN ペインを開くと、時計のセンサなどの値をエミュレートできます。ジャイロはぐりぐり回して遊べます。


バイスで動かしてみました。アンダーテールの犬がコロコロしています。

なお省電力モードではジャイロは無効になってます。

感想

Android のスマートウォッチが出た当時に一度ウォッチフェイスを作ろうとして、めんどくさすぎて諦めた経緯がありました。ですがこれだと一瞬で誰でも作れて嬉しいです。WatchOS 向けに作成するとストアに公開できないという制約にぶち当たりますが、Wear OS は公開できるのも嬉しいですね。ただジャイロのウォッチフェイス作るとなんだか時計の発熱と消費電力がきつい気がします。

Mazda3 のスローパンクチャー対処その2

前回、ディーラーから原因不明と返されたスローパンクチャー。
funnelbit.hatenablog.com

バルブコアを少し締めてみて250kPs空気を入れて1週間程度様子見したところ、50kPs ぐらい抜けていました。どう考えても異常です。

そのため次はバルブコアを交換してみることにしました。

まず必要なのはジャッキアップです。交換するタイヤの空気圧は0になるので車体を支えてあげる必要があります。


ここがジャッキアップポイントです。ジャッキは車載ジャッキを利用しました。使いやすくはないですが、まあこれくらいの作業であれば問題ないです。


裏から見たらこんな感じ。


ジャッキのレバーは2つのレバーを組み合わせる形式です。この状態で時計回りに回せばジャッキが上がります。

ジャッキ周りの説明は説明書に詳しく書いてあります。
https://www2.mazda.co.jp/carlife/owner/manual/mazda3/bp/ebmi/contents/18020300.html


ジャッキで車体をちょっとだけあげます。バルブコアを交換するタイヤが地面と触れない程度に上がればOK。



ちゃんと上がっていればタイヤを触ると動かせます。


タイヤが上がっているのを確認したら、虫まわしをバルブに押し付けて空気を抜いておきます。これをしないでバルブコアを取り外すと、200kPsの空気圧により、空気銃の要領でバルブコアが飛び出してきます。50kPs ぐらいまで抜いていればもう飛んでこないと思うので取り外します。


今回取り付けるバルブコアはエーモンのバルブコアです。

これを取り付けたら安物の空気入れでシュコシュコ空気を入れます。3分ぐらいで 250kPs まで入れることができると思います。

エアゲージで入っているのを確認したら、20分ぐらいジャッキアップしたままで放置します。交換した結果、不良があり急激に抜けてしまう可能性がないとは言えないからです。それでも空気が抜けていなければジャッキから下ろします。


これでまた1週間様子見ですね。取り外したバルブコア、よくみると軸が歪んでいるのでこれが原因だったら良いなあと思ってます。

Android Car App Library 1.2.0 が Stable になりました

Android Auto および automotive 開発に利用する Car App Library の 1.2.0 が Stable になりました。
https://developer.android.com/jetpack/androidx/releases/car-app#1.2.0

1.2.0 は今年3月に RC が出ており、そこから 1.3.0 が beta になった後も Stable が出ていない状態が続いていましたが、ここにきて安定板が出ました(もう出ないだろうと思っていた...)。

RC からの API 変更点はないようです。

Android Auto を学ぶその2 DHU(Desktop Head Unit) を使ってアプリを動かしてみる

前回は簡単なコードで Android Auto の画面を作ってみました。
funnelbit.hatenablog.com

しかしまだ動かしていないので、アプリをビルドして動作確認してみます。早速クルマに接続したいところですが、実はただ単にビルドするだけではクルマの画面には表示されません。PC だとビルドするだけで表示できるので、とりあえずPCで動かしてみましょう!

前回までのコードはこちらの github にあげてあります。
github.com

DHU(Desktop Head Unit)をインストールする

PC で動かす場合、DHU をインストールする必要があります。これはクルマのナビ画面で動く Android Auto の画面をエミュレートしてくれるものです。
developer.android.com


Android Studio のメニュー Preference -> Appearance & Behavior -> System Settings -> Android SDK から、SDK Tools タブを開いて Android Auto Desktop Head Unit Emulator をインストールしましょう。ドキュメント通りにやっていけばインストールできるはずです。

実機スマートフォンを接続したいので、Android Auto をスマートフォンにインストールしておいてください。
play.google.com


DHU をインストールしたら DHU のあるディレクトリに行きましょう。特に設定していない場合は ~/Library/Android/sdk/extras/google/auto になっていると思います。ここで ./desktop-head-unit --usb します。すると DHU は Android Auto のUSB接続を待機する状態になります。

結構すぐに接続待ちを諦めてしまうので、これをやる前に繋げておくのがおすすめです。

この状態でスマートフォンを接続すると GUI が起動します。

DHU の設定について

クルマによってナビの形態は様々です。画面サイズが違ったり、タッチパネルを搭載していなかったり、ダイヤルをクルクル回してメニューを移動する「ロータリーコントローラー」が搭載されていたりします。

シフトレバー下にあるのが「ロータリーコントローラー」です。左右にクルクルと回せます

DHU では、そういったナビのエミュレートできるよう、.ini ファイルに項目を記述して設定することが可能です。
また DHU はクルマのセンサ入力をエミュレートする機能も利用可能です。クルマの速度、ガソリンの残量、ジャイロの状態などをターミナルから入力して反映できます。
developer.android.com

例えば現在の速度をコマンド入力することで DHU に反映できます。

ただしこれではまだ反映されません。DHU は普通に起動するだけでは各種センサが OFF の状態になっています。上のコマンドは成功したように見えますが、DHU に接続しているアプリケーションには何も飛んできません。

設定を書く方法はドキュメントにも書いていますが、試しに速度の設定を書いてみましょう。
developer.android.com


設定ファイルは .ini ファイルです。今回は設定ファイルのデフォルトファイルパス ~/.android/headunit.ini にはおかずに、別の場所に作ってみましょう。どこでもいいです。

[sensors]
  speed = true # speed [speed] に必要

他にもセンサを追加したければ並べて書けば良いです。

[sensors]
  accelerometer = true # accel [x] [y] [z] を利用するために必要
  compass = true # compass bearing [pitch] [roll] に必要
  fuel = true # fuel [percentage] に必要
  gyroscope = true # gyro [x] [y] [z] に必要
  location = true # location lat long [accuracy] [altitude] [speed] [bearing] に必要
  odometer = true # odometer km [current_trip_km] に必要
  speed = true # speed [speed] に必要

センサの一覧はこちら
developer.android.com

設定ファイルを書いたら、起動時に指定して読み込ませましょう。

> ./desktop-head-unit --usb -c ~/Desktop/headunit.ini
Android Auto - Desktop Head Unit
  Build: 2022-03-30-438482292
  Version: 2.0-mac-arm64

[I]: Loaded configuration from '/Users/funnelbit/Desktop/headunit.ini'.
BoringSSL is the SSL implementation used in the receiver-lib.
Starting link. Requested protocol version: 1.7
[I]: Searching for compatible USB device...
[I]: Found 5 USB devices.
[I]: Found device 'Google Pixel 7' in accessory mode (vid=18d1, pid=2d01).
[I]: Found accessory: ifnum: 0, rd_ep: 129, wr_ep: 1
[I]: Attaching to USB device...
[I]: Attached!
> Phone reported protocol version 1.7
ssl state=TLS client read_server_hello -1
ssl state=TLS client process_change_cipher_spec -1
ssl state=SSL negotiation finished successfully 1
SSL version=TLSv1.2 Cipher name=ECDHE-RSA-AES128-GCM-SHA256
Verify returned: ok

ちゃんとheadunit.iniを読み取ることができていれば、[I]: Loaded configuration from '/Users/funnelbit/Desktop/headunit.ini'. の表示が出るのでわかります。ただし設定ファイルの記述が間違っていてもエラーとか出ませんが。

ビルドして表示してみる

あとは簡単です。ビルドボタンを押してスマートフォンにアプリをインストールします。そして DHU を再起動してください。

アプリが出ていますね。アイコンを選択してみましょう。


無事に画面が出ました!ところで Car API Level は 6 と表示されています。ライブラリの更新履歴を見る限り、てっきり 5 が上限だと思っていたのですが、ドキュメント漁ってみるとしれっとCar API Level 6 が定義されていました。
developer.android.com

バージョン番号を定義しているファイルを覗いてみても LEVEL_6 の存在が確認できます。

ただし Car API Level 6 で何ができるのか、ドキュメントにもコードにも今の所情報はありません。

とりあえず動いたので、次は実車に接続してナビ画面に出してみましょうか。

Mazda3 のスローパンクチャー対処その1

1ヶ月に一度はタイヤのエアーチェックして空気を入れているのですが、フロント左側だけ著しく減少していて190kPaを下回っていました。

あ〜〜スローパンクっぽいな〜と思い1週間様子見たかったのですが翌日長距離運転する必要があり、すぐさま修復したかったのでディーラーに行きました。

しかし原因不明 😇

タイヤに穴はなく、水槽に沈めてみてもわかりませんでした、とのこと。


その後1週間様子をみましたがやはり減りが早い。他のタイヤと比べて 30kPa 早く減っています。


プロだったら見つけてほしいな...とぼやきつつ、また持っていくのもめんどくさいのでできる部分まで自分でやることにしました。


まず、タイヤには穴がありませんでした、といったディーラーの言葉を信じることにし、どのみち自分の技術で修理できる部分はバルブ周りしかないのでバルブにマトを絞ります。石鹸水をバルブ周りに塗って観察してもいいのですが、腕が微妙とはいえディーラが見つけられなかったのですぐさまわからないだろうと判断。投機的に工具・部品を買ってバルブ周りの修理を行うことにしました。


バルブ周りの原因は「バルブコア」の取り付けが緩んでいるか、「バルブコア」が劣化しているか、バルブコアが刺さった「ゴムバルブ」が劣化している、この3つしかないと思い、またこの順に難易度が上がっていくので、簡単な順番に対処していくことにしました。ゴムバルブはもう自分ではできませんけど。


バルブコアが緩んでいる場合は、バルブコアを閉めれば直るのですが工具が必要です。車社会に身を投じてから今後も必要になると思い amazon で買いました。

車載工具でも入ってはいたのですが、プラスチックで明らかにちゃっちいし、二輪時代の経験では車載工具は本当に緊急事態にやむなく使うものであるので、買っておいて損はないはず。


同時にバルブコアも買いました。今使わなくとも今後必要な機会が出てくるかもしれないし。


バルブコアを交換する場合はジャッキアップが必要ですが、車載ジャッキしか持っていませんでした。本格的な整備にはジャッキが欲しいけどまあバルブ交換で浮かせるぐらいなら車載でいいか...と思い今回は買ってないです。実家に行けば本格的なやつもありますし。



とりあえず先ほど届いたのでバルブコアを回してみました。時計回りで閉まります。若干締め付け余地があったのでクイっと右に閉めました。閉めすぎると良くないと思うのでほんの少しだけです。


ホームセンターで売ってる安い空気入れでシュコシュコして空気を入れます。



エアゲージで250kpsまで入ってるのを確認。宣伝みたいになりますがこのエアゲージはマジでおすすめです。前はバルブに押しつけて測るやつ使ってましたがシュコシュコ抜けてストレスが半端なかった。

あとはまた1週間程度様子見です。これで直るといいな。