• 検索結果がありません。

RN4020 のスクリプト機能のデモ

ドキュメント内 RN4020 Bluetooth Low Energy Module User’s Guide (ページ 75-84)

Chapter 3. アプリケーション例

3.4 RN4020 のスクリプト機能のデモ

このセクションでは、RN4020 Bluetooth Low Energy PICtail™/PICtail Plus ドータ ボードでスクリプト機能のデモを行う手順について説明します。

3.4.1

プライベート サービスおよびキャラクタリスティックのセットアップ

スクリプト機能は、プライベートサービスおよびキャラクタリスティックと組み合わ せて使う事を推奨します。スクリプト機能における主要な入力/出力ペリフェラルは、

アナログまたはデジタルポートです。データ フォーマットが事前に定義されたパブ リック サービスおよびキャラクタリスティックでは、RN4020のポートの読み出しま たは出力と連携しない事があります。しかし、プライベート サービスおよびキャラク タリスティックならデータフォーマットを自由に定義できます。従って、BTLE接続 のピアデバイスはスクリプト実行側デバイスの介在なしにデータ補完機能を実行で きます。

以下の UART ASCII コマンドでプライベート サービスおよびキャラクタリスティッ

クをセットアップします。

+ // Echo on

SF,1 // Factory Reset

SS,00000001 // Enable private service SR,00000000 // Set as Peripheral PZ // Clean private Service

PS,123456789012345678901234567890FF // Set private service UUID PC,12345678901234567890123456789011,12,02 // Set private

// characteristic to be readable, notifiable and 2 bytes // in length

PC,12345678901234567890123456789022,02,02 // Set private // characteristic to be readable and 2 bytes in length

R,1 // Reboot

再起動後、「LS」コマンドを使ってサーバー特性を確認できます。

123456789012345678901234567890FF

12345678901234567890123456789011,000B,02,02 12345678901234567890123456789011,000C,10,02 12345678901234567890123456789022,000E,02,02

3.4.2

スクリプト入力

スクリプトの書き込みを開始するには、以下のコマンドを実行してスクリプトをクリ アした後、スクリプト入力モードを開始します。

WC // Clean script

WW // Enter script input mode

次に、以下のスクリプトを入力します。スクリプトの入力が完了したら<ESC>キー を押して終了します。

@PW_ON

# start advertisement A

# define range of variable $VAR1

$VAR1 < “0300”

# associate handle 0x000E to reading of AIO2

イズが開始します。次に、$VAR1のレンジを0x0300未満と定義します。最後に、ハ ンドル0x000EをアナログポートAIO2(温度センサ)に関連付けます。

接続が確立すると、イベント@CONNが発生します。このスクリプトは、Timer1の タイムアウト時間を約5秒に設定しています。

Timer1 がタイムアウトになると、イベント @TMR1 が発生します。AIO0 を読み出 し、その読み値を$VAR1に代入します。読み値が事前に定義されたレンジ(< 0x0300) 内の場合は、その値がハンドル0x000Bに書き込まれます。それ以外の場合は、ハン ドル0x000Bは更新されません。

必要に応じて、コマンド「WR,<0-9>」を使ってスクリプトをデバッグできます。

3.4.3

スクリプトの実行

スクリプトを実行するには、以下のコマンドを発行して起動後にスクリプトが有効に なるようにします。

SR,01000000 // Run script after power on

R,1 // Reboot

再起動後、スクリプト実行が開始します。ユーザはスマートフォンまたはタブレット でBluetoothアクセス アプリケーションを開き、RN4020モジュールに接続できます。

キャラクタリスティック0x12345678901234567890123456789011をタップし、ノー ティフィケーションを開始します。

5秒ごとにAIO0(光センサ)が読み出されます。AIO0の値が$VAR1 < “0300”の条件 を満たすと、キャラクタリスティック値が5秒ごとに更新されます。

光センサに明るい光が当たるとAIO0の読み値は通常0x0400を超えるため、ハンド ル0x000Bの値は更新されません。光センサへの光を遮ってAIO0の読み値が0x0300 未満になると、Bluetoothアクセスアプリケーションの値が更新されます。

反対に、ユーザがBTLE BROWSER APPを使ってキャラクタリスティック

0x12345678901234567890123456789022の値を読み出す事ができます。対応するハ ンドル0x000EはAIO2に関連付けられているため、ハンドル0x000Eを読み出すと ホストMCUの介在なしにAIO2の読み値が返されます。

このデモでは、スクリプトがRN4020モジュールを動作させ、タスクを独立して実行 しています。このように、シンプルなアプリケーションであればRN4020モジュール はホストMCUなしの単体で動作できます。

モジュール ユーザガイド 補遺 A. PICtail™ ドータボード回路図

