CANBusをサポートしているデバイスとインターフェースする必要があるので、それとの通信のためにCALに従う必要があります. 私はそれを解決する方法がありません助けてください
2 に答える
「CANBusをサポートしているデバイスとインターフェースする必要があるので、それと通信するにはCALに従う必要があります」
そのステートメントの 2 番目の部分は、必ずしも最初の部分から続くわけではありません。正式な上位レベルのアプリケーション フレームワークを使用しない、CAN バス経由で通信するデバイスやシステムはたくさんあります。
まず、アプリケーションから can バスと通信できる必要があります。あなたがiPhoneに言及したことは、消費者向けハンドセットをターゲットにすることを示唆しており、いずれもCANインターフェースを備えていません. そのため、いくつかのアダプター ハードウェアを組み込む必要があります (USB アダプターがあり、Android には少なくとも SDK に組み込まれた USB ハードウェア アクセスがあります)。
その場合、CAN レイヤーの上に CANopen などのより高いレベルのアプリケーション フレームワークを実装するコンポーネントと通信する必要がある場合は、次のオプションがあります。
- 仕様を維持しているグループから仕様を入手し、選択した言語とフレームワークで実装してください。これはおそらくかなりの努力です。
- オープン ソースの実装を購入または検索します。C 実装のソース コードを購入すると、それをターゲット アーキテクチャの共有ライブラリにコンパイルし、例として Android を使用して、Android NDK を使用してその共有ライブラリのネイティブ ラッパーを作成し、それを Java に公開することができます。コード。Java 実装のソース コードを購入できれば、Android でネイティブに動作するように移植できる可能性があります。
次に、データ層をアプリケーション層と一緒に接着する必要があります。これは、何があってもカスタム開発になる可能性があります。
それをサポートするハードウェアが必要です。Gwentech の GT1026 はcan bus to androidでうまく動作することがわかりましたが、USB を使用する Android でのみ動作します。