基本システム
このシステムはBLEを使っており、iPhoneの専用アプリから送られた命令をBLE moduleのBGX13 と マイコンのatmega328pを使って処理、車に対してドアロック/アンロック命令を出したり、ウインカー点滅を制御します。 またこの時代の車には音によるアンサーバック機能がありませんでした。車両の整備書を見ても配線が良いされていなかったので、今回は開発したsmartphone key 基板から社外のアンサーバックシステムを動かすことができるようにしています。
そして車両から
- ドアのロック、アンロック状態
- ドアが開いている/閉まっているの状態
- 鍵がキーシリンダーに挿入されているかどうか
- アクセサリーポジションまたはエンジンONの状態にあるかどうか
の信号を取得することができるので、これらの信号を使い走行中は反応しないとか、ドアが開いていたらエラーを返すなどの処理も行うことができます。
このSmartphone key for Silviaの特徴は、先述の基本動作を十分活用できるようハンズフリーや,VUI,ウェアラブルデバイス連携といった様々なインターフェースに対応し、どんな場面でも使える機能にすることを目指したところにあります。
対応するインターフェース
Smartphone key for SilviaはiPhoneを使って開発しており、iPhoneで対応できるインターフェースをモリモリ搭載。今回は以下のインターフェースに対応しています
専用Appによるハンズフリー操作
一番メインとなるのが専用アプリによる操作。専用アプリを起動すればボタン操作でロック/アンロック、車の位置をお知らせする機能が使えますが、ハンズフリー機能を搭載しています。 このハンズフリー機能はBLE通信のRSSIを活用し、車両に搭載されているsmartphone key基板とスマートフォンの距離を電波強度から推測。ロックされた状態で車に近づけば自動的にアンロック。逆にアンロックされた状態で車から離れれば自動的にロックがされます。この時アプリはバックグラウンドにいても問題ありません。
iPhoneでは一定期間経つとRSSIの取得を止めてしまうのですが、定期的にコマンドを送ることで取得を維持。車と接続していれば確実にハンズフリー機能が使えるように工夫しています。
もちろん設定画面を用意しており、ハンズフリー機能が使いたくない場面では使わなくてもいいように設定が変更できるようになっています

2.Siri Intents

Appleが提供しているIntentの"Car command"に対応しました。 Car commandではロック状態や、ロック/アンロック命令、ホーンやアンサーバックを鳴らすというコマンドが用意されています。Siri Intentsでは車の呼び名を登録することもできるので 「Hey,Siri. "シルビア"をロックして」のように車の名前を呼んで命令を出すことができます。 この機能はiPhoneの画面がロックされていない状態でしか利用できませんが、Appleが色々な言い方に対応するようにシステムを構築してくれています
3. Siri ショートカット

Siriショートカットはユーザーが自分で発話する言葉を設定、その言葉を認識すると動作するという機能です。 もちろんショートカットアプリで画面をタップしたり、オートメーション機能と組み合わせて、夜12時になったら自動的にロックをして確実にロックされている状態を作るといった機能も作れます。 またSiriショートカットは Home Podにも対応。HomePodからドアのアンロックやロックができます。 ちなみにショートカットはiPhoneがロックされていても使えます。便利です。
4. Apple watch


Watch Connectivity frameworkを使いiPhoneとApple watchのセットで使えるWatch アプリを作りました。 ボタン操作になりますが、ロック/アンロック/ウィンカー点滅機能を実装しました。
おー!車ハック面白そう!
YouTubeで紹介させていただきました!
https://youtu.be/1muffVY0SdM
使いやすさを求めて基盤を4度も設計変更したり、車やiOSの仕様を読み込んで納得するまで作り変えたのは正にトライアルアンドエラー賞であると感じたため選ばせていただきました。