トレードマークの「オールホワイト」PCBを備えたIOIO-OTGボード | |
| 発売日 | 2011年4月 (2011年4月) |
|---|---|
| 導入価格 | 39.95ドル(IOIO-OTG)[ 1 ] |
| CPU | マイクロチップPIC24FJ256 [ 1 ] |
| 接続性 | ホスト : USB / USB-OTG、Bluetooth I/O : GPIO、PWM、I2C、SPI、UART、入力キャプチャ、静電容量センシング |
| Webサイト | github |
IOIO(ヨーヨーと発音)は、 Androidモバイルアプリケーションが外部電子機器と対話できるようにするオープンソースのPICマイクロコントローラベースのボードシリーズです。 [ 2 ] [ 3 ] [ 4 ]このデバイスは2011年にYtai Ben-Tsviによって発明され、SparkFun Electronicsによって最初に製造されました。[ 2 ] [ 5 ] [ 6 ] [ 7 ]「IOIO」という名前は、アプリケーションが外部入力(「I」)を受信し、外部出力(「O」)を生成することを可能にするデバイスの機能に由来しています。[ 4 ]
特徴
IOIOボードには、USBホスト/ USBスレーブとして機能し、接続されたAndroidデバイス上で実行されているAndroidアプリと通信する単一のPIC MCUが搭載されています。 [ 8 ]ボードはUSB、USB-OTG 、またはBluetooth経由で接続を提供し、Java APIを使用してAndroidアプリケーション内から制御できます。[ 1 ] [ 4 ] [ 9 ] [ 10 ] [ 11 ]
IOIOライブラリは、基本的なデジタル入出力とアナログ入力に加えて、 PWM、I2C、SPI、UART、入力キャプチャ、静電容量センシング、高度なモーター制御も処理します。[ 3 ] USB 2.0をスレーブモードで使用する古いAndroidデバイスに接続するために、新しいIOIOモデルはUSB On-The-Goを使用してそのようなデバイスのホストとして機能します。[ 1 ]一部のモデルはGoogle Open Accessory USBプロトコルもサポートしています。[ 4 ]
IOIOモーター制御APIは、最大9個のモーターと任意の数のバイナリアクチュエータを同期してサイクル精度で駆動できます。[ 12 ] [ 13 ]開発者は、一連の高レベルコマンドをIOIOに送信し、IOIOはオンチップで低レベルの波形生成を実行します。[ 12 ] [ 13 ] IOIOファームウェアは、ステッピングモーター、DCモーター、サーボモーターの3種類のモーターをサポートしています。[ 12 ] [ 13 ]
デバイスのファームウェアは、ユーザーが現場で更新することができます。[ 3 ]第一世代のデバイスの場合、更新はAndroidデバイスとGoogle Playで入手可能なIOIOマネージャーアプリケーションを使用して実行されます。[ 3 ] [ 14 ]第二世代のIOIO-OTGデバイスは、 IOIODudeアプリケーションを実行しているデスクトップコンピューターを使用して更新する必要があります。[ 15 ]
IOIOは、コンピューターとAndroidデバイスの両方をファーストクラスのホストとしてサポートし、両方のタイプのデバイスに正確なAPIを提供します。[ 3 ]第一世代のデバイスはBluetooth経由でのみPCと通信できますが、IOIO-OTGデバイスはBluetoothまたはUSBのいずれかを使用できます。[ 3 ] PCアプリケーションは、 JavaまたはC#のAPIを使用してボードと通信できます。Javaが公式APIです。[ 11 ] [ 16 ]
アプリケーション
IOIOのハードウェアとソフトウェアは完全にオープンソースであり、[ 17 ]世界中で何百ものDIYロボットプロジェクトの作成を可能にしました。[ 18 ] [ 19 ] [ 20 ] [ 21 ] [ 22 ]
このボードは、学生が外部世界と対話できるAndroidアプリケーションを作成できるようにするためのさまざまな学習キットに採用されています。[ 3 ] [ 23 ] [ 24 ] [ 25 ]
Qualcomm Snapdragon Micro Roverは、AndroidスマートフォンとIOIOを活用してロボットのモーターとセンサーを制御する3Dプリントロボットです。 [ 26 ] [ 27 ]イスラエルの発明家Guy Hoffman博士が率いるチームは、IOIOを利用してロボットのハードウェアを制御する、感情に敏感なロボットを開発しました。[ 28 ]
レビュー
IOIOは「オタクの楽園」「AndroidデバイスのUSB接続からI/Oを簡単に取得する方法」「AndroidスマートフォンをスーパーArduinoのようなものに変えるUSB I/Oブレークアウトボード」など、様々な形で評価されています。[ 18 ] [ 29 ] [ 30 ] [ 31 ] Scientific Computingの記事では「オタクへの贈り物」として推奨されています。[ 25 ]
オンラインエレクトロニクス雑誌SlashGearによると:
Android用のIOIOと熱センサーをいくつか接続すれば、室温を測定し、熱くなりすぎたらメールで知らせてくれるアプリを簡単に作ることができます。デジタル入出力、PWM、アナログ入力、I2C、SPI、UART制御など、豊富なI/Oオプションが用意されているので、家庭用サーモスタットを接続して、温度に応じて暖房を自動調整することも可能です。
このデバイスの最初の製造元 であるSparkFunによると、次の通りです。
Androidデバイスの優れたコンピューティングパワー、インターネット/Bluetooth接続、タッチスクリーン、そして様々なセンサーに加え、周辺機器を簡単に追加して外部とやり取りできる機能も備えています。また、IOIOを使用するにはAndroidデバイスのハードウェアやソフトウェアを変更する必要がないため、保証期間が維持されるだけでなく、ハッカー以外のユーザーにも機能を利用できます。
この装置の発明者であるYtai Ben-Tsvi氏によると:
Androidスマートフォンは、インターネット接続と豊富な内蔵センサー(カメラ、GPS、IMU、タッチスクリーン)を備えた強力なモバイルコンピューターです。Android SDK開発者の素晴らしい取り組みのおかげで、Androidスマートフォン向けのアプリケーション開発も非常に容易です。多くのアプリケーションにとって、本当に不足しているのは外部周辺機器との接続性です。IOIOはまさにこの点で役立ちます。IOIOは、Androidデバイスの本来の機能を外部回路との通信機能によって強化します。
— Ytai Ben-Tsvi、「IOIO の紹介 - Android 用 I/O」[ 33 ]
技術的な詳細
IOIO V1

