Taro-CLICK-BLE

Similar documents
RN4020 を操作しよう 山本恵理 RN4020 を操作しよう : 準備編 RN4020 の操作を試す際の手軽な構成を図 1 に示します 以降は この構成で使用例を紹介します 図 1 RN4020 を試すオススメのシステム構成 RN4020 をブレットボードで使う準備 RN4020 のピッチパター

1. 目次 PixiModule ターミナルアプリ (ios 版 ) ソース説明 2. ios 版ご利用の前に ソースファイル内の用語の説明... 4 サンプル 4. ソースファイルの構成 Main.storyboard の説明 ViewControlle

ワイヤレスバーコードリーダー CM-520W1 設定資料 Bluetooth SPPの設定

TWE-Lite R 取扱説明書

CommCheckerManual_Ver.1.0_.doc

Studuinoプログラミング環境

[参考資料] Bluetooth対応タブレットでインターネット(MSP1000)

arduino プログラミング課題集 ( Ver /06/01 ) arduino と各種ボードを組み合わせ 制御するためのプログラミングを学 ぼう! 1 入出力ポートの設定と利用方法 (1) 制御( コントロール ) する とは 外部装置( ペリフェラル ) が必要とする信号をマイ

KEW Smart for KEW3552BT 取扱説明書

目次 1 I2Cとは 13 結線写真 2 センサの多くがI2Cに対応 14 WHO_AM_I 3 マイコンでのI2C通信例 15 I2C読込みプログラム 4 とは 16 I2C読込みスクリプト概要① 5 タイミングパラメータ 17 I2C読込みスクリプト概要② 6 書込み 18 センサ読込みプログラ

操作ガイド 用紙タイプ登録ツール

PowerTyper マイクロコードダウンロード手順

Microsoft PowerPoint - フェリカ通信仕様書_

CR-UK2ソフトウェアユーザーズガイド

FlashAir 設定ソフトウエア株式会社東芝セミコンダクター & ストレージ社 Copyright 2012 TOSHIBA CORPORATION, All Rights Reserved. 対応 OS: Windows XP SP3 / Vista SP2 / 7 (32bit/64bit)

MotionBoard Ver. 5.6 パッチ適用手順書

A&D社製データロガーを初めてお使いになる方へ

MINI2440マニュアル

PIC の書き込み解説 PICライターを使うときに間違った使い方を見受ける 書き込み失敗の原因は知識不足にある やってはいけないことをしている 単に失敗だけならまだしも部品を壊してしまう 正しい知識を身に着けよう 書き込みに必要なピンと意味 ICSPを意識した回路設計の必要性 ICSP:In Cir

Bluetooth MIDI 接続ガイド

