|
|
(未显示3个用户的27个中间版本) |
第1行: |
第1行: |
− | {{Language|mCookie-BT}} | + | {| style="width: 800px;" |
| + | |- |
| + | |[[file:mCookie-bt-rect.jpg|300px|left]] || |
| + | ::<p style="color: #000000;font-size:200%"><br><br><br><br><br>'''mCookieBLE'''</p> |
| + | ::产品编号:'''<big style="color: #00A0A6">XXXXXXX</big>''' |
| + | |- |
| + | |[[File: Add-to-cart.jpg|300px|left|link=https://shop108263663.taobao.com/?spm=a230r.7195193.1997079397.2.ek3cAW]]|| |
| + | ::<p style="color: #000000;font-size:120%">mCookie-BLE模块是蓝牙低能耗 (BLE) 的串口传输模块。可与其他蓝牙设备进行连接通讯。如手机,ipad借助相关APP可以和BT模块通信。</p> |
| + | |} |
| + | <br> |
| {| style="width: 800px;" | | {| style="width: 800px;" |
| |- | | |- |
| | | | | |
− | [[file:mCookie-bt-rect.jpg|400px|thumb|right|mCookie-BT]]
| + | <p style="color: #333333;font-size:155%">'''技术规格'''</p> |
− | mCookie-BT模块是蓝牙低能耗 (BLE) 的串口传输模块。可与其他蓝牙设备进行连接通讯。如手机,ipad借助相关APP可以和BT模块通信。
| + | {| class="wikitable" |
| + | |- |
| + | | '''电压'''||3.3V |
| + | |- |
| + | | '''通信'''||软串口(D4/D5默认,可通过跳线更改) |
| + | |- |
| + | | '''功能'''||与手机APP进行蓝牙通信,从而控制模块 |
| + | |- |
| + | | '''特点'''||低功耗、支持iBecons模式 |
| + | |} |
| | | |
− | | + | <br> |
− | | + | ---- |
− | | + | <br> |
− | | + | {| style="width: 800px;" |
− | | + | |- |
− | | + | | |
− | | + | <p style="color: #333333;font-size:155%">'''技术细节'''</p> |
− | | |
− | | |
− | | |
− | ==特色== | |
− | *低功耗;
| |
− | *支持iBecons模式;
| |
− | *小巧、便宜、堆叠、开放;
| |
− | | |
− | ==规格==
| |
| *通讯形式:串口透传,默认串口为D0(RX)、D1(TX); | | *通讯形式:串口透传,默认串口为D0(RX)、D1(TX); |
| *供电电源:+3.3VDC 50mA; | | *供电电源:+3.3VDC 50mA; |
第36行: |
第45行: |
| **iBeacon 可苹果应用商店上的免费应用 Locate iBeacons 来测试,目前显示距离,使用方法参考: http://blog.csdn.net/mzy202/article/details/20365691 | | **iBeacon 可苹果应用商店上的免费应用 Locate iBeacons 来测试,目前显示距离,使用方法参考: http://blog.csdn.net/mzy202/article/details/20365691 |
| [[File:ble-rule.jpg|600px|center|thumb]] | | [[File:ble-rule.jpg|600px|center|thumb]] |
− | ==文档== | + | <br> |
− | 支持AT指令配置/控制:'''[[File:Microduino-BLE.pdf]]''' | + | ---- |
| + | <br> |
| + | |
| + | <p style="color: #333333;font-size:135%">'''主要元件'''</p> |
| + | *[[File:Cc2541.pdf]] |
| + | ---- |
| + | <br> |
| + | <p style="color: #333333;font-size:135%">'''编程手册'''</p> |
| + | 支持AT指令配置/控制, |
| + | 具体AT指令表见此文档附录:'''[[https://wiki.microduino.cn/images/a/ad/Microduino-BLE.pdf CC2541文档]]''' |
| | | |
− | ==开发==
| + | 注意: |
− | ===串口通讯要求===
| + | **AT+CLEAR |
− | *默认的串口配置为: | + | **AT+TCON |
− | **波特率:9600 | + | **AT+RSSI |
− | **无校验 | + | **AT+RADD |
− | **数据位8 | + | 均会返回"ERROR",无法使用 |
− | **停止位1 | |
− | **设置成:“\r\n”、“9600baud”
| |
| | | |
− | [[File:Serial-mcookie.jpg|thumb|600px|center]] | + | *<p style="font-size:125%">库语法手册</p><big> |
| + | *'''[[Protocol_Reference]]''' |
| + | *'''[[【串口通信要求】]]''' |
| + | <br> |
| + | ---- |
| + | <p style="color: #333333;font-size:135%">'''示例教程'''</p> |
| + | *'''蓝牙通信程序(通用)''' |
| + | *请根据模块上的标识选择代码中的通信端口,示例程序中通信端口为D4,D5 |
| + | *程序:可将如下程序直接复制到Microduino-IDE中并下载到模块上 |
| + | <source lang="cpp"> |
| + | #include <SoftwareSerial.h> |
| | | |
− | *不同核心分配的串口不一样,见表格:
| + | String item; |
− | **BT默认接到D0,D1上,与Core,Core+,CoreRF通信是Serial,但Core,Core+,CoreRF下载程序时用的是D0,D1(Serial)与蓝牙串口通信接口冲突,所以'''下载时候不能叠加蓝牙模块''',否则下载不了程序。
| |
− | **BT与CoreUSB通信是Serial1,下载程序是'''CoreUSB虚拟出Serial''',可直接叠加下载。
| |
− | {|class="wikitable"
| |
− | | align="center" style="background:#f0f0f0;"|'''模块'''
| |
− | | align="center" style="background:#f0f0f0;"|'''D0(读)D1(写)'''
| |
− | | align="center" style="background:#f0f0f0;"|'''D2(读)D3(写)'''
| |
− | |-
| |
− | | Core||Serial||
| |
− | |-
| |
− | | Core+||Serial||Serial1
| |
− | |-
| |
− | | CoreRF||Serial||Serial1
| |
− | |-
| |
− | | CoreUSB||Serial1||
| |
− | |-
| |
− | | USBTTL||下载、串口通信接口(Serial)||
| |
− | |-
| |
− | | USBLLTC||下载、串口通信接口(Serial)||
| |
− | |-
| |
− | | 电池盒||下载、串口通信接口(Serial)||
| |
− | |}
| |
| | | |
| + | String currentInfo=""; |
| | | |
− | ===通过'''Core、Core+'''与蓝牙设备通讯===
| + | SoftwareSerial mySerial(4, 5); //根据实际模块上的跳线,选择对应端口 |
− | *BT与Core、Core+默认通信接口是Serial
| |
− | *程序
| |
− | <source lang="cpp">
| |
− | #define my_Serial Serial //定义串口通讯为Serial
| |
| | | |
− | String msg = ""; //定义一个字符串
| + | #define my_Serial mySerial //声明软串口 |
| | | |
| void setup() | | void setup() |
| + | |
| { | | { |
− | // 初始化蓝牙通信波特率 | + | item = ""; |
| + | |
| my_Serial.begin(9600); | | my_Serial.begin(9600); |
− | }
| |
− | void loop()
| |
− | {
| |
− | //每收到一次信号,向通信另一端反馈一次
| |
− | if (my_Serial.available() > 0) //如果串口有数据输入
| |
− | {
| |
− | msg = my_Serial.readStringUntil('\n'); //获取换行符前所有的内容
| |
− | my_Serial.println("^_^ Hello,mCookie!"); //向蓝牙通信的另一端发送数据
| |
− | }
| |
− | }
| |
− | </source>
| |
| | | |
− | ===通过'''CoreUSB'''与蓝牙设备通讯===
| + | Serial.begin(9600); |
− | *程序
| |
− | <source lang="cpp">
| |
− | #define my_Serial Serial1 //定义串口通讯为串口1,BT与CoreUSB默认通信接口
| |
− | String msg = ""; //定义一个字符串
| |
| | | |
− | void setup()
| |
− | {
| |
− | // 初始化蓝牙通信波特率
| |
− | my_Serial.begin(9600);
| |
− | // 初始化串口监视器通信波特率
| |
− | Serial.begin(9600);
| |
| } | | } |
| + | |
| void loop() | | void loop() |
| + | |
| { | | { |
− | //每收到一次信号,向通信另一端反馈一次
| + | if (my_Serial.available() > 0) { |
− | if (my_Serial.available() > 0) //如果串口有数据输入 | |
− | {
| |
− | msg = my_Serial.readStringUntil('\n'); //获取换行符前所有的内容
| |
− | Serial.println(msg); //在串口监视器显示收到的msg中的字符串
| |
− | my_Serial.println("^_^ Hello,mCookie!"); //向蓝牙通信的另一端发送数据
| |
− | }
| |
− | }
| |
− | </source>
| |
| | | |
− | ===与Android设备通信=== | + | currentInfo = my_Serial.readStringUntil('\n'); //接收手机发送的数据 |
− | *系统要4.3以上的手机才能与mCooki-BT模块通讯。
| |
− | *下载Android的通讯软件,安装到手机上。
| |
− | [[File:mSerial.png|200px|center]]
| |
− | |-
| |
− | |
| |
− | 步骤一:将程序下载到mCookie里;
| |
− | |-
| |
− | |
| |
− | [[File:ble-Download2.png|600px|center|thumb|Download]]
| |
| | | |
− | 步骤二:开始设置Android设备,打开Android设备的蓝牙功能,打开App,并在电脑IDE端打开串口监视器;
| + | Serial.println(currentInfo); //手机发送过来的数据串口返回 |
| + | } |
| + | if (Serial.available() > 0) { |
| | | |
− | 步骤三:点击App右上方SCAN按钮,这是用来搜索周围蓝牙接入点的,点击SCAN后会显示周围的蓝牙设备。
| + | item = Serial.readString(); //接收PC端串口数据 |
− | 点击对应的Microduino蓝牙编号,进入界面等待2-3秒钟,待屏右上角变成“Serial ready”字样,说明手机已经与蓝牙建立了连接.
| |
− | [[File:202KIT-android-ready.jpg|600px|center|thumb|App—手机App]]
| |
− | 手机向mCookie发送英文字符,串口监视器中收到手机发送的内容。同时手机接收到了mCookie发送的“^_^ Hello,mCookie!”信息,验证了蓝牙的双向通信功能。
| |
− | [[File:202KIT-android-system5.jpg|600px|center|thumb|App—串口监视器]]
| |
− | [[File:202KIT-android-system6.jpg|600px|center|thumb|App—手机App]]
| |
| | | |
− | ===与IOS设备通信===
| + | my_Serial.println(item); //串口数据发给手机 |
− | *iPhone4s以上、iPod touch 5以上、iPad 3以上、iPad mini以上;
| |
− | *前往App Store里下载LightBlue;
| |
| | | |
− | [[File:LightBlue.jpg|400px|center|thumb|LightBlue]]
| + | Serial.println(item); |
− | 步骤一:将程序下载到mCookie里;
| + | } |
− | | |
− | 步骤二:安装“lightblue”,打开软件,开始设置IOS设备,打开IOS设备的蓝牙功能。并在电脑端IDE中打开串口监视器
| |
− | [[File:LightBlue_on_ble.jpg|400px|center|thumb]]
| |
− | 步骤三:打开LightBlue;进入的界面是蓝牙设备搜索界面,从“Peripherals Nearby”下的列表中找到Microduino的蓝牙设备,点击该条目使手机与其建立连接;
| |
− | |-
| |
− | |
| |
− | [[File:ble-Connection.jpg|400px|center|thumb|Connection1]]
| |
− | 连接后进入页面如下:
| |
− | [[File:ble-Connection1.jpg|400px|center|thumb|Connection2]]
| |
− | | |
− | 步骤四:选择并点击Characteristic6,观察屏幕右上方的编码格式,默认为Hex 16进制编码,如果要显示字符串请点击Hex所在的按钮并选择UTF-8编码格式,之后点击“Listen for notifications”使手机进入监听状态。
| |
− | [[File:ble-Connection5.jpg|400px|center|thumb]]
| |
− | | |
− | 步骤六:点击“Write new value”,弹出文本编辑界面
| |
− | [[File:ble-Connection2.jpg|400px|center|thumb]]
| |
− | 自定义输入一个英文和数字组成的字符串,观察手机和串口的显示结果
| |
− | | |
− | [[File:ble-Connection3.jpg|400px|center|thumb]]
| |
− | [[File:ble-Connection4.jpg|400px|center|thumb]]
| |
− | 可以从图中看到串口收到了手机发送的数据“12345”,手机端也收到了蓝牙返回的数据“bluetooth respond”,说明蓝牙双向通信是畅通的。
| |
− | ===与MAC设备通信===
| |
− | mac蓝牙无法直接与BT搜索连接,需要借助Light Blue来开发。下载
| |
− | *将mCookie-CoreUSB与BT模块连接到电脑,下载同样的代码。
| |
− | *打开Arduino串口监视器,再打开Light Blue软件,可以发现识到Microduino设备。
| |
− | [[File:ble-Connection5.png|400px|center]]
| |
− | *点击Microduino可以和蓝牙连接,连接成功后可以看到串口监视器打印出Connected。同时也可以看到蓝牙指示灯微闪(频率变快,亮度变低)。
| |
− | [[File:ble-Connection6.png|400px|center]]
| |
− | *按下图选择,然后向BT模块发送信息,例如:mCookie。
| |
− | [[File:ble-Connection7.png|800px|center]]
| |
− | *可以看到串口监视器打印出mCookie。
| |
− | [[File:ble-Connection8.png|400px|center]]
| |
− | ===与windows设备通信===
| |
− | 蓝牙默认连接不需要密码,但是如果电脑自动弹出来要配对,默认密码是:000000.如果还无法连接,需要使用AT命令设置成连接需要密码。
| |
− | *参考下面文档“使用AT查看或更改BT的参数”
| |
− | [[File:ble-Connection9.jpg|600px|center]]
| |
− | *打开串口监视器输入“AT+TYPE1”设置连接需要密码。注意设置:“\r\n”、“9600baud”.设置成功会返回:“OK+Set:1”、“Hello World Peripheral”数据。
| |
− | [[File:ble-Connection10.jpg|300px|center]]
| |
− | *然后再用电脑连接,电脑自动弹出配对,输入:000000即可连接。
| |
− | [[File:ble-Connection11.jpg|200px|center]]
| |
− | | |
− | ==扩展==
| |
− | ===使用AT查看或更改BT的参数===
| |
− | *AT指令配置/控制文档:'''[[File:Microduino-BLE.pdf]]'''
| |
− | *程序
| |
− | <source lang="cpp">
| |
− | //#define my_Serial Serial //定义Core,Core+与BT串口
| |
− | #define my_Serial Serial1 //定义CoreUSB与BT串口
| |
− | | |
− | void setup()
| |
− | {
| |
− | Serial.begin(9600);//串口监视器通讯波特率
| |
− | my_Serial.begin(9600);//BT通讯波特率 | |
− | } | |
− | | |
− | void loop()
| |
− | {
| |
− | if (Serial.available())//监视到串口监视器的数据
| |
− | my_Serial.write(Serial.read());//将数据写入BT
| |
− | if (my_Serial.available())//监视到BT串口的数据
| |
− | Serial.write(my_Serial.read());//将数据在串口监视器打印出来
| |
| } | | } |
| </source> | | </source> |
− | *下载程序
| |
− | **将mCookie-BT与mCookie-CoreUSB两个模块叠在一起,将USB线插入mCookie-CoreUSB的插孔,另一端连接电脑USB插口;
| |
− | **启动Arduino IED,将上面程序复制到IDE中;
| |
− | **在工具(tools)->板卡(Board)中选择Microduino CoreUSB,并在工具(tools)->串口(Serial)中选择对应的串口号;
| |
− | **点击IDE左上角的编译(√)按钮对程序进行编译,编译结束后点击下载(->)按钮将程序烧录到板子中;
| |
− | *打开串口监视器,设置成:“\r\n”、“9600baud”。
| |
− | [[File:ble-Serial.jpg|600px|center|thumb|Serial]]
| |
− | *在串口监视器中输入指定指令,可以看到返回结果,参考文档可更改BT的参数。
| |
− | [[File:ble-AT.jpg|600px|center|thumb|AT]]
| |
| | | |
− | ===修改串口通讯引脚===
| + | 使用lightblue连接蓝牙模块(名称为Microduino或mCookie-xxxxx) |
− | 默认使用串口为D0(RX)、D1(TX),玩家可根据情况更改串口。串口引脚参考下图:
| + | 连接后选择"read write without response Notify. |
− | [[File:ble-Serial-change.jpg|600px|center|thumb]] | + | [[file:Lightblue.PNG|400px|thumb|center|LightBlue]] |
− | 使用软串口通讯程序:
| + | *lightblue短点击write new value发送信息到蓝牙模块。 |
− | <source lang="cpp">
| + | *上方Listen开启监听,随时接收从mCookie模块发来的信息。 |
− | //使用其他软串口用SoftwareSerial
| + | [[file:BluetoothSerial.png|400px|thumb|center|LightBlue]] |
− | #include <SoftwareSerial.h>
| + | *结合图中示例,mCookie发送bb至手机,手机发送aa至mCookie |
− | SoftwareSerial mySerial(4, 5);//根据选择的串口,选择对应的端口号(2,3)或(4,5)
| |
| | | |
− | #define my_Serial mySerial
| + | *'''与IOS设备通信''' |
| + | *'''[[【使用LightBlue通信】]]''' |
| + | *'''[[【使用mRobot通信制作小车】]]''' |
| + | *'''[[【使用mDock通信制作多样应用】]]''' |
| | | |
− | String msg = "";
| + | *'''与MAC设备通信''' |
− | | + | *'''[[【与MAC设备通信的方法】]]''' |
− | void setup()
| |
− | {
| |
− | // 初始化蓝牙通信波特率
| |
− | my_Serial.begin(9600);
| |
− | // 初始化串口监视器通信波特率
| |
− | Serial.begin(9600);
| |
− | }
| |
− | void loop()
| |
− | {
| |
− | //每收到一次信号,向通信另一端反馈一次
| |
− | if (my_Serial.available() > 0) //如果串口有数据输入
| |
− | {
| |
− | msg = my_Serial.readStringUntil('\n'); //获取换行符前所有的内容
| |
− | Serial.println(msg); //在串口监视器显示收到的msg中的字符串
| |
− | my_Serial.println("bluetooth respond"); //向蓝牙通信的另一端发送数据
| |
− | }
| |
− | }
| |
− | </source>
| |
| | | |
− | ==应用== | + | <br> |
| + | ---- |
| + | <p style="color: #333333;font-size:135%">'''应用'''</p> |
| [[蓝牙彩灯]]<br> | | [[蓝牙彩灯]]<br> |
| [[蓝牙小夜灯]]<br> | | [[蓝牙小夜灯]]<br> |
| [[蓝牙通信]]<br> | | [[蓝牙通信]]<br> |
| [[温度湿度计]]<br> | | [[温度湿度计]]<br> |
| + | [[通过CoreUSB通信]]<br> |
| + | [[与安卓设备通信]]<br> |
| + | <br> |
| + | ---- |
| | | |
− | ==问题解答== | + | <p style="color: #333333;font-size:135%">'''Q&A'''</p> |
| + | *'''[[【使用AT指令修改蓝牙设置】]]''' |
| + | *'''[[【修改跳线以更改串口引脚】]]''' |
| *无法和win7进行配对? | | *无法和win7进行配对? |
| **检查win7电脑支持BT 4.0 协议吗?BT 模块只能用于4.0 协议,并且默认配对密码是000000。 | | **检查win7电脑支持BT 4.0 协议吗?BT 模块只能用于4.0 协议,并且默认配对密码是000000。 |
第268行: |
第154行: |
| **For Andriod OS: 4.3 release | | **For Andriod OS: 4.3 release |
| **For IOS: iPhone4s upper, iPod touch 5 upper, iPad 3 upper and iPad mini upper | | **For IOS: iPhone4s upper, iPod touch 5 upper, iPad 3 upper and iPad mini upper |
| + | <br> |
| + | ---- |
| + | <p style="color: #333333;font-size:135%">'''图库'''</p> |
| + | {| border="0" cellpadding="10" width="100%" |
| + | |- |
| + | |width="50%" valign="top" align="left"| |
| + | [[file:mCookie-BT-t.jpg|thumb|400px|center|mCookie-BT Front]] |
| + | |width="50%" valign="top" align="left"| |
| + | [[file:mCookie-BT-b.jpg|thumb|400px|center|mCookie-BT Back]] |
| + | |} |
| | | |
− | ==图库==
| + | [[MCookie_产品系列/zh|返回mCookie产品系列页面]] |
− | [[file:mCookie-BT-t1.jpg|thumb|600px|center]] | |
− | [[file:mCookie-BT-b1.jpg|thumb|600px|center]]
| |
− | [[file:mCookie-BT-t.jpg|thumb|600px|center|mCookie-BT Front]]
| |
− | [[file:mCookie-BT-b.jpg|thumb|600px|center|mCookie-BT Back]]
| |
− | |}
| |