第一世代のIOIOボード(IOIO V1として知られる)には、以下のオンボード機能が搭載されている。[ 34 ] [ 35 ]この世代はUSBスレーブモードのみをサポートしており、ホストとしてUSBマスター(PCまたは新しいAndroidスマートフォン)が必要である。[ 2 ] [ 7 ]
IOIO V1は3.3Vロジックレベルデバイスで、5V DC/DCスイッチングレギュレータと3.3Vリニアレギュレータを備えています。[ 36 ] 5Vレギュレータは5~15Vの入力範囲と最大1.5Aの負荷をサポートします。[ 7 ]これにより、接続されたAndroidデバイスの充電や、複数の小型モータなどの負荷の駆動が可能になります。
| 特徴 | 詳細 | 説明 |
|---|---|---|
| USBコネクタ | A型、女性 | Android デバイスに接続するために使用されます。 |
| GNDピン | 9ピン | アース接続。 |
| VINピン | 3ピン | ボードへの電源供給に使用します。5~15Vの電圧を供給してください。 |
| 5Vピン | 3ピン | 通常、ボードがVINから電源供給されている場合、ユーザー電子機器への5V出力として使用されます。VINが接続されていない場合は、5V入力として使用できます。 |
| 3.3 Vピン | 3ピン | ユーザーの電子機器への 3.3 V 出力。 |
| I/Oピン | 48ピン | 汎用I/Oピン。ADC、入力キャプチャ、UART、PWM、コンパレータ、PIC MCU(ICSP)のプログラミングなど、特殊な機能を持つものもあります。 |
| 電源LED | IOIO に電源が供給されているときに点灯します。 | |
| ステータスLED | 電源投入時に短時間点灯し、その後アプリケーションの制御下になります。 | |
| MCLRピン | 通常は使用されません。IOIOボードに新しいブートローダーファームウェアをプログラミングするために使用されます。 | |
| 充電電流トリマー(CHG) | AndroidデバイスへのUSB VBUSラインに供給される充電電流の量を調整します。(+)方向に回すと充電電流が増加します。 |
IOIO OTG