この補遺では、PICtailドータボードの回路図(下記参照)を示します。

• 図A-1:「RN4020モジュール」

• 図A-2:「PIC18LF25K50-I/ML」

• 図A-3:「28ピンおよび30ピンPICtail™コネクタ」

• 図A-4:「RN4020モジュールのブレークアウト ピン」

• 図A-5:「ステータスled」

• 図A-6:「電圧レギュレータ」

• 図A-7:「PIC18LF25K50-I/MLのデカップリング コンデンサ」

• 図A-8:「テストスイッチ」

• 図A-9:「ICSP™ コネクタ」

A-1: RN4020モジュール

BT_UART_TX BT_UART_RX SWAKE CMD/MLDP

PIO7 RSVD1 RSVD2

SPI_PIO AIO0

AIO1 AIO2

4.7uF C1

BT_UART_RTS

VDD3V3

RSVD3 1 GND

2 AIO2 3 AIO1 4 AIO0

UART_TX 5

UART_RX 6

WAKE_SW 7

CMD/MLDP 8

GND9 PIO1/SCK MLDP_EV/PIO2/CS PIO4/MISOWS/PIO3/MOSI CTS/PIO5 WAKE_HW GND SPI/PIO 17 RTS/PIO6 18 PIO7 19 RSVD 20 RSVD 21 RSVD 22 VDD 23 GND 24

M1 RN4020

モジュール ユーザガイド

p.78 2015 Microchip Technology Inc. RA21

RA32RA43

RA54

VSS5

RA76

RA67

8 RC0 9 RC1 10 RC2

VUSB3V3 11

12 D-13 D+

14 RC6

RC715 VSS16 VDD17 RB018 RB119 RB220 RB321

RB4 22

RB5 23

RB6 24

RB7 25

MCLR/VPP/RE3 26

RA0 27

RA1 28

TH29

PIC18LF25K50-I/ML U2

GND 5

D+D- 32

VBUS 1

6 MTAB

USB Mini B

J5 VUSB

D-D+

VDD3V3

4k7 R6

VDD3V3 MCLR

PGD PGC VUSB

10kR5 4k7R4

10nFC4

BT_UART_RTS

BT_UART_TX BT_UART_RX

SWAKECMD/MLDP

BT_UART_CTSBT_WAKE

VDD3V3

RSVD3

SENSE BT_UART_TX

PIO1 PIO2

RSVD2

RB2/SS1/AN2

1 RF2/U1RX_E 2

RF6/SCK1

3 RF3/U1TX_E 4

RF7/SDI1_E

5 RG2/SCL1 6

RF8/SDO1_E

7 RG3/SDA1 8

9 GND

GND 10 RB0/AN0

11 RB1/AN1 12

1 RE2 RA5 2

3 RE3 RA4 4

RA7/OSC1

5 RA3 6

RA6/OSC2

7 RC5 8

9 RC7 RC4 10

11 RC6 RC3 12

13 RB7 RA0 14

15 RB6 RA1 16

17 RB5 RA2 18

19 RB4

RC0 20

21 RB3 RC1 22

23 RB2 RC2 24

25 RB1 V_VAR 26

27 RB0 GND 28

J1 PICTAIL 28 Pin

Vin i Power Net

BT_UART_TX BT_UART_RX

BT_WAKE BT_UART_TX

BT_UART_RX

BT_UART_RTS SWAKE

CMD/MLDP BT_UART_CTS

BT_WAKE

MCLR PIO1

PIO3 PIO4

SENSE PIO1

PIO2PIO3

A-5: ステータスLED 12

34 56 78 J3

12 34 56 78 J4

1 2 3 4 5 6 7 8 J6

BT_UART_TX BT_UART_RX AIO0AIO1

AIO2

PIO7 SPI_PIO

PIO1 PIO2 PIO3 PIO4 BT_WAKE SWAKE

CMD/MLDP BT_UART_RTS

BT_UART_CTS

VDD3V3

RSVD1 RSVD2 RSVD3

Red D2 Blue D1

Green D3 330R R3 330R R2

330R R1

PIO1

PIO2

PIO3

A-7: PIC18LF25K50-I/MLのデカップリング コンデンサ

A-8: テストスイッチ

A-9: ICSP™ コネクタ

VUSB

4.7uF 4.7uF C3

C2

VDD3V3 1 Vin

GND 2

Vout 3

Tab 4

TC1262-3.3VDBTR

U1 PMEG2005CT,215

D4

Vin i

i Power Net

i Power Net

i Power Net

100nF C6 VDD3V3

100nF C5

S1

FN 330R

R15 PIO3

VDD3V3

MCLR 1

ドキュメント内 RN4020 Bluetooth Low Energy Module User’s Guide (ページ 75-84)

関連したドキュメント