バイクに搭載しているドラレコNECKER V1 PlusのAPIを直接叩こう

愛車のバイクVFR800F(RC79)に取り付けてあるドラレコは、まだ二輪ドラレコ黎明期で国内で良い商品がなかったため、個人輸入した"NECKER V1 Plus"。
使い始めて早4年ちょいくらい。

https://…/2015/01/17/ ドライブレコーダーを購入! 届くのは当分先だけれども・・・・
https://…/2015/02/05/ バイク用ドラレコ NECKER V1 Plus 台湾からの船便が到着しました!

f:id:vfr750f2:20170525232332j:plain
・【使いまわし写真】VFR800F(RC79)に取り付けたドラレコ

特に不具合もなく順調に使えていているのですが、極々稀に時計のズレを補正する必要があります。
GPSを内蔵していれば自動補正してくれそうですが、あいにくGPS非搭載なのでね。


そんな時は、専用のAndroidアプリを使います。
"NECKER V1 Plus"はWi-Fiアクセスポイントにもなっていて、スマフォからドラレコにWi-Fi接続し、アプリで色々と設定するんですよ・・・・


しかし・・・・しかしね。スマフォを今のQua phone QX(KYV42)(Android 7.1)に機種変更してから、Wi-Fi接続ができないのよね
おそらくAndroid6.0から導入されたマルチネットワーク機能あたりが問題なのかなと。


そんなこんなで接続できない=時計合わせができない状態が約一年続きました。梅雨入りでバイクに乗れない今日このごろ、これの解決をしてみることにします。


まずは、スマフォがWi-Fiを掴まない件。

f:id:vfr750f2:20190608153903g:plain
・KYV42のWi-Fi設定画面スナップショット

確かにAndroidからはWi-Fiを掴んでいるようだけれども、インターネットに接続できない旨のメッセージが表示。
別にインターネットにつながっていなくても良いのですが、同時に割当を受けたIPアドレスをリリースしてしまうのかIPアドレスも『不明』状態。これでは非インターネット通信もできない・・・・


そこで、PCでドラレコのWi-Fiに接続してみると・・・・

f:id:vfr750f2:20190608153904g:plain
・Windows PCからドラレコに接続すると、すんなりIPアドレスが振られます

すんなりと接続され、IPアドレスも割り当てられます。
ということは、Wi-Fiを掴まない要因はスマフォ側にあるのか(泣) となると、打てる手は古いスマフォを購入してきて、ドラレコ設定専用にするか?


続いては・・・・動作解析。Android専用アプリだってTCP/IPで通信しているのだろうし、わざわざ古いスマフォを準備するのも馬鹿らしいので、動作を解析してPCでシミュレートしてしまおう作戦。
動く環境があればパケットモニタで根こそぎ解析が良いのでしょうが、アプリが動かないのでは仕方がない。


Smart Camera(SMC)アプリのapkファイルを入手。
apkをzipにリネームして解凍。現れたファイルの中のclasses.dexファイルを、dex2jarコマンドでjarファイルに変換し、さらにJadでデコンパイルしてソースコードに変換
昔プロテクト解析時には逆アセンブラとかよく使ったなぁ・・・・懐かしい。


それを解析。
・・・・シンプルだな。認証も何も全く無い。httpで特定のURLにパラメータをつけて叩くだけ?


本当かよ?早速実践。

f:id:vfr750f2:20190608153905j:plain
・ドラレコへのUSB給電ケーブルをモバイルバッテリーに接続。KYV42はダミー負荷

モバイルバッテリーでドラレコを駆動。消費電流が少なすぎてすぐに給電が止まってしまうので、ダミーで(この件では)使い物にならないKYV42を負荷として接続
これでバイクは眠ったままでドラレコは生きている状態を維持。


そして室内のPCからAPI(?)を直接叩く・・・・まずはイージーそうな設定照会。

f:id:vfr750f2:20190608210553g:plain
・WebブラウザからAPI(CGI)を叩く・・・・

すんなりと応答が帰ってきた~。ザルだな(笑)


ソースコードを見ると、各種設定のほかファイルの参照やダウンロードも出来る・・・・って、アプリが実現できていることは出来て当たり前か(笑)
それでは、現在時刻の設定APIを叩こう。


すんなりOK応答。いやこれ、後でわかったのですがなんでもOKが帰ってくる(笑)
最初のうちは時刻設定のパラメータが間違っていて全然設定できなかったのですが、のちに正しいパラメータを渡して解決。これでPCから時刻補正が可能に


今後は、この方法で時刻設定しよう・・・・
日本製と違ってサポートが受けられないので自力解決する必要がある・・・・あぁ手間がかかる(笑)


ところで、専用アプリが使えないというのはデカイ問題だと思うのですが、この状況にハマっているのは私だけなのかなぁ?