iPod Touchで無線シリアル通信
先駆者のおかげで、iPod Touch, iPhoneで、シリアル通信がDockコネクタを通してできることがわかっています。私も先駆者の方とどうように、このデバイス(iPod Touch, iPhone)で、外部機器を制御するようなソフトを作れれば、いろいろ楽しめる機器が作れると思っています。
とりあえず、シリアル通信をiPod Touchで試してみたいので、以下のような構成で試してみました。
PCと、iPod Touchの間は、無線のXBeeを利用します。幸い、iPod Touchからは、XBeeを利用するのに適した3.3VがDockコネクタから取り出すことができます。別にXBeeを利用して無線化しなくても良いですが、先駆者の方々と同じことを行っても面白くないので試しました。
■前提条件
先駆者のおかげで、以下のことが分かっています。調べた内容をまとめてみました。
先駆者のおかげで、以下のことが分かっています。調べた内容をまとめてみました。
★Dockのコネクタからは、シリアル通信のTx,RxラインがTTLレベルで出力されています。
更に、3.3Vの電源もそこから取り出して利用することができる。
★appleが提供する、開発用のSDKでは、シリアルを制御するプログラムは開発できない(みたい)。
★シリアル通信を行うためには、iPod Touchを脱獄する必要がある。
更に、3.3Vの電源もそこから取り出して利用することができる。
★appleが提供する、開発用のSDKでは、シリアルを制御するプログラムは開発できない(みたい)。
★シリアル通信を行うためには、iPod Touchを脱獄する必要がある。
脱獄については、ネット上にたくさんの情報があるので、他に譲ります。
本題は、Dockコネクタの作成です。
本題は、Dockコネクタの作成です。
■Dockコネクタの作成
まず、Dockコネクタからシリアルの通信ラインを取り出す必要があります。取り出すための格安の基板が、aitendoさんで、『iPodドックPCB』として販売されています。(記載時点では、300円!また、宣伝みたいだな。)
まず、Dockコネクタからシリアルの通信ラインを取り出す必要があります。取り出すための格安の基板が、aitendoさんで、『iPodドックPCB』として販売されています。(記載時点では、300円!また、宣伝みたいだな。)
下記の写真のように、2.54ピッチのシングルピンヘッダーを8本立てます。本来は、MAX232を取り付ける場所ですが、いい感じでここから、Tx,Rx,GND,3.3Vが取り出せるのでピンを立てます。(これらの4線は、XBeeを取り付けるのに必須のラインです。)
30pinは、2mmピッチで左側からフルで取り出せるのですが、2mmピッチは使いにくいので・・・
30pinは、2mmピッチで左側からフルで取り出せるのですが、2mmピッチは使いにくいので・・・
左側を1番とすると、8本のピンの3,4、7,8番を利用します。順番に、3:Rx、4:Tx, 7:GND, 8:3.3vです。回路図にするまでも無いですが、XBeeと以下のようにこれを接続します。
■それではテストします。
1.まず、利用する2台のXBeeは、X-CTUツールで、通信速度を9600bpsで書き込みしておきます。
理由は、iPod Touchのシリアル通信速度がデフォルトで、9600bpsだからです。(多分)
1.まず、利用する2台のXBeeは、X-CTUツールで、通信速度を9600bpsで書き込みしておきます。
理由は、iPod Touchのシリアル通信速度がデフォルトで、9600bpsだからです。(多分)
3.iPod TouchのTerminalを起動します。脱獄したときに、パスワードを変更するときに利用しているはずです。まずは、受信から確認します。以下を打ち込みます。(結構大変だったりする。)
※Noviさんのブログを参考にさせていただきました。(感謝)
※Noviさんのブログを参考にさせていただきました。(感謝)
ハイパーターミナルで、キーを打ち込むと、iPod TouchのTerminal上に文字が現れます。
iPod TouchのTerminal上で、キーを打ち込んでreturnキーを押下すると、それまでに打ち込んだデータが、ハイパーターミナル上に現れます。
写真だけ掲載しても動きが無いので、分かりにくいですね。時間があれば、動画にしよう。