1. ネットワーク経由でダウンロードする場合の注意事項 ダウンロード作業における確認事項 PC 上にファイアウォールの設定がされている場合は 必ずファイアウォールを無効にしてください また ウイルス検知ソフトウェアが起動している場合は 一旦その機能を無効にしてください プリンターは必ず停止状態 (

2015/04/01 改定 オムロン DeviceNet ユニット CJ1W-DRM21 に関するコンフィグレーション作業について 1. 概要 DeviceNet ユニット CJ1W-DRM21 を装着したオムロン製 CJ2 シリーズと WAGO-I/0-SYSTEM DeviceNet 対応バスカ

Android 携帯で使用する (SPP モード ) 5 デバイスの検索 をタップします 5 Scan Device をタップします select a device to connect 画面が表示されます 6 ELECOM TK-FBP017 をタップします 6 本製品の Bluetooth ボタ

KEW Smart for KEW3441BT 取扱説明書

プログラマブル LED 制御モジュール アプリ操作説明書 プログラマブル LED 制御モジュール設定アプリ操作説明書 適用モジュール 改訂番号 エレラボドットコム 1

302KC 取扱説明書 Chapter9

Taro-82ADAカ.jtd

アスラテック株式会社 会社案内

メニュー STEP 1 ehome をダウンロード STEP 2-1 アプリへのアカウント登録 ーーーーーーーーーーーーーーーーーーーーーーーーーーーー Amazon Alexa Google Home と連携するには 最新アプリ ehome をご利用ください 事前に 下記手順に従って eremot

Microsoft Word - BluetoothV21接続手順書3_CM520BT.docx

1 1 Arduino とは Arduino アルドゥイーノ は ワンボードマイコンの一種で オープンソースハードウェアであ り 組み立て済みの基板を購入することもできるほか 誰でも自分の手で Arduino を組み立てる ことができます USBコネクタでPCと接続して利用します デジタルポートとア

目次 1. はじめに... 1 動作環境... 1 その他 他の人が利用する ID を発行したい... 2 ユーザー ID 作成を作成しましょう パソコンのデータを自動でアップロードしたい... 4 PC 自動保管機能を使用してみましょう 不特定多数の

WLAR-L11G-L/WLS-L11GS-L/WLS-L11GSU-L セットアップガイド

起動する 起動方法は ご使用の OS により異なります 同一ネットワーク内で 本ソフトを複数台のパソコンから起動すると 本ソフト対応の LAN DISK にアクセスが集中し エラーとなる場合があります [ スタート ] メニュー [( すべての ) プログラム ] [I-O DATA] [LAN D

1. はじめに 本書は スプリット演算器 MFS2 用コンフィギュレータソフトウェア の取扱方法 操作手順 注意事項などを説明したものです Windows の操作や用語を理解している方を前提にしています Windows の操作や用語については それぞれのマニュアルを参照してください 1.1. MFS

Android用 印刷プラグイン Canon Print Service マニュアル

4-1 Palmi をインターネットに接続するには Palmi に最新のニュースや天気予報などの情報を読ませたり Palmi が撮影した写真をメールで送信させたりといった使い方をするには インターネットに接続する必要があります Palmi をインターネットに接続する環境を準備する Palmi をイン

リリースノート バージョン / /08/08 公開 wivia は 株式会社内 洋 の日本における登録商標です Microsoft Windows は 米国マイクロソフト社の米国及びその他の国における登録商標です Apple Mac Mac OS は 米国 A

Pocket WiFi LTE (GL04P) ソフトウェア更新マニュアル パソコン ipad 編 Version2 10

1. UART について UART は Universal Asynchronous Receiver Transmitter の頭文字をとったもので 非同期シリアル通信と呼ばれます シリアル通信とは 一本の信号線でデータをやりとりするために 1bit ずつデータを送出することをいいます データを受

電子13-06 エネメータ専用ソフト SAVER CAST for EneMeter Ver3.00設定方法.ppt

1. Android のホーム画面 06. クイックマニュアル [ 遠隔接続編 -Android 版 -] 2. ストアの起動画面 Android を起動しますと Play ストア ( 赤枠 ) というア イコンがありますのでこちらをタップしてください 機種により表示方法は異なります ストアの初期画

株式会社日新テクニカ USB シリアル CAN 変換器 /8/22 ホームページ : メール

Microsoft Word - XPC4ソフトマニュアル.doc

【赤外線リモコン 01】 Google Home との連携方法

 

KDDI ペーパーレスFAXサービス

Microsoft Word - qa-int.doc

Microsoft PowerPoint - ã•’Newlineã•‚TRUCAST_ã†fl紹仉è³⁄挎_ pptx

                     

ギョロモガイガー Ⅱ 操作ガイド ギョロガイガー Ⅱ 操作ガイド 本書では ギョロガイガー Ⅱ の操作方法についてご説明いたします 目次 1. 概要 コンセプト 主な機能 基本仕様 インストール 使い方...

ネットワーク設置で困ったときには

FTP とは? FTP とは File Transfer Protocol の略です 日本語訳すると ファイルを転送するときの決まり事という意味です 飛行機が世界中の空港で離陸 着陸できるのは 決められた手順 通信方式 が存在するからです パイロットでない私たちが聞いても よく分からないやり取りです

ネットワーク設置で困ったときには

CentreCOM VT-Kit2 plus リリースノート

目次 第 1 章 ユーザーアカウント ( メールアドレス ) の取得 サービス内容の確認 インターネット環境設定通知書の確認 アカウントについて 4 ユーザーアカウントを登録する ユーザーアカウントを登録する サービス

目次 各装置仕様... 2 各部の名称... 3 簡易操作手順... 6 データフォーマット... 7 無線設定... 8 無線設定変更手順... 9 Ethernet 設定 HYBRID ROUTER の追加機能について 制限事項... 15

遠隔アプリ操作マニュアル 目次 遠隔アプリ設定編 遠隔アプリ利用編 困った時は (Q&A) P2~P8 P9~P12 P13~P14 1

常駐接続(ISL AlwaysOn)Wake On LAN 設定ガイド

MS5145 USB シリアル エミュレーション モードの設定

ワイヤレスセンサモジュール取扱説明書

【赤外線リモコン 02】 Google Home との連携方法

目次 目次... 本書の見かた... 商標について... 重要なお知らせ... はじめに... 4 概要... 4 使用環境について... 5 サポートされている OS... 5 ネットワーク設定... 5 印刷... 8 ipad iphone ipod touch から印刷する... 8 OS

CR-UK1ソフトウェアユーザーズガイド

QuartusII SOPC_Builderで利用できるGPIF-AVALONブリッジとは?

LAN DISK NarSuSの登録方法

ESET Smart Security 7 リリースノート

リモートアクセス Smart Device VPN ユーザマニュアル [ マネージドイントラネット Smart Device VPN 利用者さま向け ] 2015 年 10 月 20 日 Version 1.6 bit- drive Version 1.6 リモートアクセス S

MW100 Modbusプロトコルによるデータ通信の設定について

重要更新作業を実施される前に必ずご確認ください OS の更新を実行するときはタブレット端末に AC アダプターを接続して使用してください AC アダプターを接続していないと OS の更新はできません 実行中は AC アダプターを抜かないでください OS の更新が正しく行えなくなり タブレット端末が正

本製品にインストールされているWindows 10 について

目次 目次... 1 本書の見かた... 2 商標について... 2 オープンソースライセンス公開... 2 はじめに... 3 概要... 3 使用環境について... 4 対応している OS およびアプリケーション... 4 ネットワーク設定... 4 Google クラウドプリントの設定...

SiTCP ユーティリティユーザガイド 2014 年 6 月 18 日 0.73 版 Bee Beans Technologies 1

どこでも写真管理 Plus (Android 版 ) 操作手順書 ( 黒板作成 連携ツール使用時 ) EX-TREND 武蔵の写真管理 黒板作成 連携ツール どこでも写真管理 Plus でデータを連携して 電子小黒板機能付き工事写真を撮影する手順を解説します 解説内容がオプションプログラムの説明であ

WAGO / / Modbus/RTU対応 バスカプラ クイックスタートガイド

H

どこでも写真管理 Plus (ios 版 ) 操作手順書 ( 黒板作成 連携ツール使用時 ) EX-TREND 武蔵の写真管理 黒板作成 連携ツール どこでも写真管理 Plus でデータを連携して 電子小黒板機能付き工事写真を撮影する手順を解説します 解説内容がオプションプログラムの説明である場合が

BizBrowser SmartDevice Android開発用スタートアップガイド

つくば市 様

スライド 1

Windows10の標準機能だけでデータを完全バックアップする方法 | 【ぱそちき】パソコン初心者に教えたい仕事に役立つPC知識

Photo Sensor – 적외선 센서

MODBUS ユーザーズマニュアル 페이지 1 / 23

【赤外線リモコン 01】 Google Home との連携方法

1. ボードの複数台制御 コンフィグ ROM から FPGA が起動できる場合を想定しています FPGA 回路には 特定のレジスタアドレスにプリセットしたデータが必要です 製品出荷時のサンプル FPGA 回路では レジスタ No.3 を 8bit 幅に設定し FPGA 外部の 4bit ディップスイ

目次 目次... 本書の見かた... 商標について... 重要なお知らせ... はじめに... 4 概要... 4 使用環境について... 5 サポートされている OS... 5 ネットワーク設定... 5 印刷... 8 ipad iphone ipod touch から印刷する... 8 OS

1 はじめに はじめに メールシステムの切り替えについて お問い合わせ窓口 メールソフト設定の前に (OUTLOOK2010 および 2007) OUTLOOK のバージョン確認 WINDOWS

ご注意 無線 LAN 利用にあたって ご注意 無線 LAN 利用にあたって 以下の注意事項をよくお読みの上 装置を無線 LAN 環境でご利用ください 無線 LAN 環境で使用する場合 スリープには移行しますが ディープスリープには移行しません 装置の近くに 微弱な電波を発する電気製品 ( 特に電子レ

PRONETA

CUBICS Learning

内容 MD00Manager とは?... MD00Manager をインストールする.... ソフトのインストール... MD00Manager の使い方.... 起動をする... 機能説明...7 機能説明 ( メニューバー )...8 機能説明 ( ステータスバー )...8 機能説明 ( コ

受付代行 設定マニュアル このマニュアルでは 恵比寿ボイスプロダクションが Google アシスタントアプリで公開している 受付代行 ( ) を使って Google

SLCONFIG の操作 JF1PYE Ⅰ. PC と slconfig の通信設定 Ⅱ. Slconfig の操作 Ⅲ. 端末ソフトによる Command 機能 Ⅳ. slconfig 実行形式プログラムの作成 Ⅴ. 端末ソフト Tera Term のダウンロード インストー

CR-USB 仕様書 株式会社測商技研 JS カード用データ転送用カードリーダー CR-USB 仕様書 取扱説明書 2012 年 07 月 31 日版 株式会社測商技研 1. 概要 本器は当社製自動観測装置で記録した JS カードデータ

設定ソフト Ver1.0.5版 マニュアル

QuartusII SOPC_Builderで利用できるGPIF-AVALONブリッジとは?

NarSuS アプリの UPS 対応 クラウド状態管理サービス NarSuS LAN DISK Z シリーズに接続された 対応 UPS のステータス情報を NarSuS で確認 することができます 本機能をご利用いただく際には 以下の UPS 用自動シャットダウンソフトとの併用を推 奨します 以下の

システム更新の手順 1-1. Android のホーム画面で [ アプリ ] [ 設定 ] [ 画面 ] [ 画面の自動スリープ ] の [ しない ] をタップします 1-2. Android のホーム画面で [ アプリ ] [ 設定 ] [ タブレット情報 ] を順にタップし ビル ド番号 を確

アプリケーションの使い方 ios 対応バージョン ios : 6.0 以降 準備 事前に液晶モニター本体のネットワークパスワード及びネットワークアドレスの設定を行う ( 取扱説明書 7ページ ) 液晶モニター上でインターネットの接続状況を確認する メインメニューの システム ネットワーク ネットワー

EB-RL7023+SB/D2

Transcription:

型番 :CLICK-BLE RN-4020 搭載 mikrobus Clickボード (C)2015 マイクロテクニカ補足説明書 REV.1.82 CLICK-BLE 補足説明書 GATTの仕組み ところで, このようにデバイス間で通信をする場合, 相互のデータは互換性が確保されていなければなりません. そうでないと, 片方のデータが読めなくなったりして, 通信が成り立たなくなるからです. そのたのBL Eのすべてのサービスは,GATT(Generic ATTribute Profile) に基づいて作成されています. そして,GATTはさらにその中にある, キャラクタリスティックと呼ばれる属性へのアクセス方法を定義しています. Device Information Service Battery Service Characteristic Characteristic Characteristic Characteristic Bluetooth Low Energyについて BLEとは? Bluetooth Low Energy(BLEと記載 ) は, その名の通り低消費電力を実現しながらBluetooth 通信を行うための新しい規格です. 従来からあるBluetooth Ver.1.1/1.2/2.0/3.0とは互換性がなく, 新しい規格として作られました.Ver4.0となっています. Bluetooth Smartというロゴが着いた物は,BLEのみの使用が可能で従来のBluetooth 機器との通信はできません. しかし,Bluetooth Smart Readyというロゴの付いたものはBLEによる省電力通信と共に, 従来の Bluetooth 機器との接続も可能になっています. さて,BLEとは何か, 単に消費電力が小さいだけというわけではありません. スマートフォンをターゲットに据えている点が大きな特長です.A ndroid 端末もiOSの端末もBLEを搭載しているものがほとんどで, 連携した機器を作りやすいという特長があります. また1 対 1の通信だけでなく, 複数の端末にブロードキャストして一斉配信するようなこともできます. BLEはあまり大量のデータを, 高速で伝送するような使い方には不向きです. 一方でセンサーから取得したデータを一定間隔で, 速度がそれほど要求されないような環境で長時間運用するような目的にはぴったりです. 近距離 で 通信速度は遅く 通信距離が短く てもよいが 消費電力をなるべく小さく した機器を作りたいというような用途に使うのがBLEです. BLEの最も基礎的な知識と通信手順 セントラルとペリフェラル BLEでは通信する際の役割分担が明確になっています. 一方は セントラル, もう片方は ペリフェラル です. セントラルは, 名前の通りで中央側です. ペリフェラルは周辺側です. この辺りは,USBのホスト機器とクライアント機器の関係に似ています. 主に セントラル側 はパソコンやスマートフォンになります. 一方で, データを送るセンサー側, 例えば温度センサーや加速度センサーなどは ペリフェラル側 になります. では実際のデータのやりとりはというと, このキャラクタリスティックに対して値を書いたり, その値を読んだりすることで行われます. データを送信する という従来のBluetooth 通信の感覚より, キャラクタリスティックにデータを書き込む その結果データが送信される という感じになります. どんなサービスがあって, その中にどんなキャラクタリスティックがあるかということては, あらかじめBluetooth SIGによって標準的なものが定義されています. また, 互換性について問わなければユーザーが独自に定義を作ることもできます. ノティファイで通知を受け取る なお, このキャラクタリスティックが書き換えられて, 値が変更された時にその通知を受け取れる仕組みをノティファイ (Notify) と呼びます. データが変化するかを常に監視しておくのでは省電力なプログラムを作りにくくなります.BLEはとにかく, 省電力を意識しており, 変化があった時にだけ, ちょこっと必要最小限のデータをやりとりして通信を終え, ノティファイによって 変化がありましたよ ということを通知することでB LEモジュールもそれをコントロールするマイコンも省電力で使える, という仕組みになっているのです. UUIDでサービスやキャラクタリスティックを識別する GATTでは色々なサービスがあり, さらに複数のキャラクタリスティックがあることを解説しました. これらを識別するには,UUIDという値を使います.UUIDは,Universally Unique IDentifierの略で,16バイトの値です. しかし16バイトはデータとして長く, 省電力化という意味でも相応しくないので, 実際には短縮した2バイト版や4バイト版を使います. なおこれはどういうことかと言うと, xxxxxxxx-0000-1000-00805f9b34fb となっている16バイトのUUIDのxxxxxxxxの部分だけを取ったものということです.xxxxxxxxは4バイト版の時,2バイト版の時は,0000xxxxとなります. なお, なぜわざわざ16バイトのUUIDを紹介するのかというと,4 バイト版や2バイト版はBluetooth SIGであらかじめ定義されたものを使う場合のみ使えるためです.SIGで定義されていないオリジナルのUUI Dを作る場合には, 必ず16バイトのUUIDを使わなければいけないことになっています. この16バイトのUUIDは,UUID generatorという公開されているツールで生成することができます. この辺りのことは実際の通信プログラムを作ることで理解が早まります. 1

BLE の通信手順 では実際の通信手順を見てみましょう.BLEで大切なのは通信の開始は ペリフェラル側 からという点です. 手順は一般的に次のようになります. 1アドバタイズ ( ペリフェラル セントラル ) 最初の一歩. まずペリフェラル側は自機の存在をセントラルに知ってもらうためデータを定期的に送信し続けます. この動作をアドバタイジングと言います. このデータは31バイトと決まっていて, サービスの種類やタイムアウト時間などが含まれます.31バイトに達しない場合には0x 00で埋めます. またこのデータのことをペイロードと呼んでいます. クライアントとサーバー BLEでは セントラル ペリフェラル という用語が出てきますが, 同時に クライアント サーバー という用語も出てきます. 混同しそうですのでここでまとめておきます. これらの用語を理解するには,BLEのプロトコルスタックを見ると早そうです. 2 検出 ( セントラル ) 1 の結果, セントラルはペリフェラルの存在を知り, 検出します. 3 アドバタイジングの終了 ( ペリフェラル ) 自機の存在をセントラル側に知ってもらったため, ペリフェラルはアド バタイジングを終了します. 4ペリフェラルの調査 ( セントラル ペリフェラル ) セントラル側はペリフェラルがどのような通信をするデバイスなのかを調査します. 5プロファイル情報の送信 ( ペリフェラル セントラル ) 調査されるペリフェラルは, 自機がどんなサービスを持つデバイスなのを示すプロファイル情報をセントラル側に送ります. さらにサービス情報と共にデータを含めます. サービスに関わる情報をデータとして含めておくことで, ペリフェラルはどんなサービスを, どのようなデータでセントラルに送る装置なのか ということを定義します. 実はこのプロファイルは自由に決めることができるのですが, そうした場合, 勝手に決めたプロファイルでは他の機器との接続性が確保されません. よってプロファイルはBluetooth 規格によって定められた物の中から使用することが望ましいと言えます. 6データ要求 ( セントラル ペリフェラル ) セントラル側がペリフェラル側にデータを送るよう要求します. データは, どんなデータでもいいわけではなく,5のプロファイルにあるデータを送ります. 7データ送信 ( ペリフェラル セントラル ) セントラルの要求に従い, ペリフェラルはデータを送ります. なおここで大切なことは, その送信するデータがどんな種類のデータなのか, ということを識別するための番号があらかじめ決められているという点です. この番号のことをUUID( ユニバーサル固有識別番号 ) といい,Bluetooth 規格の中で このデータはこの番号! というように決められています. 通常は16ビット長です. この辺りが従来のBluetoothをシリアル通信でそのまま伝送するSPP と違い, ちょっとBLEを分かりにくくしている部分です. た 出典 :http://www.mdpi.com/ 上図はBLEのプロトコルスタックです. ここで注目なのは, 上位層のG APとGATTです. GAPは,BLEが通信をする時のアドバタイジングや接続を制御するプロトコルです. ポイントはアドバタイジング. この周辺 BLEから送信されるアドバタイジングを検知して接続を開始し, そのBLE 機器をネットワークに加えるかどうかの判定をするのが, セントラル. ペリフェラルは, このアドバタイジングパケットを周囲に送信する側が ペリフェラル です. なおアドバタイジングは, 日本語で広告という意味です. 広告 = 宣伝を出す側がペリフェラル. ペリフェラルはセントラルに, 自機を宣伝しセントラルがペリフェラルに接続できるようにしているのです. 一方 クライアント や サーバー という位置関係はGATT 上での話です.GATTは機器が提供するサービスとキャラクタリスティックを決めるものです. ここで登場するのが, クライアントとサーバー. クライアントは,GATTにおいてサービスを利用するデバイス. サーバーはサービスを提供するデバイスです. 通常この2つの関係だと,GAPの ペリフェラル が GATTの サーバー になり,GAPの セントラル が GATTの クライアント になります. 例えば, スマホとCLICK-BLEの関係を見たとき, 8 接続の切断 ( セントラル ) データを受信し終わると, セントラル側が接続を切ります. これで一連の流れは終了です. なお,1~8のような手順を踏むことが一般的ですが,BLEにはビーコンという使い方があります. ビーコンは先の手順 1だけを繰り返して実行するもので, ペリフェラルが一方的にアドバタイジングをするだけの使い方をします. アドバタイジングにデータを入れておき, それを一方的に配信するというものです. よってセントラルとペリフェラルは接続されることはありません. ちょっとテレビのリモコンにも似ています. GAP ペリフェラル側 GATT サーバー側 このような関係になっていることが多いです. GAP セントラル側 GATT クライアント側 ただし, これは決定事項ではなくその逆になることもあります. 2

RN-4020を使ってみる ~ 基礎編 ~ BLE 規格については, 大量に書籍が出版され分かりやすく解説されていますので本書ではとにかくRN-4020を使って通信をしてみて, その使い方やBLEの特徴を理解してみましょう. 本書では,CLICK-BLEに搭載のRN-4020とスマートフォン間で通信をしてみます.Bluetooth SIGで定義されているサービスを使う方法と独自サービスを定義して通信する方法を解説しています. またCLICK-BLE 同士で通信する方法も紹介します. CLICK-BLEに搭載のRN-4020については, メーカーのマイクロチップ社から日本語マニュアルがリリースされていますので, 併せてお読みください. コマンドは色々なものが用意されていますが, 本書ではよく使う代表的なものをご紹介しています. シリアル通信にあたり, 次のように配線を行います. ここではCLICK- BLEとパソコンをRS232Cで接続しパソコンのシリアルターミナルから各種コマンドを送信して制御します. 当方では,CLICK-BLEを直接装着して, そのままパソコンからUSB 経由でシリアル通信ができる,PIC32 MX534F064H 搭載 PIC CLICKERベースボード [CLICK-32MX] を販売しております ( 仮想 COMポートサンプル使用 ). 電源給電も, 通信インターフェイスもありますので簡単にパソコンからの制御ができます. ぜひご検討ください. 8ピンと9ピンは両方 GNDですが, どちらか片方だけの接続でも使用可能です.2ピンのSWAKEピンは本体のディープスリープからの復帰ピンです.Highレベルでスリープから復帰します. 本体が動作する状態になると ( スリープから復帰すると ),CLICK-BLEボード上の"WAKE"LED ( 青 ) が点灯します. UART 信号は,TX-RXをそれぞれクロスしてUARTホストと接続します. ロジック電圧レベルは0V-3.3Vですので5V 系デバイスとは直結できません.5V 系と接続する場合には, レベル変換 IC 等を使って調整をしてください. その他のピンに関する説明は,RN-4020の日本語データシート表 2-1(P.16~18) をご参照ください. 配線や電源の接続には必ず日本語データシートを参照して確認をお願い致します. 誤った配線は本体の故障につながります. 通信設定 CLICK-BLEに搭載のRN-4020のUART 側通信設定は下記の通りです. 通信速度: 115200bps データビット: 8 パリティ: なし ストップビット 1 通信の決まり事 1シリアルコマンドは必ずキャリッジリターン (0Dh) で終端します.CRがないと,RN-4020はコマンドの最後であると認識しないため, いつまでもコマンドが実行されません. 必ずCRで終端するようにします. また,RN-4020からの戻り値もCRで終端されています. 2RN-4020 は処理が正しく完了した場合などに,ACK を返します. この ACK は,"AOK" という 3 バイトの文字列です. Battery Service で通信してみる コマンドや,UART で送信する文字列は,"( ダブルクォーテーション ) で 囲んで記載しています. モジュールの配線 CLICK-BLEを使うための基本的な配線をします. 配線は +3.3Vの電源と,UART 信号線のTX 及びRX 線,RN-4020をウェイクアップさせるためのWAKEピンの配線です. UART 信号線は,CLICK-BLEを制御するUARTホスト機器がパソコンか, マイコンかによって変わります. 下図はマイコンと接続した場合の一例です. 記載しているコマンドにはキャリッジリターンは記載していませんが, 実際はCRで終端してください. コマンド中の,( カンマ ) は,2Chです. 1 "+" コマンド (2Bh) をUARTホストから送信してエコーを有効にします. エコーを有効にすると,RN-4020は受信したデータをそのままエコーバックします. 正しくコマンドが実行されると,"Echo On" という文字列が返ります. 通信状態をオシロスコープで観察した図は下記の通りです. 3

マイコンやパソコン等から,2Bhと0Dhの2バイトをCLICK-BLEに送信しても戻り値がない場合には, 正しくCLICK-BLEのRXピンに, データが入力されているかオシロスコープやロジックアナライザで確認してください. 基本的にデータの入出力状態は, 実際にオシロスコープで波形として観察しない限り正しいかどうかを判断することはできません. 期待通りの動作をしない場合には必ずオシロスコープで波形を観察するようにしてください. 2 続いて本体を工場出荷時の状態に一度リセットします. "SF,1" を送信します. 正しく完了すると,"AOK" が返ります. 3 続いてモジュールがどのサービスをサポートするかを指定します.R N-4020では18 個のサービスがあります. ここでは,Batteryサービスをサポートすることにします. Batteryサービスは, バッテリーの値を通信するためのサービスですが, 必ずバッテリーのためだけに使わなければいけないということではなく, バッテリーの値通知に適している というだけです. "SS,40000000" を送信します. 値をいくつにしたらよいかについては,RN-4020データシートのSSコマンドページに記載があります. 正しく完了すると,"AOK" が返ります. 4 続いてRN-4020の 立場 を設定します. ここでは,RN-4020はペリフェラルに設定します.BLEにおいてペリフェラルは,1 定期的にアドバタイズを行い,2セントラルによるキャラクタリスティックの操作を受け付ける, デバイスです. "SR,00000000" を送信します. 正しく完了すると,"AOK" が返ります. 5 ここまでの設定を有効にするため, 一度 RN-4020を再起動します. 再起動は "R,1" コマンドで行います. 再起動が完了すると "CMD" という文字列が返りますので, この文字列を必ず待ってから次のコマンドを発行します. https://developer.bluetooth.org/gatt/services/pages/ ServicesHome.aspx 次の行の,2A19h は Battery Level の UUID です. この行の最後は "V" となっていますので,000Bh は値を示すハンドル ということです. ハンドルとは, クライアント側がサーバー側の個々のデータにアクセ スする時, このハンドル値を指定します. UUID は必ずハンドルを持っていることを覚えてお手ください. 次の行は, 同じ UUID で最後が "C" となっています.C は設定のハンド ルであることを示しています. ここで得られたリスト情報は実際の通信でデータをやりとりする際 に必要となりますので記録しておきます. マイコン等で制御している場合には, この戻り値をメモリーに保存す るなどして利用することになります. 7 では実際の通信を行ってみましょう.BLE 通信ができるスマホやタ ブレットをご用意ください. なお, 通信は ios でも可能ですが, 本書で は,Android OS を搭載した端末での例を紹介します. Android OS では Play ストアから多種多様な BLE ツールが配布され ています. ここでは,"B-BLE(BLE4.0 Scan)"(BillyLeung 配布 ) を使 用した例を紹介します. 本書ではこのソフトのことを BLE ターミナル と記載します. 最初に本モジュールを見つけてもらうために, 本モジュールはアド バタイズを開始する必要があります. "A" コマンドを送信すると, アドバタイズを開始します. A コマンド送信後,"AOK" が返ることを確認してください. なお引数を指定しない場合,100ms 間隔で無期限にアドバタイズを 行います. 8 BLE ターミナルを起動しすると, 本機が発見されます. 発見されない場合には,BLE ターミナルの "SCAN" をタップしてスキ ャンしてください. 6 続いて RN-4020 がサーバーの役割として, サポートしている現在の サービス及びキャラクタリスティックをリスト表示させます. 表示には "LS" コマンドを使います. LSコマンドの1 行目はプライマリサービスUUID,2 行目は先頭に2つのスペース (20h) があり, 続いてキャラクタリスティックUUID, ハンドル, ハンドル値を示す "V" 又は設定のハンドルであることを示す "C" が続きます. LSコマンドを送信してみましょう. 現在の設定の場合, 次のように表示されるはずです. 180F 2A19,000B,V 2A19,000C,C END 1 行目の180Fhは,Battery ServiceのUUIDです. なお, サービスUUIDの一覧は下記からご覧いただけます. 発見されたデバイスをタップして接続します. 9 コネクトできると下記のような文字列が返ります. Connected ConnParam: 0006,0000,07D0 ConnParam: 0027,0000,07D0 BLEターミナルでは, サポートされているサービスが表示されます. ここでは,"Battery Service" をタップします."BATTERY SERVICE" のUUIDは,180Fhとなっていることがわかります. 4

続いて,"Battery Level" をタップします. UUID が 2A19h となっていることがわかります. 12 再度,BLE ターミナルの "READ" ボタンをタップしてみましょう. HEX の値が 0Ah になっていることが確認できます. なお, 現在の設定では,Notufy( 通知 ) が無効なので, 値が更新されても, 通知されず表示は自動的に更新されません. そこで,BLEターミナルの"NOTIFY" をタップして通知を有効にしてみましょう. 10 プロパティを見てみましょう. "Read" と "Notify" となっています. これは, この端末が使えるのはこの 2つであることを意味しています. すなわち, スマホ側 ( クライアント側 ) は,Battery Levelの値は読み出す (Read) だけで, 変更 (Write) できないことがわかります. "Battery Level" をタップすると画面下に値が表示される部分が表示されます. 試しに,"READ" ボタンをタップしてみてください. 値が表示されます. 下図の例だと, 現在の値は62hとなっています. タップすると,CLICK-BLE 側では, "WC,000C,0100" が返ります. この意味は, ハンドル000Chに2バイトの値,0001hを書き込んだ ということになります.0001hはリトルエンディアン表記で,0100となっているだけです. ハンドル000Chとは何か, というと手順 6で実行したLSコマンドで示されています.LSコマンドでは, 2A19,000C,C という戻り値がありました. これは, Battery LevelキャラクタリスティックUUIDの2 A19hの, 設定ハンドル (C) は,000Chである という内容でした. 13 再度 SUWコマンドで値を書き込んでみます. "SUW,2A19,63" を発行してみましょう. 今度は,CLICK-BLE 側で SUW コマンドが実行されると, すぐに表示 の値が更新されることがわかります. この値を変えてみましょう. 11 CLICK-BLE 側で "SUW" コマンドを使ってキャラクタリスティックの値を書き込みます. キャラクタリスティックの値を書き込むということは, 値が変更されるということです. "SUW,2A19,0A" を発行してみましょう. 発行後,"AOK" が返ればOKです. SUWコマンドは,UUIDでアドレスを指定して, ローカルデバイスへサーバーサービスのキャラクタリスティックの内容を書き込むコマンドです. 2A19hは,Battery LevelのUUIDでしたので, これを指定しました.0 Ahは書き込む値です. 14 なお,UUIDではなくハンドルでアドレスを指定して, キャラクタリスティックに値を書き込むコマンドもあります. それがSHWコマンドです. ハンドルとキャラクタリスティックUUIDの関係は, 手順 6で実行した LSコマンドで把握できます. 手順 6のLSコマンドでの戻り値は下記の通りでした. 180F 2A19,000B,V 2A19,000C,C END このことから, ハンドルは000Bhであることがわかります. SHW,000B,00 を発行してみてください. BLEターミナルで, 値が0になることが確認できます. これで, ひとまずBLEによる通信を体験しました. 最も簡単なBattery Serviceを使った例で概要がわかったところで, 独自サービスを使ってもう少し自由度の高い通信を体験してみましょう. 5

RN-4020を使ってみる ~ 基礎編 2~ 基礎編 1を完了して, ある程度 CLICK-BLEの使い方やコマンドをマスターしているものとして解説しています. 基礎編 2では, 既存のサービスではなく, 独自サービスを使って自由度の高い通信をしてみます. サイトの Version 1 UUID Generator を使います. 今回は, 独自サービスに1つのUUID, 独自キャラクタリスティックに2 つのUUID, 合計 3つのUUIDを使います. How Many? のボックスに 3 と入力して,"Generate" をクリックします. 独自サービスでは,SSコマンドでBluetooth SIGで定められた値を設定せず00000001を指定することになります. 次の手順でCLICK-BLE の設定を始めましょう. スマホ側は別のターミナルを使うことにします.Playストアから"BLE Reader" で検索すると翁柏杰氏が公開しているアプリがあるのでインストールします. 3 つの UUID が生成されました. 今回はこの 3 つを使います. 通信の内容としては2つのキャラクタリスティックを作り,1つは10 文字のASCIIデータ (10バイトのデータ) を通信し, もう1つは単純に2バイトの読み書きだけができるキャラクタリスティックとします. 1 "+" コマンドでエコーをONにします. SF,1 で本体をリセットします. 2 独自サービスを実行するため, "SS,00000001" を送信します. 3 CLICK-BLEの機能をSRコマンドで設定します. 基礎編 1ではAコマンドでアドバタイズを開始しましたが, ここでは再起動, 切断後にアドバタイズを開始する設定にします. また既にボンディング ( セキュアにリンクしたペアリング ) 済みであっても不特定多数にアドバタイズをするように設定します. SR,24000000 4 ここで一度, 独自サービスとそれに付随する独自キャラクタリスティックの全設定をクリアします. クリアはPZコマンドで行います. PZ 5 独自サービスを使うためには, 開発者が自らサービスのUUIDを決めることになります. 設定はPSコマンドで行いますが,UUIDはどのように決めたらよいでしょうか. UUIDは128ビットの値です. この値は自由に決めることができますが, 値が重複した場合, 競合が発生して通信ができなくなります. よって, ユニバーサルサービス ( 予めBluetooth SIGが定めているサービス ) 以外を使う場合には, 一意のUUIDが望まれます. インターネットには便利なツールがあり, 時刻や使用しているパソコンのMACアドレスからUUIDを生成してくれるサービスがあります. 今回はこれを利用してみましょう. 下記のサイトを表示します. https://www.uuidgenerator.net/ 6 最初に独自サービスのUUID 設定です. 設定はPSコマンドを使います. 手順 5で生成したUUIDの1つを指定します. なお, 手順 5のサイトでは, ハイフン (-) が入っていますがPSコマンドではハイフンは入れずに入力します. PS,a7bc7ee8 7 続いてこのサービスに追加するキャラクタリスティックのUUIDを追加します. キャラクタリスティックUUIDの追加は,PCコマンドで行います.PCコマンドには引数が3つあります. 1つ目はキャラクタリスティックのUUID, 2つ目はキャラクタリスティックのプロパティ, 3つ目はこのキャラクタリスティックが保持する最大データサイズです. データサイズはバイト単位で最大値は20です. プロパティ値は RN-4020データシートの14ページに表が掲載されています. 1つ目のキャラクタリスティックは, 書き込み (Write=0b1000) と読み出し (Read=0b10) ができて,Notify( 通知 =0b10000) が可能な1 0バイトサイズとします. 0bは2 進数を示します. よってプロパティ値は,1Ahとなります. サイズは10バイトなので0Ah を指定します. PC,a7bc824e,1A,0A 続いて2つ目のキャラクタリスティックです. 通知なしで, 読み書きだけできればよいので, プロパティ値は06h, サイズは2となります. PC,a7bc8406,06,02 これで,1つの独自サービスに2つのキャラクタリスティックが追加されたモデルができあがりました. 本モジュールは最大で10 個のキャラクタリスティックを追加できます. 8 再起動してすべての設定を有効にします. R,1 9 再起動が完了したら,LSコマンドで正しく設定されているか確認してみましょう. ヘッダーコード,000Chはノティフィケーション用です. 実際には,000Bhと,000Ehの2つを使います. 6

10 では早速, キャラクタリスティックに値を書き込んでそれが反映され, さらにスマホ側で通知されることを確認してみましょう. BLEターミナルを起動すると, すぐにCLICK-BLEが見つかります. タップして, 接続します. 13 同様にして, もう1つのNotifyのない2バイトのキャラクタリスティックも試してみてください. こちらは,NotifyがないためSHWコマンドで書き込みをしてもBLEターミナル側では何も変化がありません. 画面最下部の マークボタンを押して Read ボタンをタップすると, キャラクタリスティックが保持している値を読み出すことができます. 11 "Unknow Service" をタップして展開すると2つの "Unknow Charact istic" が表示されます. 片方のプロパティが "Read Write Notify" となっており, もう片方は "Read Write" となっています. 最初に,"Read Write Notify" 側をタップします. これをタップしてからこちらをタップ独自サービスを使った場合,BLEにてある程度自由度のある通信ができるようになります. BLEはもともと長いシリアルデータ通信をするような規格ではないため,1つのキャラクタリスティックが保持できる最大データサイズは20バイトと少ないのも特徴です. その代わり消費電流を極力抑える仕様にしています. センサーの数値やスイッチのON/OFFといった, ごく小さなデータをやりとりするには十分な規格である一方, シリアル通信を無線化して遠隔地のデバイスと通信したいというような用途には, 従来のBlu etooth3.0 以前の規格がむいています. タップすると, ターミナル画面が表示されここでデータの書き込み, 読み込みの様子が表示されます. 12 SHWコマンドでヘッダコード000Bhにデータを書き込んでみましょう. ここでは,"HELLO BLE" と書き込んでみます. SHW,000B,48454C4C4F20424C45 上記コマンドをUARTで送信してみてください.BLEターミナルに, "HELLO BLE" と表示されたことを確認します. RN-4020を使ってみる ~ 応用編 1~ 基礎編では, スマホをセントラル, 本モジュールをペリフェラルとして動作の確認をしましたが, 本項では2 台のCLICK-BLEを使ってモジュール同士で通信を行ってみましょう. このモジュールの便利なところは,2 台のモジュール間で通信する場合の特殊なプロファイル,MLDP(Microchip Low-energy Data Profil e) を搭載しているということです. このMLDPは,2 台のモジュール同士のシリアル通信を,SPP(Serial P ort Profile) で行うもので, シリアル通信を無線化するとても便利な方法です. これは, モジュール間通信用のプロファイルなので, パソコンとのシリアル通信の無線化には利用できませんが, 低消費電力でモジュール間シリアル通信が無線化できるのは大変魅力です. 応用編 1 では,2 つのモジュールを独自サービスで通信する方法を紹 介します. 応用編 2 ではその状態から MLDP を実行して通信する例をご 紹介します. モジュール 1 モジュール 2 12 続いてBLEターミナル側から文字列を書き込んでみましょう. 書き込む文字列は, "This is BLE" とします. BLEターミナルの最下部に入力ボックスがありますので,"This is BLE" と入力して Send ボタンを押してください. CLICK-BLEが, 下記のような文字列をUART 側で出力します. GAP セントラル側 GATT クライアント側 GAP ペリフェラル側 GATT サーバー側 WV,000B,5468697320697320424C45 "This is BLE" 2 台の CLICK-BLE を使うということは, 上図のように 1 台はセントラ ルに, 片方はペリフェラルに設定する必要があります. まずは 2 台の CLIC K-BLE を設定することから始めます. ヘッダコード 000B に This is BLE が書き込まれたことがわかりま す. 7

モジュール1( セントラル ) の設定最初にモジュール1をセントラルに設定しましょう. 次の手順でモジュール1を設定します. 1 "+" コマンドでエコーをONにします. 2 SF,1 で本体をリセットします. 7 サービスに追加するキャラクタリスティックのUUIDを追加します. 1つ目のUUID "PC,xxxxxxx,1A,10" 2つ目のUUID "PC,xxxxxxx,06,02" xxxxxxxxx には発行したUUIDを入力してください. 8 再起動してすべての設定を有効にします. "R,1" を送信します. 3 再起動してすべての設定を有効にします. "R,1" を送信します. 4 デバイスの状態を確認します. 確認は "D" コマンドで行えます. "D" を送信します. BTA=001EC01Dxxxx Name=RN4020_xxxx Role=Central Connected=no Bonded=no Server Service=80000000 "Role" がCentralになっていることを確認します. なおBTA= のところの文字列が自機のMACアドレスです. 5 セントラルになっていない場合には次のコマンドで強制的にセントラルに設定します. "SR,80000000" を送信します. 再度 "D" コマンドでセントラルになっているか確認してください. モジュール2( ペリフェラル ) の設定続いてペリフェラル側の設定です. サービスは, もちろんBluetooth SI Gで定義されているパブリックサービスも使えますが, ここでは, 先の基礎編 2と同じく独自サービスを使うことにします. 独自サービスのUUID 及びキャラクタリスティックのUUIDは, 基礎編 2でご紹介したUUID 生成サービスをご利用ください.UUIDは3つ使用します. 9 Dコマンドを実行して状態を確認します. BTA=001EC01Dxxxx Name=RN4020_xxxx Role=Peripheral Connected=no Bonded=no Server Service=00000001 "Role" がペリフェラルになっていることを確認します. 2つのCLICK-BLEを接続する 2つのモジュールの設定が終わりました. 片方はセントラル, もう一方はペリフェラルになっています. ペリフェラル側は, 自動アドバタイジングを有効に設定しましたので, 本体が再起動した時, または電源投入直後からアドバタイズを開始しています. よって, セントラル側はそれをスキャンして接続すればよいことになります. 下記の手順で接続をしてみましょう. 1 セントラル側デバイス ( モジュール1) で "F" コマンドを実行します. Fコマンドは周囲のBLEデバイスをスキャンするコマンドです. 実行すると次のような戻り値が戻ります. 001EC01Dxxxx,0,-27 この値は, 現在アドバタイジングをしているペリフェラルデバイスの MACアドレスが先頭に表示されています. 続いて,MACアドレスタイプが表示されます. 1 "+" コマンドでエコーをONにします. 2 SF,1 で本体をリセットします. 3 独自サービスを実行するための設定にします. "SS,00000001" を送信します. 2 セントラル側デバイス ( モジュール1) で "X" コマンドを実行してスキャンを停止します. 3 続いて, セントラル側デバイス ( モジュール1) で "E" コマンドを実行して接続を行います.Eコマンドは指定したMACアドレスのデバイスとの接続を開始するコマンドです. 4 デバイスをペリフェラルとして設定し,MLDP を有効にします. また, 自 動アドバタイズを有効にします. "SR,32000000" を送信します. E コマンドには 2 つのパラメータがあり,1 つ目は MAC アドレスタイ プ,2 つ目が MAC アドレスです. いずれの情報も F コマンドで取得でき ていますので, これを指定して接続を試みます. 5 独自サービスとそれに付随する独自キャラクタリスティックの全設定をクリアします "PZ" を送信します. 6 UUIDは3つ使います.UUID 生成サイトで3つのUUIDを発行してください. 最初に独自サービスのUUID 設定です. "PS,xxxxxxx " xxxxxxxxx には発行したUUIDを入力してください. "E,0,001EC01Dxxxx" コマンドを発行してください. 接続ができると, セントラル, ペリフェラル側両方で,"Connected" と表示されます. また,CLICK-BLEの"CON"LEDが点灯します. 8

サービスの確認両デバイス間で接続が完了したら, サービスの確認をしてみましょう. 1 セントラル側デバイス ( モジュール1) で "LS" コマンドを実行してください. 2 サーバー側の提供しているサービスの一覧が表示されます. 180A 2A25,000B,V 2A27,000D,V 2A26,000F,V 2A28,0011,V 2A29,0013,V 2A24,0015,V END 180Ahはデバイス情報サービスを示しています. 以下, デバイス情報のキャラクタリスティックが列挙されています. 3 続いて, ペリフェラル側が提供しているサービスを "LC" コマンドで表示させましょう. C7A5Bxxxx41211E5BF7FFEFF819CDC9F C7A5Bxxxx41211E5BF7FFEFF819CDC9F,000B,0A C7A5Bxxxx41211E5BF7FFEFF819CDC9F,000C,10 C7A5Bxxxx41211E5BF7FFEFF819CDC9F,000E,06 C7A5Bxxxx41211E5BF7FFEFF819CDC9F,000B,0A C7A5Bxxxx41211E5BF7FFEFF819CDC9F,000C,10 C7A5Bxxxx41211E5BF7FFEFF819CDC9F,000E,06 END 独自サービスのUUIDと, その下にキャラクタリスティック一覧が表示されます. またヘッダコードと, その右隣にプロパティ値が表示されます. なお, 長いUUID 一覧が列挙されるとわかりにくくなりますが, 以降はヘッダコードを使いますので, ヘッダコードに注目してください. 000Bhは, 読み書きのキャラクタリスティック, 000Chは, これのノティフィケーション用ヘッダコードです. セントラル側からデータを書き込むでは実際に通信ができるかどうかを確認してみましょう. 最初はセントラル側から, ペリフェラル側にデータを書き込んでみます. この時に使用するコマンドが,"CHW" コマンドです. CHWコマンドは, 引数でハンドルを指定して, クライアント側のキャラクタリスティックに内容を書き込むコマンドです. 試しに,"HELLO BLE" と書き込んでみましょう. 次のコマンドをセントラル側で実行します. CHW,000B,48454C4C4F20424C45 ペリフェラル側では次のように表示されたはずです. WV,000B,48454C4C4F20424C45 ペリフェラル側からデータを書き込む次はペリフェラル側が自らのキャラクタリスティックにデータを書き込んでみましょう. もちろんセントラル側でその書き換わった内容は見ることができます. 使うコマンドは,"SHW" コマンドです. 指定ヘッダコードは同じく000B hです. 今度は, データとして "This is BLE" を書き込んでみます. SHW,000B,5468697320697320424C45 実行しても何も変化がないように見えます. これは現在ノティフィケーションが有効ではないため, 内容が変わってもセントラル側に通知がいかないためです. まずは000Bhのデータをペリフェラル側, セントラル側双方で読んでみてください. セントラル側で読む CHR,000B ペリフェラル側で読む SHR,000B いずれも今書き込んだ内容,"This is BLE" が読めたのではないてじょうか. コマンドのポイント コマンドがたくさん出てきて, 分かりにくいなと感じている方も多いかと思います. 既にお気づきかもしれませんが, コマンドには規則性があります. 例えば, "CHR" これはClient 側が,Header Codeで,Readするという意味です. セントラル側は, サービスについてはクライアントになっています. 続いて "SHR" ですが, ペリフェラル側はサーバー側なので,Server 側からHeader Codeで,Readするという意味です. 書き込むのならば, 最後がWriteのWになるという感じです. ノティフィケーションの設定さて, この例ですとノティフィケーションが設定されていないため, ヘッダコード000Bhの値が更新されても通知が飛びません. よってセントラル側は値の変化を自らが読みに行くまで確認できないことになります. ヘッダコード000Chはノティフィケーション用として使えます. ここの内容を変更してノティフィケーションを有効にします. ヘッダコード000 Chの現在値をセントラル側で確認しておきます. CHR,000C >R,0000 戻り値は 0000 となっています. 通知は無効のようです. 次のコマンドで値を 0100 に設定します. CHW,000C,0100 これで, ノティフィケーションが有効になりました. ペリフェラル側でヘッダーコード000Bhの内容が書き換わると, セントラル側に通知が行きます. 9

試しにペリフェラル側で,000Bh の内容を "1234" に変更してみます. SHW,000B,31323334 ここでは応用編 1 の続きとして, 両デバイスがボンディング済みの状 態で MLDP を体験してみましょう.MLDP では少しだけハードウエアもい じることになります. 上記を実行すると, 直ちにセントラル側で Notify,000B,31323334 と表示されることを確認できます. RN-4020を使ってみる ~ 応用編 2~ 最後に2つのCLICK-BLEを接続して, シリアル通信を行うMLDPという動作モードをご紹介します. BLEの性質上, これまではあくまでもキャラクタリスティックに値を書き込む, 読み込む, その一連の操作によってデータの内容を見ていました. これは必要なときに必要なデータだけを更新して後はスリープして省電力化 というBLE 最大の特徴でセンサー値の伝達には最適です. しかしもっとサイズの大きいデータをやりとりしたい場合や, シリアル通信をダイレクトに送受信したい場合には不向きです. そこでこのCLIC K-BLEに搭載のRN-4020ではMLDPという独自機能が搭載されており, シリアル通信をダイレクトに送受信することができます. なおこのシリアル信号をダイレクトに送受信できるモードのことを トランスペアレントモード といいます. 一方で, これまでのようにコマンドの送受信で制御するモードを コマンドモード と呼びます. MLDPは, トランスペアレントモードを実行する機能です. MLDPを実行するたには, 最初にSRコマンドでMLDPを相互のデバイスで有効にしておき,Eコマンドで2つのデバイスをボンディングしておく必要があります.SRコマンドによって,MLDPが有効になっていないと, 以下の操作をしてもMLDPは実行できません. 次の手順で操作してみましょう. 1 セントラル側デバイスの "CMD" ピンをHレベルにします. +3.3Vと接続します. 3.3V CMDピン内部で弱プルダウンされているので外部に抵抗によるプルアップは必要ありません. TX RX RX TX 上図は2つのマイコンをUARTで接続した例ですが, これは有線で配線した場合です.TXとRXをクロスすることでデータの送受信をしています. CLICK-BLEに搭載のRN-4020が提供するMLDPはこの有線部分を無線化するという機能です. 2 接続をすると, セントラルデバイスは "MDLP" と "CMD" という文字列 をUARTで返します. この文字列が送信された時点から,MLDPによ るトランスペアレントモードが実行されます. UARTのデータは, すべて接続先のCLICK-BLEに送信されます. 3 試しにセントラル側で, 文字列 "123456" を送信してみてください. ペリフェラル側デバイスでは,"123456" と表示されるはずです. 4 逆に, ペリフェラル側で, 文字列 "ABCDEFG" と送信してみてくだ さい. セントラル側デバイスでは "ABCDEFG" と表示されるはず です. UART を BLE で無線化 このように BLE で基本となる, キャラクタリスティックにデータを書 き込んで, それを読み込んで という一連の方法ではなくなり, シリ アル通信をそのまま BLE で無線化するモードが MLDP モードです. BLEのベーシックな使い方はこれまでご紹介した通り, キャラクタリスティックにデータを書いたり, そこからデータを読んだりする方法でデータのやりとりをしていましたが, このMLDPではそのような手順はユーザーサイドからは意識しなくてもよいように隠蔽されており, 単にUA RTのシリアル通信を無線化する機能として使用できます. それでは早速使い方を見てみましょう. このトランスペアレントモードは, 従来のBluetoothで使われているS PPと全く同じ動作ですが,BLEでは省電力で動作するというメリットがあります. なお,CMDピンをHレベルにするのは一方のデバイスだけでよく, それセントラル側でもペリフェラル側でもどちらでもかまいません. 片側のデバイスがMLDPモードになると, もう一方のデバイスは自動的にトランスペアレントモードに移行して送受信を行うようになります. MLDP モードを終了するには,CMD ピンを L レベルにします.( オープ ンだと内部プルダウン抵抗で L レベルになります.) 10

本製品の技術的なサポートについて 本製品の技術的なサポートはモジュール製造メーカーのマイクチップ社が直接行います. 本製品は, マイクロチップ社のBLEモジュールRN-4020のピンピッチを変更した製品で基本的な機能, 仕様はRN-4020の仕様及び取り扱い方法に準じます. 技術的なサポートが必要な場合には, 下記へ直接ご連絡頂きます. 技術サポートは英文となります. 日本語補足マニュアル及びFAQにつきましては, 当方のサイトより最新の情報をご提供致します. なお, サポートはいずれも技術者専門となっておりより技術的なご質問をするためのものとなっております. マニュアルに既に記載されている内容などについては回答が得られない場合がございます. http://www.microchip.co.jp/support/tech-help.php 上記サイトから お問い合わせ項目 のプルダウンで USB, LIN, BT, PC 周辺 を選択してください. USサイト のリンクをクリックしてUSサイトに移動します. 検索ボックスに How to submit a technical support case? と入力して Search を押して検索します. 検索結果から How to submit a technical support case? というリンクをクリックします. 登録方法並びに質問方法が記載されていますので, 手順に従って質問します. なお, シリアル通信関係のご質問の場合には, 必ず本製品とUARTホスト機器が通信している波形データの内容をオシロスコープやロジックアナライザで観察したデータが必要です. 通信しているTx,Rx 信号のオシロスコープ画像をご用意ください. それがない場合, 信号が正しく入力されているかどうかを判断できないためサポートを受けられないことがあります. なおご質問事項はできるだけ簡潔にして頂き, 使用環境, 接続状況, エ ラーコードの内容などは具体的にお書き下さい. 当方では, 最新の FAQ を下記サイトで公開しております. よくアルご質 問は FAQ にまとめておりますので, 予めこちらもご確認頂けますようお 願い致します. http://www.microtechnica.tv/faq/faq.cgi マイクロテクニカ 158-0094 東京都世田谷区玉川 1-3-10 TEL: 03-3700-3535 FAX: 03-3700-3548 (C)2015 Microtechnica All rights reserved 11