目的

このプロジェクトでは、ArduinoボードとHM-10モジュールを接続して、Bluetooth 4.0 プロトコルを通じで、AndroidスマホのAPPと送受信します。

必要なパーツ

1 x Bluetooth 4.0 HM-10 マスタ スレーブ モジュール

1 x Arduino UNO R3ボード (またはMEGA2560ボード)

1 x Android スマホ(Bluetooth 4.0対応)

紹介

Bluetooth 4.0 HM-10 マスタ スレーブ モジュールは TI CC2541チップを採用し、 マスタとスレーブの2つの機能搭載、 トランスミッション、リモコ、PIO状態取得機能もあります。ATコマンドも対応しているので、モジュールのパラメータはより便利編集できます。 トランスミッションモードで2つのBluetooth ディバイス間のデータの伝送ができます。 リモートコントロールモードで PIO
ポートから出力の電位信号(高電位信号と低電位信号)が制御できるし、他のMCUが必要ありません。PIO状態取得 機能はPIOポートの情報を獲得(Bluetooth V2.1のみ対応)できます、他のMUCが必要ありません。

パラメーター

Bluetoothのプロトコル: Bluetooth Specification V4.0 BLE
USB プロトコル: USB V2.0
Operating 周波数: 2.4GHz ISM band
変調モード: GFSK (Gaussian Frequency Shift Keying)
出力パワー: ≤4dBm
感度: ≤-84dBm at 0.1% BER
伝送速度: Asynchronous: 6 kbps
シンクロナス: 6 kbps
セキュリティー機能: Authentication and encryption
サポートサービス: Central & Peripheral UUID FFE0, FFE1
電源: +5VDC 50mA
作動温度: -5 ~ +65 Centigrade
サイズ: 27mm x 13mm x 2.2 mm.

Pinの説明

Pin

説明

STATE 状態テスト用、内部LEDと接続された、普段は使用しません
VCC 電源の正極
GND グラウンド
TXD シリアルインタフェース、送信端末
RXD  シリアルインタフェース、受信端末
BRK Bluetooth接続を切断する、普段は使用しません

一、Arduino UNO
R3ボードを使用して、ATコマンドを送信する

Step 1: 必ずBluetoothモジュールとUNOボードを接続の前に下記のコードをArduinoIDEにロードしてくださいませ。

Download the loop.ino sketch file, then load it into Arduino UNO.

Step2: 接続表のように、BluetoothモジュールとUNOボードを接続して下さい。

Bluetooth 4.0 Arduino UNO R3ボード
VCC 5V
GND GND
TXD RX0(pin0)
RXD TX0(pin1)

Step 3:Android スマホ(Bluetooth 4.0対応)で
BleSerialPortというソフトウエアをインストールして
、スマホのBluetooth機能を有効してくださいませ。

スマホのBleSerialPortソフトウエアを開いて、設定画面に入って (Fig 1)、 connect ボダン(Fig 2)をクリックして、 「HMSoft」のようなBluetooth
信号をクリックして、接続します。

成功に接続したら、下記のように表示します。モジュールのLEDも常時点灯(点滅しない)します。
今はコマンドを送信しできます。例:ソフトウエアの入力欄にAを入力して、sendボダンをクリックして、表示欄にRebeccaを応答します。送信ボードを1回クリックして、UNOボードのLED1回点滅します。

二、通信実験

スマホとArduinoボードメッセージ送信の場合、下記のコードをArduinoIDEにロードして、 ArduinoIDEのserial monitorとスマホのBleSerialPortを開いて、メッセージを送受信しできます。

詳しくは下記の内容をご覧ください。

① Arduino Uno R3ボードを使用場合

loop.inoをダウンロードして、Arduino
IDEにロードしてくださいませ。

ご注意:ArduinoUNO R3ボードは、1のみのシリアル(D0/D1)
pinペアがあるため、シリアル印刷ターミナルウィンドウ占用されました。シリアルpinペアが足りないですので、loop.inoにD7 /
D8を使用して、模倣シリアルpinペア作成しました。

接続表:

Bluetooth 4.0 Arduino UNOボード
VCC 5V
GND GND
TXD pin 7
RXD pin 8
 
Arduino Mega2560ボードを使用場合

Mega2560ボードは2のシリアル(D0/D1) pinペアがありますので、D7/D8
模倣シリアルpinペアが必要ありません。コードは少し簡単です、次のリンクでコードをダウンロードして、
https://osoyoo.com/wp-content/uploads/2016/10/for_mega2560.txt Arduino IDEにロードしてくださいませ。(Arduino IDE–Tools 
でboardをMega2560 と選択して下さい。
).

Mega2560 とHM-10 モジュールの接続表:

HM-10 Bluetooth 4.0 モジュール MEGA2560ボード
VCC 5V
GND GND
TXD
 RXD1
RXD
TXD1

三、AT コマンドを使用して、HM-10 Bluetooth モジュールを配置する
 

追加パーツ : 1 x USB to TTL(FT232) モジュールとパソコン

Step 1: 配線表.
 Bluetooth 4.0 モジュールのTXD とPL2303モジュールのRXD を接続する

RXD とTXD

GND とGND

VCCとVCC

PL2303 はUSBtoシリアルブリッジアダプターです。FT232も使えます。

Bluetooth 4.0 FT232
VCC VCC
GND GND
TXD RX
RXD TX

Step 2: パラメーターの設定
接続したら、パソコンでsscom32というソフトウエアをダウンロードして、下記のように設定して下さい。
1) serial portを開いて、Open Comをクリックして、ポートを選択して下さい。

COM0321.png

2) baud rate欄に9600を選択して下さい。

SET.png

Step3:「AT」入力欄に入力して、SENDボダンクリックして、 問題ない場合表示欄にOKが应答します。
AT.png
 

 AT+NAME?を送信したら、 OK+NAME:HMSoftを应答します。

Name.png

AT+BAUD?を送信したら、 OK+Get:0 を应答します。

Baud.png

Bluetooth 4.0 AT について、詳しく情報はPDFファイルをご参照よろしくお願い致します。

他の資料

BleSerialPort

Sscom32E

OSOYOO HM-10 Bluetooth Module

How to get MAC under iOS

How to use ANCS

AppleNotificationCenterServiceSpecification