第2世代IOIOボード(IOIO-OTGとして知られる)には、以下のオンボード機能が搭載されています。[ 37 ] [ 38 ] [ 39 ]その名の通り、この世代の重要な特徴はUSB-OTGの導入であり、USBマスターモードとスレーブモードをサポートしています。これにより、IOIOはUSBスレーブモードのみをサポートする古いAndroidスマートフォンにも接続できるようになりました。[ 1 ] [ 9 ]
IOIO-OTGは3.3Vロジックレベルデバイスで、一部のピンは5Vトレラントです。5V DC/DCスイッチングレギュレータと3.3Vリニアレギュレータを搭載しています。5Vレギュレータは5~15Vの入力範囲と最大3Aの負荷をサポートします。[ 1 ]これにより、接続されたAndroidデバイスの充電や、複数の小型モーターなどの負荷の駆動 が可能になります。
| 特徴 | 詳細 | 説明 |
|---|---|---|
| USBコネクタ | マイクロAB型、女性 | ホスト コンピュータ、Android デバイス、または Bluetooth ドングルに接続するために使用されます。 |
| 電源ジャック | 2ピンJST、メス | ボードへの電源供給に使用します。5~15Vの電圧を供給してください。 |
| GNDピン | 10ピン | アース接続。 |
| VINピン | 3ピン | 回路への供給電圧を出力するため、または電源ジャックへの代替入力として使用されます。 |
| 5Vピン | 3ピン | オンボード レギュレータからの 5V 出力。回路で使用できます。 |
| 3.3 Vピン | 3ピン | オンボード レギュレータからの 3.3 V を回路で使用できます。 |
| I/Oピン | 46ピン | 汎用I/Oピン。ADC、入力キャプチャ、UART、PWM、コンパレータ、PIC MCU(ICSP)のプログラミングなど、特殊な機能を持つものもあります。 |
| 電源LED | 赤 | IOIO に電源が供給されているときに点灯します。 |
| ステータスLED | 黄色 | アプリケーション制御による汎用オンボード LED。 |
| MCLRピン | 通常は使用されません。IOIOボードに新しいブートローダーファームウェアをプログラミングするために使用されます。 | |
| BOOTピン | 電源投入時にIOIOをブートローダモードにするために使用される特別なピンです。このピンはステータスLEDと共有されていることに注意してください。 | |
| 充電電流トリマー(CHG) | USBホストとして動作している際に、USBのVBUSラインに供給される電流量を調整します。通常、Androidを搭載したバッテリー駆動のアプリケーションで、Androidのバッテリーの急激な消耗を防ぐために使用されます。(+)方向に回すと充電電流が増加します。 | |
| ホストスイッチ | 「A」モードでは、IOIO-OTGは接続されているUSBコネクタ(micro-Aまたはmicro-B)に応じて、ホストとして動作するかデバイスとして動作するかを自動的に検出します。micro-Bタイプの非標準USBケーブルやアダプタをサポートするには、スイッチを「H」の位置に切り替えてホストモードを強制します。 |
参照
参考文献
- ^ a b c d e f IOIO-OTG、DEV-12633、SparkFun
- ^ a b c Lutz, Zachary (2011年4月10日). 「SparkFunがAndroid向けIOIOを発表。ハック不要で頭を悩ませるブレイクアウトボックス」Engadget .
- ^ a b c d e f g IOIO Mint - ポータブル Android 開発キット、AdaFruit
- ^ a b c d SparkFunがIOIOと共同でAndroid開発クラスを開催、PRNewsWire、コロラド州ボルダー、2012年6月27日
- ^ IOIO Wiki、GitHub、「これはIOIOの発明者Ytaiのブログです」
- ^ Ytai Ben-Tsvi のブログ、Blogspot
- ^ a b c Android用IOIO、DEV-10585、SparkFun
- ^ a b IOIO Androidインターフェースボード小売、SparkFun USA
- ^ a b O'Brien, Terrence (2012年5月30日). 「第2世代IOIO開発中:ワイヤレス革命に対応し、コストを削減」Engadget .
- ^ IOIO-OTG初心者ガイド、SparkFun
- ^ a b IOIO Javaライブラリの基礎、GitHub
- ^ a b cモーター制御、IOIO Wiki
- ^ a b c IOIOプロッターとモーター制御ライブラリ、2013年5月14日、Ytai Ben-Tsviブログ
- ^ IOIO マネージャー、 Google Play ストア
- ^ IOIO-OTG ブートローダーと IOIODude、IOIO Wiki
- ^ IOIODotNet、 GitHub
- ^ IOIO、 GitHub
- ^ a b c Davies, Chris (2011年4月8日). 「Android版IOIOのビデオデモが公開:ギークの楽園!」 Slashgear.
- ^ IOIO、 Pinterestで構築されたプロジェクト
- ^ DIY Android搭載戦車、Edwin Kee、2011年8月10日、Ubergeek
- ^ DIYスマートフォンサーモスタットはAndroid@Homeに何が起こったのか疑問に思わせる、2012年10月15日、Kevin Krause、Phandroid
- ^ Android 用飲酒検知器の IOIO ボードでの呼吸、GadgetMaster、 Electronics Weekly、2012 年 5 月 11 日
- ^ IOIO Inventor's Kit, RB-Spa-934 Archived 2015-07-12 at the Wayback Machine , RobotShop
- ^ SparkFun IOIO用Inventor's Kit、SparkFun
- ^ a bジョイス、ジョン・R. (2014年11月13日). 「ホリデーショッピング?シェルドンと仲間たちが喜ぶギフト25選」 . Scientific Computing .
- ^ Snapdragon Micro Rover、クアルコム
- ^ MENDOZA, HANNAH ROSE (2014年9月21日). 「Qualcommの3Dプリント製マイクロローバー、スマートフォンで操作可能」 . 3DPrint.
- ^ Meyrav, Avner (2014年4月9日). 「イスラエルのロボットがあなたの話し方に『感情的に』反応」 . ShalomLife. 2015年7月12日時点のオリジナルよりアーカイブ。 2015年7月11日閲覧。
- ^ Android用SparkFun IOIOでArduino風のハックが簡単に、Androidコミュニティ、2011年4月7日、Chris Davies
- ^ Android用IOIOの詳細:USBブレイクアウトボードのプロジェクトサンプル、Androidコミュニティ、2011年4月8日、Chris Davies
- ^ 「IOIOボードはAndroidデバイスのUSB接続からI/Oを取得します」。Electronics Weekly、2011年8月19日。
- ^ a b「IOIOブレイクアウトボードでAndroidフォンをハック」 Electronics Weekly、Gadget Master、2011年7月26日。
- ^ Meet IOIO - I/O for Android、Ytai Ben-Tsvi のブログ
- ^ IOIO-V1ボードについて知る、IOIO Wiki
- ^ IOIO V1、SparkFun USA
- ^ 「Reliance Electric FlexPak 3000 0-58770-420 | Automation Industrial」 . 0-58770-420.com . 2023年12月13日閲覧。
- ^ IOIO-OTG ボードについて知る、IOIO Wiki
- ^ IOIO OTG、SparkFun USA
- ^ IOIO OTG、SparkFun USA