プロジェクトの続きです。
私のはBluetoothが使いたくカングー2のAudioに変えてます。
そうするとAudio側にラジオの情報の表示が出るので、Display側の表示が寂しくなります。
写真の通り時間と温度(写真には無いけど)以外は何も表示されないので前々から何か出来ないかな〜と。
プロジェクトとはAudioとDisplayの通信をhackして、AudioのフリをしてDisplayを騙して空いているLCDに何か表示しようです。
何の意味があるのか?、、、、、ロマンです。
先ずは電源投入時のCAN通信のやりとりをモニターしてみます。
初めにDisplayが何か定期送信して喋ってます。遅れてAudioが立ち上がった後、何やらやりとりが実行されています。
例えばCAN ID ; 3CF で 8byteのデータ長(それ以降はデータの中身)をDisplayが送信しています。中身はさっぱり分かりませんが、この通信をAudioユニット無しで成立させる必要があります。多分、赤枠の内容は初期化とかペアリングを実行していると思われます。早々に挫けそうになりますが、幸いなことに毎回同じやりとりが実行されています。ランダムなデータが無いようなので認証みたいな難しいことをしてる訳ではなく、単純なシーケンスを実行しているだけのように見えます。
何度もトライ & エラーを繰り返し、色々試したり(中略)、、、でやっとaudio無しでペアリングに成功しました。コードを添付しますが、それぞれ複数のCAN信号を数十ミリ秒レベルで微調整して出力させて何とかDisplayとの会話を成立させました。もっとスマートな方法はあるかもですが。。。
次にメッセージをどうやって送るかです。取り合えず分かり易いサンプルを用意して解析してみます。Audioのボタンをポチポチするとこんな表示が出てくるので、こいつをターゲットにします。マニュアルって何だっけ?
どうやら何か表示するたびにAudioからID:121で32byteのデータが送信されています。
HEX表示では訳分からないので、ASCII表示に変換したのが右になります。何やらそれらしい文字が出てきました。理由は分かりませんが、表示したい文字を2回送信しています。
纏めると黄色データは固定、ピンク色に好きな文字を2回インプットすれば行けそうな気がします。
HELLO KANGOOと表示させたかったら、ASCIIからHEXに変換して以下の信号を送信すると表示に成功します。
取り合えず、Arduinoに上で書いたペアリングのコードとこのコードを付ければHELLO KANGOOと表示OKです。
その4に続く。。。
Posted at 2024/08/09 15:17:20 | |
トラックバック(0) | クルマ