これを行うには、いくつかの課題に遭遇します。まず第一に、クロスプラットフォームのフレームワークはすぐにリリースされます。以下に概説する大きな違いのため、私が知っているフレームワークはハードウェア接続をサポートしていません。
ハードウェア
組み込みデバイスは現在、RS-232 (UART) を使用して PC と通信しています。これは、コンシューマ モバイル デバイスには存在しないハードウェア インターフェイスです (iPhone を除く)。ハードウェアの観点からポイント ツー ポイント接続をサポートするすべての主要なデバイス プラットフォーム (iOS、Android、Windows Phone) 間の唯一の共通インターフェイスは、USB と Bluetooth です。
この 2 つのうち、Bluetooth は組み込みデバイスに適応するのが簡単な方です。市場には、UART に接続し、RFCOMM プロトコルを使用してワイヤの代わりにリンクを介してデータを中継するだけの Bluetooth モデムが多数あるためです。
SDK のサポート (つまり、APP はどのようにこのハードウェアと通信できますか?)
- Android SDK は、アプリケーションと両方のインターフェース間の通信をサポートします。Bluetooth は Android 2.0 で、USB は Android 3.1 で登場しました。
- iOS SDK は、iOS 3.0 以降、両方との通信をサポートしています。iOS 5 以降では Bluetooth LE にも対応しています。
- Windows Phone 8 SDK は、Bluetooth 接続をサポートすると主張していますが、USB サポートについては何も知りません。
ライセンス
これは実際には iOS にのみ適用されますが、 Bluetooth と USB/シリアルの両方に適用されます。iOS 接続のハードウェア側を開発するには、Made For iPod プログラムのメンバーである必要があります。メンバーシップは無料ですが、かなりの量の事務処理が必要です。これにより、独自のコネクタで必要なプロトコルを実装するために必要なドキュメントにアクセスすることしかできません. 実際の接続に必要なコネクタやその他のコンポーネントを取得するには、取得が容易ではない追加の承認が必要です。
Bluetooth LE は、ハードウェア側とソフトウェア側の両方で実装するために MFi のメンバーシップを必要としない iOS の唯一の接続規格です。ただし、これまでのところ、このインターフェイスを直接サポートしている主要なモバイル SDK は他にありません (Android はそこまで来ています)。
全体として、Bluetooth の追加に傾倒し、Bluetooth LE スペースに注目することをお勧めします。デュアル モードで動作する組み込みモジュールを見つけることができれば、LE を iOS デバイスに、標準の Bluetooth を他のプラットフォームに実行できます。これは、私が考えることができる唯一のライセンス フリー パスであり、Bluetooth LE SDK のサポートが向上するにつれて、他のデバイスもそれを利用できるようになります。