このBletooth v4.0 BLEのモジュールをポチっていました^^;
US$ 1.83(送料込み 2.12)でした。
Serialプロファイルだけだろうから、マーティーにもちょっと遊べるかなと思って。
届いたのは、これ!
透明のスミチューブ(ヒシチューブ)が被せてあります。
これを剥いでから使うのかと思いきや、そのままでいいようです。
亀の子基板は、一部の端子だけハンダ付けされているので脱落防止なのでしょう?
上下、各4箇所しかハンダ付けされていません、ちと不安が。
チップはTI、「CC2541」が品番のようです。
裏は、これ
「ZS-040」がボードの品番なのだろうか?
「ZS-040」とありますが、どうやら「HM-10」のCloneのようです。
で、まずは、ここのやり方でやってみることにします。
一応、Fritzingでブレッドボード図を作りました。
本当は、3.3V-5Vレベル変換がいりますが、直結で大丈夫らしい。
取り敢えずの実験なので実体は、これ^^;
Arduinoのスケッチは、コピペです m(_ _)m
*****
#include <SoftwareSerial.h>
SoftwareSerial mySerial(8,9);
void setup()
{
mySerial.begin(9600);
Serial.begin(9600);
delay(100);
}
void loop()
{
if (Serial.available()>0)
mySerial.write(Serial.read());
if (mySerial.available()>0)
Serial.write(mySerial.read());
}
*****
Arduino IDE v1.8.3を起動してArduino UNOにスケッチを書き込みます。
シリアルモニタで「AT」送信すると
「OK」が返ってきました。
色々調べているとコマンドが少しわかってきました。
「AT+VERSION」では、
「+VERSION=Firmware V3.0.6 Bluetooth V4.0 LE」とでました。
「AT+NAME」で
「+NAME=BT05」とでました。
「AT+PIN」すると
「+PIN=000000」
取り敢えず、先に進んでみます。
スマホ側の準備です。
その前にスマホ(Android)設定のBluetoothの所でペアリングしておきます。
「BT05」を発見してくれました。
が! ペアリングしてくれません?
一応、CONNECTはしているようなので先に行ってみます。
先の英語のサイトと同様に
Google.Playから「BLE Scanner」ってのをインストールします。
PCでサイトを開くとこれです。
スマホのアプリ、インストール完了!
BLE Scannerで右下の「Get Start」で起動します。
「BT05」をタップします。
[CUSTOM SERVICE]をタップ
R:Read、W:Write、N:Nortfyのマークがでてきます。
一番上のWをタップ
Text送信の入力画面になります。
「Hello Marty」と入れてみます。[OK]すると
PC側のArduino IDEのシリアルモニタに
「Hello Marty」とでてきました!
通信は成功です。
どうやら、このアプリ BLE Scannerは、ペアリングしてなくても動作するんですね。
それにしてもペアリングできないのは、嫌です。
PC(Windows10 64bit)でペアリングしてみます。
まず「不明なデバイス」と検出されて
「接続済み」になり
一瞬「Bluetooth LE Device xxxxx」とでて
やっと「BT05」の名前がでて
PIN入力の要求はなく、すんなり「ペアリング済み」になりました。
デバイスマネージャーには、
「Bluetooth LE 汎用属性サービス」「BT05」が入りました。
うまくいったと思いきや、
デバイスドライバのCOMの所に
「Bluetooth Handsfree Service」ってのを開始してみるもダメ。
家族のWindows8.1でも仮想COMポートができません。その前にスマホ(Android)設定のBluetoothの所でペアリングしておきます。
「BT05」を発見してくれました。
が! ペアリングしてくれません?
一応、CONNECTはしているようなので先に行ってみます。
先の英語のサイトと同様に
Google.Playから「BLE Scanner」ってのをインストールします。
PCでサイトを開くとこれです。
スマホのアプリ、インストール完了!
BLE Scannerで右下の「Get Start」で起動します。
「BT05」をタップします。
[CUSTOM SERVICE]をタップ
R:Read、W:Write、N:Nortfyのマークがでてきます。
Text送信の入力画面になります。
「Hello Marty」と入れてみます。[OK]すると
「Hello Marty」とでてきました!
通信は成功です。
どうやら、このアプリ BLE Scannerは、ペアリングしてなくても動作するんですね。
それにしてもペアリングできないのは、嫌です。
PC(Windows10 64bit)でペアリングしてみます。
まず「不明なデバイス」と検出されて
「接続済み」になり
一瞬「Bluetooth LE Device xxxxx」とでて
やっと「BT05」の名前がでて
PIN入力の要求はなく、すんなり「ペアリング済み」になりました。
デバイスマネージャーには、
「Bluetooth LE 汎用属性サービス」「BT05」が入りました。
うまくいったと思いきや、
デバイスドライバのCOMの所に
「Bluetooth リンク経由の標準シリアル (COMx)」ができているはずなのに
な~んにもできないのです。
「その他のBluetoothオプション」からCOMポートから
追加しようとしてもできないのです。「その他のBluetoothオプション」からCOMポートから
「Bluetooth Handsfree Service」ってのを開始してみるもダメ。
ペアリングするだけなのです。
他にも色々手を尽くしてみましたが、仮想COMポートができてくれません(´-﹏-`;)
マーティーは、Bluetoothなど無線系は得意としておりません。
ペアリングしているのに仮想COMポートができないのは、
ひょっとしてAndroid専用だったりするのだろうか?
端末のシリアルのSPP Profileは、親機側のOSに依存しないと思うのですが...
一旦、Windowsの方は、置いといて
スマホの方に戻ってペアリングを試みます。
.....やっと見つけました!
*****
AT+TYPE0: Do not require passcode, don’t pair (default)
AT+TYPE1: Do not require passcode, but do pair
AT+TYPE2: Require passcode, don’t pair
AT+TYPE3: Require passcode and pair
*****
早速、AT+TYPEすると
「+TYPE=0」が返ってきました。
ということは、「Passcode要求せず、ペアリングもしない」モードなのです。
なんでWindowsでは、ペアリングしたんだろう?
AT+TYPE3: Require passcode and pair の
「Passcode要求してからペアリングする」モードにしてみます。
設定できました!
ついでにPasscode(PIN)を「123456」にします。
OKでました。
ちなみに「AT+PIN1234」と4桁にするとエラーがでて設定できません。
で、スマホで検索すると
一応、先のアプリ BLE Scannerで日本語を送信してみると、
大丈夫です。
これでペアリングできるようになりました。
実は、調べている途中で見つけた、これ
「Bluetooth Module + Arduino UNO + RGB-LEDを
スマホアプリから色変化される」ってのをやりたくなったのです。
手持ちの3色LED、Arduino UNOとBluetooth Moduleを配線して
Arduino UNOにスケッチを書き込んで
スマホに「Color LED Controller」ってのを入れ、いざ!
ペアリングのキーを入力する所まで順調に行ったのに
この「Error 507 Unable to connect... 」エラーが出るのです。
ペアリングは、成功しているようなのですが、数秒後に切れるんです。
他の似たようなアプリも試しましたが同じくダメなのです。
ちなみにマーティのスマホはAndroid Version 5.1です。
さきの英語のサイトには、「HM-10にFAKE品がある」とあります。
マーティーが買ったのは、真中のと同じなので、FAKEのようですね~(-_-;)
CLONEではなくFAKEなんですかね~
このPDF、HM-10関連のDatasheetを見つけました。
P1に本物とフェイクの見分け方があります。
水晶発振子があるのが本物とのこと。
マーティーのは、上の写真の真中の水晶発振子のランドだけなのです。
P6にHM-01~15まであります。
どうりでAliExpressに色んな種類があるわけです。
マーティーのは、CC2541がついているのでHM-10かHM-11で
基板サイズを測ると、HM-10フェイクということになります。
CLONEではなくFAKEなんですかね~
www.hangar42.nl/hm10より |
P1に本物とフェイクの見分け方があります。
水晶発振子があるのが本物とのこと。
マーティーのは、上の写真の真中の水晶発振子のランドだけなのです。
P6にHM-01~15まであります。
どうりでAliExpressに色んな種類があるわけです。
マーティーのは、CC2541がついているのでHM-10かHM-11で
基板サイズを測ると、HM-10フェイクということになります。
PDFをずっと見ていくとATコマンドの詳細解説があります。
正規品では、ATコマンドの最後に「?」を付けるのですが
マーティーのは、「?」を付けると応答してくれません。
「AT+TCON」ってのが怪しいのですが、このコマンドは応答がありせん。
「AT+HELP」すると、このModuleのATコマンド一覧がでてきました。
正規品に比べるとコマンドが少ないです。
正規品に比べるとコマンドが少ないです。
*****
**********************************************************
* Command Description *
* ---------------------------------------------------------------- *
* AT Check if the command terminal work normally *
* AT+RESET Software reboot *
* AT+VERSION Get firmware, bluetooth, HCI and LMP version *
* AT+HELP List all the commands *
* AT+NAME Get/Set local device name *
* AT+PIN Get/Set pin code for pairing *
* AT+PASS Get/Set pin code for pairing *
* AT+BAUD Get/Set baud rate *
* AT+LADDR Get local bluetooth address *
* AT+ADDR Get local bluetooth address *
* AT+DEFAULT Restore factory default *
* AT+RENEW Restore factory default *
* AT+STATE Get current state *
* AT+PWRM Get/Set power on mode(low power) *
* AT+POWE Get/Set RF transmit power *
* AT+SLEEP Sleep mode *
* AT+ROLE Get/Set current role. *
* AT+PARI Get/Set UART parity bit. *
* AT+STOP Get/Set UART stop bit. *
* AT+START System start working. *
* AT+IMME System wait for command when power on. *
* AT+IBEA Switch iBeacon mode. *
* AT+IBE0 Set iBeacon UUID 0. *
* AT+IBE1 Set iBeacon UUID 1. *
* AT+IBE2 Set iBeacon UUID 2. *
* AT+IBE3 Set iBeacon UUID 3. *
* AT+MARJ Set iBeacon MARJ . *
* AT+MINO Set iBeacon MINO . *
* AT+MEA Set iBeacon MEA . *
* AT+NOTI Notify connection event . *
* AT+UUID Get/Set system SERVER_UUID . *
* AT+CHAR Get/Set system CHAR_UUID . *
* -----------------------------------------------------------------*
* Note: (M) = The command support slave mode only. *
* For more information, please visit http://www.bolutek.com *
* Copyright@2013 www.bolutek.com. All rights reserved. *
**********************************************************
*****
「AT+RENEW」で工場出荷状態に戻してみると
「NAME=CC41-A」とでてきました。
この状態で試すも動作状況は変わりません。
ん~ん、わかりませんね~
スマホのBLE Scannerでは、接続を保って、しかもBONDEDしているのに
Bluetooth設定画面では「ペアリングされたデバイスの所」ではなく
「使用可能なデバイスの所」にあってペアリングされてないのです。
アプリ単体でペアリングすればいいようなのです。
ペアリングされていない(一旦ペアリングして切れた)状態では、
BLE Scannerでは、BT05はリストに出てきますが
(この状態でもNOT BONDEDだが接続され、動作する)
Color LED Controllerでは、Bluetooth設定上でペアリングされてないデバイスは
リストにでてこないのです。
アプリの作りの仕様なのかな?「AT+RENEW」で工場出荷状態に戻してみると
「NAME=CC41-A」とでてきました。
この状態で試すも動作状況は変わりません。
ん~ん、わかりませんね~
スマホのBLE Scannerでは、接続を保って、しかもBONDEDしているのに
Bluetooth設定画面では「ペアリングされたデバイスの所」ではなく
「使用可能なデバイスの所」にあってペアリングされてないのです。
アプリ単体でペアリングすればいいようなのです。
ペアリングされていない(一旦ペアリングして切れた)状態では、
BLE Scannerでは、BT05はリストに出てきますが
(この状態でもNOT BONDEDだが接続され、動作する)
Color LED Controllerでは、Bluetooth設定上でペアリングされてないデバイスは
リストにでてこないのです。
ここに
「Take care that its a BLE module that it cant be visible for not bluetooth 4.0 systems. Over an Android device you need a version 4.3 or higher to make sure that the hardware is BLE compatible and then you need specialized apps that support BLE (The most apps are designed with normal bluetooth API, not BLE).」
Google先生に訳してもらいうと、
「bluetooth 4.0システムでは表示されないBLEモジュールに注意してください。 Androidデバイスでは、ハードウェアがBLEと互換性があり、BLEをサポートする特殊なアプリケーションが必要であることを確認するにはバージョン4.3以上が必要です(ほとんどのアプリケーションはBLEではなく通常のBluetooth APIで設計されています)。」
これかな?!
結局アプリ側の問題なのだろうか?
BLE Scannerは、ペアリングして動いているし。
マーティのスマホはAndroid Version 5.1だし。
ここには、TIチップCC2541側の問題だとあります。
「this device uses an outdated TI library causing pairing problems」
「このデバイスは古いTIライブラリを使用してペア設定の問題を引き起こします」
マーティーの症状は、そこのTYPE3の報告に非常によく似ています。
これが一番怪しいですね~
「this device uses an outdated TI library causing pairing problems」
「このデバイスは古いTIライブラリを使用してペア設定の問題を引き起こします」
マーティーの症状は、そこのTYPE3の報告に非常によく似ています。
これが一番怪しいですね~
最後の手段は、この
「How to flash genuine HM-10 firmware on CC2541」
(make genuine HM-10 from CC41)」でFirmware書き換えかな!?
「How to flash genuine HM-10 firmware on CC2541」
(make genuine HM-10 from CC41)」でFirmware書き換えかな!?
マーティーのも工場出荷時に戻したらこのNAME=CC41-Aだったし。
V540のFull FirmwareでCCloaderってのを使えばいいらしい。
ここにあるFirmwareは、UPGRADE版だけなので要注意です。
Firmwareの入れ替えは、期待大ですが、別の機会にすることにします。
ちょっと遊ぶだけのつもりだったので、英語ばっかしだし、疲れてきて
リンクを書き留めておくだけになっております(´-﹏-`;)
また、捜索中に
「BLE modules like HM-10 does not have a pairing mode. They connect directly through the app」のが、2、3ありました。
1個しか買ってないので、その実験もできず、もう一個買うまではお蔵入りかな?
ここに「2つのHC-05をMasterとSlaveにしてペアリングする手順」があります。
水晶発振子の付いたHM-10正規品と思われるものは、高値ですね~
たかが水晶1個なのにUS$ 5程に跳ね上がります。2.5倍にもなるのです。
とりあえず、Bluetooth 2.0のボード
チップは、Bluetoothの元祖CSR社のをポチっておきます。1個ですが。
今回は、敗戦ですね~
0 件のコメント:
コメントを投稿