目次
PIC24FJ64GB002に書き込むためのファームウェアはrfcomm_firm3.zipです。bluesoleil 6.4.275.0 (15日間)をダウンロードしてください。 bluesoleil 6.4.314.3 は安定性に欠けますので、避けてください。Total Uninstall(Webで検索ください)の併用も検討ください。さて、以下の点につき、必要に応じて修正してから再コンパイルしてPICに書き込んでください。
1.4MHzのセラミック発振子を用いていますが、もし8 MHzのものを用いたければ, main.cの中の_CONFIG2 の中のPLLDIV_NODIV をPLLDIV_DIV2としてください。
2.もし、PICがbluetooth USB ドングルを認識しない場合、main.cの上から125行目の delay_time=30;の数値30を大きい値に変えてみてください。なお、PCとPICが無線接続できた後(”case L2CAP_CON_REQ:”(main.c)以後)、delay_time=0;とすることによりデータ転送速度を元に戻しています。
3.RS232C基板を使用してデバック内容をPCに出力するためには、main.cの中の"//#define DEBUG_MODE"なる行のコメント(//だけ)を消してください。
まず、PIC基板の電源を入れます。その後、bluesoleilを起動すると左下のような画面が現れます。ここで、虫眼鏡アイコンをダブルクリックすると、PICが右下のように発見され、?アイコンが現れます(クラシック画面の方が臨場感があります)。
後者のアイコンをダブルクリックすると左下のような画面が現れ、サービス検索が終わるとBluetoothシリアルポートのアイコンが現れるので、これをダブルクリックすると、その色が青から緑に変わって、PICとPCとの接続が完了します。アイコン名のCOM6に相当する部分を記憶願います。
アプリケーション・ソフトウェアRsTest.zip を解凍して出てくるrstestdlg.cppの中のCreateFile("COM6",GENERIC_READ | GENERIC_WRITE, 0,NULL,OPEN_EXISTING,0,NULL)において、"COM6"のところを、先に記憶したシリアルポート番号に書き換えて(上の例では書き換える必要はありません)、再コンパイルした後、RsTest.exeを実行してください。
すると、2つのエディット・ボックスと1つのSENDボタンを持ったダイアログが現れます。上のエディット・ボックスに何か文字を入れ、SENDボタンを押すと、下のエディット・ボックスに文字列が現れる筈です。最初の1文字目だけが変わっていることに気が付くと思います。例えば、“123”と上のエディット・ボックスに記入してSENDボタンを押すと、下のエディット・ボックスに“223”と現れます。最初の文字は、アスキーコードで‘2’ = ‘1’ +1となっています。今回は、入出力できるデータの数は、50バイトに限定しています。
なお、RFCOMMの詳しい情報は以下のwebサイトから得ることが出来ます。
RS232Cインターフェースを持つ実験装置を無線化するのに役に立ちそうです。
PIC24FJ64GB002に書き込むためのファームウェアはrfcomm7_4.zipです。Microsoftスタック用です。 さて、以下の点につき、必要に応じて修正してから再コンパイルしてPICに書き込んでください。
1.4MHzのセラミック発振子を用いていますが、もし8 MHzのものを用いたければ, main.cの中の_CONFIG2 の中のPLLDIV_NODIV をPLLDIV_DIV2としてください。
2.RS232C基板を使用してデバック内容をPCに出力するためには、main.cの中の"//#define DEBUG_MODE"なる行のコメント(//だけ)を消してください。
Windows XP(SP3)の場合、Microsoft社のBluetoothデバイスなるアイコンをダブルクリックします。"デバイス"というタグを選択して”追加”ボタンを押します。Bluetoothデバイスの追加ウィザードの開始ダイアログが現れるので、”セットアップを完了し、デバイスは発見可能になりました”なるチェックボックスに、チェックを入れ、”次へ”ボタンを押します。”yts新しいデバイス”と言うアイコンが現れるので、それをダブルクリックします。”パスキーを使用しない”を選択して、”次へ”ボタンを押し、しばらく待つと、次のようなダイアログが現れます。
ここで、”完了”ボタンを押します。上図の発信COMポート番号を記憶願います。 すぐ上で紹介したアプリケーション・ソフトウェアRsTest.zip を解凍して出てくるrstestdlg.cppの中のCreateFile("COM6",GENERIC_READ | GENERIC_WRITE, 0,NULL,OPEN_EXISTING,0,NULL)において、"COM6"のところを、先に記憶したシリアルポート番号に書き換えて、再コンパイルした後、RsTest.exeを実行してください。 しばらくすると次のような吹き出しが現れます。
この吹き出しをクリックすると、パスキーを求められるので、数字で次のように0を4つを入力してください。
ここで、”次へ”ボタンを押すと、”Bluetoothデバイスの追加ウィザードの完了”というダイアログが現れるので、”完了”ボタンを押します。これで、接続完了となります。アプリケーション・ソフトウェアの使い方は上で説明しましたので、省略します。
なお、初めにパスキーを使用しないとしたのに、RsTest実行した時にパスキーの入力を求められます。RFCOMMプロトコルでは、使用する際にパスキーが必ず求められるよう規定されているようです。さて、パスキーを変更したければ、ファームウェアのmain.cの775行目以降を書き換えてください。2度目以降での接続ではパスキーは要求されなくなります。 PCと接続した状態では、RsTestを何回でも再実行してかまいません。だだし、時たまPICがフリーズすることがあります。その時はPIC基板の電源を入れ直したのち、再度RsTestを再実行してください。また、2度目以降での接続では、PCを立ち上げておいて、PIC基板の電源を入れるだけでRsTestを実行できます。
パスキーの入力が避けようがないなら、最初の接続の際にパスキーを使用する設定とする方が素直でしょう。実はrfcomm7_4.zipは、その素直さをも備えています。