RN-42XVPを使ったBluetooth通信プログラミング BluetoothモジュールRN-42XVPを接続したmbed側のプログラムを作成します。mbedからはRN-42XVPはシリアル通信を行うデバイスに見えるので、プログラムはとても単純です。 :::c #include “mbed.h” BusOut leds(LED1, LED2, LED3, LED4); Serial xbee(p9, p10); // RN-42XVP int main() { uint8_t rawData;Read More →

BluetoothモジュールRN-42XVPと接続するWindows Phone 8.1アプリのサンプルでトラブルが起きています。 プロジェクトのターゲットをWindows Phone 8.0にすると正常に動作して、8.1に変更すると動かなくなるので、ここに問題がありそうです。 ひとまずWindows Phone 8.0 Silverlightのプログラムで公開して、その後8.1やWinRTへの対応を進めたいと思います。 2014年11月1日追記 Windows Phone 8.1 SilverlightアプリでのRFCOMM通信で原因と対策を報告しました。

BluetoothモジュールRN-42XVPと接続するWindows Phone 8.1アプリのサンプルを書いています。とある動作するサンプルを改造すればいいかと書き始めたのですが、元のサンプルでは接続できるのに、改造版ではなぜか接続できない… そんな訳で今はまっています。 その5としてサンプルプログラムを紹介する予定ですが、少々お待ちください。

[========] RN-42XVPの設定 BluetoothモジュールのRN-42XVPを実際使ってみます。 RN-42XVPはそれ自身でBluetoothのペアリングを行い、RFCOMMで通信します。 このBluetooth通信の設定は、PCからRN-42XVPにUSB-シリアル変換アダプタで接続して行います。 RN-42XVPとUSB-シリアル変換モジュールは次のように結線します。 USB-シリアル変換モジュールのドライバが必要ならインストールしておきます。 :::text RN-42XVP ⇔ USB-シリアル変換 VDD (1pin) ⇔ VDD TX (2pin) ⇔ RX RXRead More →

RN-42XVPとは mbedからBluetoothのRFCOMMで通信を行うモジュールの1つであるmicrochip社のRN-42XVPを紹介します。 RN-42XVPはUARTのTX/RX/RTS/CTSのピンを持っていて、mbedからはシリアル通信でデータを送受信するのと同じように見えることが特徴です。Bluetoothの処理はRN-42XVPが行うため、mbedのプログラムではbluetoothであることを意識する必要がありません。シリアル通信で外部と連携する機器のシリアル通信の回路をRN-42XVPに置き換えることで、簡単に無線で連携する機器へ変えることができます。 (RN41XV-RN42XV Datasheetから引用) RN-42XVPは10個のピンが2列に並んで、プリントパターンによるアンテナが付いた形状をしています。 ピンの間隔は2mm、ピン列の間隔は22m㎜で、いわゆるZigbeeのモジュールと同じピン配列です。 ブレッドボードに乗せる場合は2.54mmのピッチに変換するアダプタを使います。 今回はマルツエレックのXBeeピッチ変換基板ソケットセットを使います。 なお、コネクタとピンを自分ではんだ付けする必要があります。 次回は実際にRN-42XVPを使ってBluetooth通信してみます。

USBドングルによるmbedからのBluetooth連携 以前の記事「BluetoothによるWindows Phoneとデバイスの連携」で Windows PhoneとmbedをBluetoothで連携させるために、mbedのUSBピンに Bluetoothドングルを接続する方法を紹介しました。 このときはUSBスタックとしてmyBlueUSBを使い、RFCOMMでWindows Phone側と連携しました。 myBlueUSBはmain関数を持つプログラムで、そこにデータを受信したときのカスタム処理を記述します。 データ受信のイベントで処理を駆動する形でプログラムを書くのであればこれでもいいのですが、 自分でmainを定義するプログラムにmyBlueUSBは使えません。また、USBスタックのコードで 全体の見通しが悪いのも使い勝手が悪いです。 そこでRN-42XVPを使って、USBやBluetoothのプロトコルを意識することなく、mbedからBluetoothを使えるようにします。