IchigoJamにBluetoothモジュールのHC-05を接続してみました。
くどいですが、IchigoJamのユニバーサル基板は今は廃番になってしまったサンハヤトのICB-89です。わかる人にはわかるとおもいますが、
接続は以下のようにしました。
HC-05はデフォルト9600なのですが、IchigoJamは115200なのでHC-05の設定をATコマンドで変える必要があります。
HC-05はKEY(34ピン)をボタンスイッチでプルアップするとATコマンドモードになります。電源投入後に押したときは9600(デフォルト)で、押しながら電源を入れたときは38400になるようです。
HC-05をFTDIの3.3V系USBシリアルに接続して、Macのターミナルソフトjermで試したのですがATコマンドを入力するとOKやERROR:(0)が連続して出力され設定できません。
いろいろ試したところHC-05は改行がCRだと暴走してしまい、CR+LFにしなければいけませんでした。
jermでは以下のように起動すると設定できました。
$ ./jerm -r rntn -b 38400 /dev/cu.usbserial
これで
AT+UART=115200,0,0
を設定すると115200になります。この設定は電源を切っても残るようです。
たしかMacと接続するのであればMac側でIOBluetoothRFCOMMChannelで制御可能だったと思うのですが、プログラムを書くのも面倒なので、設定してしまったほうが良いです。
HC-05は他にも使っているので、名前も設定してみました。
AT+NAME=IchigoJam
設定が終わったらHC-05をIchigoJamにつないでペアリングして、接続してみます。
$ ./jerm -b 115200 /dev/cu.IchigoJam-DevB
Jerminal v0.8096 Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2007 candy
Type "Ctrl-M ~ ." to exit.
ispeed 115200 ospeed 115200
+IGNBRK -BRKINT -IGNPAR -PARMRK -INPCK -ISTRIP -INLCR -IGNCR -ICRNL -IXON -IXOFF -IXANY -IMAXBEL
-OPOST -ONLCR -OXTABS -ONOEOT
cs8 -CSTOPB +CREAD -PARENB -PARODD +HUPCL +CLOCAL -CCTS_OFLOW -CRTSCTS -CRTS_IFLOW -MDMBUF -ECHOKE -ECHOE -ECHO -ECHONL -ECHOPRT -ECHOCTL -ISIG -ICANON -ALTWERASE -IEXTEN
-EXTPROC -TOSTOP -FLUSHO -NOKERNINFO -PENDIN -NOFLSH
IchigoJam BASIC 1.3.1 by jig.jp
OK
設定変えずにBASICで
BPS 9600
として9600で通信する方法もあります。
IchigoJamのOUTピンでKEYをコントロールしてATコマンドモードに入れるようにすれば、HC-05のGPIOをいじることができて楽しいかもしれません。
このHC-05はRXのエッジのパターンをはがしてしまい、無理やり引きづり出しました。このモジュールはエッジのパターンが弱いので、力がかからないようにしたほうが良いです。