• 車種別
  • パーツ
  • 整備手帳
  • ブログ
  • みんカラ+

sz2の愛車 [スバル インプレッサ WRX STI]

整備手帳

作業日:2023年4月7日

WebSocketgaugeServerのインストール(Android単独版) その2

他の整備手帳を見る 他の整備手帳を見る

目的 修理・故障・メンテナンス
作業 DIY
難易度

中級

作業時間 30分以内
1
AndroidにてWebSocketGaugeServerを動作させる際には、Androidにtermuxをインストールして、termuxのLinux互換環境上で動作させるわけなのですが、

問題は、termuxからシリアルポートへのアクセスが不可能であるため、WebSocketServer<->ELM327(or Arduino Uno)間の通信がそのまま出来ないことです。

そのため、WebSocketServerにはシリアルポート通信をネットワーク(TCP)でトンネルする機能を実装し、Androidの別アプリにてTCP→シリアルポートへ変換させる手段を使います。

(尚、ELM327 wifiアダプタや、あるいはUART→LAN(Wifi)変換アダプタが用意できるならば、この手順を用いなくても、WebSocketGaugeServerからELM327やArduinoへ直接通信可能かもしれません)

尚、Githubにアップロードしているarm64版WebSocketGaugeServerは、デフォルトでシリアル-TCPトンネルが有効になっておりますので、WebSocketGuageServer側は(TCPトンネルアプリがlocalhostにあるならば)設定は不要になります。
2
今回の例ではBluetooth ELM327アダプタを使うケースを説明します。

termux+WebSocketGaugeServerを起動するAndroid端末に、下記のTCP-Bluetooth シリアルアプリを導入します。
https://play.google.com/store/apps/details?id=masar.bb
3
インストールしたBluetooth Bridge (+TCP)をバックグラウンド動作させることになるわけなのですが、termux(のACQUIRE LOCK)と同様、そのままだとAndroidシステムが勝手にこのBridgeアプリを終了させてしまうことがあるため、バックグラウンド状態で勝手に終了されないよう、電池の最適化を無効にします。

設定アプリにて「電池の最適化」で検索、すると特別なアプリアクセス→電池の最適化へ案内されるので、Bluetooth Bridge (+TCP)を見つけ出して、電池の最適化をしない、に設定します。
(すべてのアプリにフイルタを変えないと現われないかもしれません)

ただ、このように電池の最適化を行っても、(特にRAMの少ないAndorid端末は)さらに他のアプリに切り替えた時に勝手に終了させられることはあるので、そのときは手動で再起動するしかありません(これはtermuxも同様)
4
Bluetooth Bridge (+TCP)を起動、まずBluetoothアダプタの設定を行います。

DeviceAのConnection/Listenを選択、
5
Device typeはSPPにし、Bluetooth ELM327アダプタを選択、接続します。

これでDeviceA側の設定は終了。
6
次にDeviceB側の設定(TCPサーバー)を行います。
こちらもDeviceBのConnection/Listenを押して、StartTCPServerを選択します。

IPアドレスはそのままにし、ポート番号を35000に設定します(ここはWebSocketGaugeサーバーの設定によります。デフォルトは35000ですが、変更しているならそれに応じてここも変更します。)

そして、最後にStartServerでTCPサーバー(トンネル)を有効化します。
7
最後にtermuxを起動させ、WebSocketGaugeServerを起動させます。

WebブラウザからWebSocketGaugeServerに接続(http://localhost:2016/にアクセス)し、メーターページを表示させた時点で、WebSocketGaugeServerはELM327への接続をトライします。

Bluetooth Bridge (+TCP)のステータスが両方Connectedになり、WebSocketGaugeServerのログでも接続が確認、メーター画面がお応答されれば成功です。

8
(追加です)
Androidはスリープ状態に入ると、動作中のプログラムを全部終了させてしまうようです。これによってBluetooth Bridge (+TCP)もtermuxも終了されてしまうようなので、Androidの設定にてスリープ時間を極力長く設定するか、開発者オプションの充電中はスリープをしないオプションを有効化する必要がありそうです。

参考
https://pc-chain.com/sns/android-keep-screen-on/

イイね!0件




関連コンテンツ

関連整備ピックアップ

ABS警告灯点灯‼️

難易度:

メータを足して診よぅ♪(本体取り付け/確認編)

難易度: ★★

Defi ADVANCE FD 取り付け

難易度:

メーターLED打ち替え

難易度: ★★

メータを足して診よぅ♪(追加準備編/ワイヤリング編)

難易度: ★★

メーターLED打ち替え その他

難易度:

関連リンク

この記事へのコメント

コメントはありません。

プロフィール

「データロガー http://cvw.jp/b/2575675/47684880/
何シテル?   04/29 06:53
車関係のソフトウエアを作っていますが車は持っていません。 ・15年前、インプレッサSTI(丸目GDB,2000年式)を購入。この時車載PCなるものに手を出...
みんカラ新規会員登録

ユーザー内検索

リンク・クリップ

メーター製作① 
カテゴリ:その他(カテゴリ未設定)
2023/02/20 21:24:47
とりあえず公開します 
カテゴリ:その他(カテゴリ未設定)
2018/02/05 19:47:22
自作デジタルメーター マルチファンクションディスプレイ(MFD)もどき HTML5+Canvas  
カテゴリ:その他(カテゴリ未設定)
2016/02/29 22:19:20

愛車一覧

スバル インプレッサ WRX STI スバル インプレッサ WRX STI
手放しましたすみません。
ヘルプ利用規約サイトマップ

あなたの愛車、今いくら?

複数社の査定額を比較して愛車の最高額を調べよう!

あなたの愛車、今いくら?
メーカー
モデル
年式
走行距離(km)
© LY Corporation