“Microduino-Module BLE/zh”的版本间的差异

来自Microduino Wikipedia
跳转至: 导航搜索
Microduino BT串口透传数据到IOS设备
特色
 
(未显示6个用户的62个中间版本)
第4行: 第4行:
 
|
 
|
 
[[file:Microduino-bt-rect.jpg|400px|thumb|right|Microduino-BT]]
 
[[file:Microduino-bt-rect.jpg|400px|thumb|right|Microduino-BT]]
Microduino-BT模块是基于CC2541芯片的蓝牙低能耗 (BLE) 的串口透明传输模块,专为 U 型27 PIN 标准 Microduino 接口设计。
+
Microduino-BT模块是基于CC2541芯片的蓝牙低能耗 (BLE) 的串口透明传输模块,专为 U 型27 PIN 标准 Microduino 接口设计。原模块参考[[Microduino-【BT】/zh]]。
  
 
==特色==
 
==特色==
*采用 U 型 27 PIN 标准 Microduino 接口,与其他 Microduino 模块堆叠使用;
+
*1)采用 U 型 27 PIN 标准 Microduino 接口,与其他 Microduino 模块堆叠使用;
*TI CC2541 芯片,低能耗;
+
*2)TI CC2541 芯片,低能耗;
*支持iBecons模式;
+
*3)支持iBecons模式;
*多种方式恢复出厂设置,
+
*4)多种方式恢复出厂设置,
**使用“AT+ RENEW\r\n”命令恢复;
 
 
**调试引脚的DEF接GND,然后模块上电,此时LED1亮,保持3秒后LED灯闪烁,此时松开DEF,恢复出厂设置成功,可以看到led灯每隔1S闪烁一次。
 
**调试引脚的DEF接GND,然后模块上电,此时LED1亮,保持3秒后LED灯闪烁,此时松开DEF,恢复出厂设置成功,可以看到led灯每隔1S闪烁一次。
*有数据掉电保存功能;;
+
*5)有数据掉电保存功能;;
*支持AT 指令,可根据需要更改串口波特率、设备名称、配对密码等参数,使用灵活;
+
*6)支持AT 指令,可根据需要更改串口波特率、设备名称、配对密码等参数,使用灵活;
*小巧、便宜、堆叠、开放;
+
*7)小巧、便宜、堆叠、开放;
*开源的硬件电路设计,与 Arduino 兼容的编程开发环境程;
+
*8)开源的硬件电路设计,与 Arduino 兼容的编程开发环境程;
*统一的 Microduino 接口规范,和丰富的外围模块,可方便、灵活的与其他符合 Microduino 接口规范的模块、传感器进行快速的连接和扩展;
+
*9)统一的 Microduino 接口规范,和丰富的外围模块,可方便、灵活的与其他符合 Microduino 接口规范的模块、传感器进行快速的连接和扩展;
*2.54间距的排母接口方便集成到洞洞板。
+
*10)2.54间距的排母接口方便集成到洞洞板。
  
 
==规格==
 
==规格==
*通讯形式:串口透传;
+
*通讯形式:串口透传,默认串口为D4(RX)、D5(TX);
 
*供电电源:+3.3VDC 50mA;
 
*供电电源:+3.3VDC 50mA;
 
*蓝牙协议:Bluetooth Specification V4.0 BLE;
 
*蓝牙协议:Bluetooth Specification V4.0 BLE;
第46行: 第45行:
  
 
==文档==
 
==文档==
Eagle PCB '''[[File:Microduino-BT Shield.zip]]'''
+
支持AT指令配置/控制,
 +
具体AT指令表见此文档附录:'''[[https://wiki.microduino.cn/images/a/ad/Microduino-BLE.pdf CC2541文档]]'''
  
===主要元件===
+
注意:
*cc2541_datasheet:'''[[File:Cc2541.pdf]]'''
+
**AT+CLEAR
 +
**AT+TCON
 +
**AT+RSSI
 +
**AT+RADD
 +
均会返回"ERROR",无法使用
  
 
==开发==
 
==开发==
===串口通讯要求===
+
编程手册:[[Protocol_Reference]]
*默认的串口配置为:
 
**波特率 9600
 
**无校验
 
**数据位8
 
**停止位1
 
*对于Arduino IDE自带串口监视器:
 
**设置成:“\r\n”、“9600baud”
 
*对于其他串口调试软件:
 
**波特率 9600
 
**无校验
 
**数据位8
 
**停止位1
 
  
 +
*'''[[【串口通信要求】]]'''
  
*我们推荐使用Microduino CoreUSB作为核心板调试本模块:
+
===蓝牙通信程序(通用)===
**因为CoreUSB可以利用USB模拟出串口0(Serial),而BT所占用的RX0、TX1是32u4的串口1(Serial1),因此你可以无需改动当前的跳线(RX0、TX1),并且不会影响到程序下载以及串口监视功能。
+
*请根据模块上的标识选择代码中的通信端口,示例程序中通信端口为D4,D5
 +
*程序:可将如下程序直接复制到Microduino-IDE中并下载到模块上
 +
<source lang="cpp">
 +
#include <SoftwareSerial.h>
  
*Microduino BT模块默认与Core的串口通讯引脚是RX0、TX1,因此不可直接与Microduino USBTTL叠加。
+
String item;
  
*软传口为D4(RX)、D5(TX)。
+
String currentInfo="";
  
===PC上位机调试时===
+
SoftwareSerial mySerial(4, 5);  //根据实际模块上的跳线,选择对应端口
*需要直接通过串口调试时:
 
**不直接叠加USB2TTL,应该将USB2TTL与Microduino BT二者的RX0、TX1交叉连接。
 
  
===用USBTTL、Core下载、调试程序时===
+
#define my_Serial  mySerial
*若保持默认跳线(RX0、TX1):
 
**下载程序时请拔下Microduino BT模块;
 
*玩家自己改动模块背面的跳线:切断两组的焊盘中间与RX0/TX1的连线,将焊盘中间与D2、D3(或者D4、D5)焊上即可。
 
**若采用了改跳线的方法,可将Microduino BT与Core的串口连接由TX-RX0、RX-TX1改成:
 
***TX-D2、RX-D3(相对Core+的Serial1)
 
***TX-D4、RX-D5(可调用SoftwareSeria库来解决)
 
  
 +
void setup()
  
===引脚说明===
+
{
 +
  item = "";
  
:[[file:Microduino-BT-1Big2.jpg|800px|thumb|center|Microduino-BT]]
+
  my_Serial.begin(9600);
<br style="clear: left"/>
 
:[[file:Microduino-BT-2Big1.jpg|800px|thumb|center|Microduino-BT]]
 
<br style="clear: left"/>
 
  
{|class="wikitable"
+
  Serial.begin(9600);
! rowspan="1" | HM-10模块引脚名 || Microduino引脚 || 功能
 
|-
 
| TX|| RX0(orD2/D4) || 模块串口发送脚(TTL电平),可接单片机的RXD
 
|-
 
| RX || TX1(orD3/D5) || 模块串口接收脚(TTL电平),可接单片机的TXD
 
|}
 
  
 +
}
  
*支持AT指令配置/控制:'''[[File:Bluetooth40 cn.pdf]]''','''[[File:Bluetooth40 en.pdf]]'''
+
void loop()
  
==应用==
+
{
===程序下载===
+
  if (my_Serial.available() > 0) {
测试程序:'''[[File:BLE debug uart1.zip]]''','''[[File:BLE LightBlue time.zip]]'''
 
  
[[Microduino BT串口透传数据到IOS设备]]
+
  currentInfo = my_Serial.readStringUntil('\n');
  
===通过CoreUSB对Shield BT4.0进行串口调试===
+
    Serial.println(currentInfo);
*所需要准备的硬件有:Microduino USB2TTL、Microduino CoreUSB、Microduino BT;
+
  }
*所需要准备的软件有:Arduino IDE(1.0版本以上)、Microduino提供的测试程序(Arduino端);
+
  if (Serial.available() > 0) {
**(因为CoreUSB可以利用USB模拟出串口0(Serial),而BT所占用的RX0、TX1是CoreUSB的串口1(Serial1),因此你可以保持当前的跳线(RX0、TX1)无需改动);
 
*启动Arduino IED,打开Microduino提供的测试程序,板卡选择Microduino CoreUSB,直接下载即可;
 
*检测串口通讯是否正常:
 
**打开对应串口监视器后,发送大写“AT\r\n”,若返回“OK”,说明配置成功。
 
  
===通过Core+的uart1对Microduino BT进行串口调试===
+
    item = Serial.readString();
*所需要准备的硬件有:Microduino USB2TTL、Microduino Core+、Microduino BT;
 
*所需要准备的软件有:Arduino IDE(1.0版本以上)、Microduino提供的测试程序(Arduino端);
 
*其他条件:玩家已经改过模块背面跳线,使得串口改到D2、D3;
 
*启动Arduino IED,打开Microduino提供的测试程序,板卡选择Microduino Core (Atmega328P@16M,5V),直接下载即可;
 
*检测串口通讯是否正常:
 
**打开对应串口监视器后,发送大写“AT”(AT 后没有\r\n 符号),若返回“OK”,说明配置成功。
 
  
===[[两个Microduino BT模块如何连接]]===
+
    my_Serial.println(item);
  
 +
    Serial.println(item);
 +
  }
 +
}
 +
</source>
  
===注意:如果使用Android设备调试,系统要4.3以上的才能检测到Microduino BT模块。===
+
===与IOS设备通信===
 +
*'''[[【使用LightBlue通信】]]'''
 +
*'''[[【使用mRobot通信制作小车】]]'''
 +
*'''[[【使用mDock通信制作多样应用】]]'''
  
 +
===与MAC设备通信===
 +
*'''[[【与MAC设备通信的方法】]]'''
  
===Microduino-Shield BT4.0 简单测试===
+
==扩展==
*[http://viewc.com/p/296 Microduino-Shield BT4.0 简单测试] 来自 @颜火山
+
*'''[[【使用AT指令修改蓝牙设置】]]'''
 +
*'''[[【修改跳线以更改串口引脚】]]'''
 +
 
 +
如果玩家想参照github里的android代码开发出自己的app,要注意UUID要和Microduino-BT模块的UUID一致
  
 
'''其它应用:'''
 
'''其它应用:'''
第174行: 第157行:
  
 
==图库==
 
==图库==
[[file:Microduino-【BT】-t.jpg|thumb|600px|center|Microduino BT 4.0 Front]]
+
[[file:Microduino-BT-t.jpg|thumb|600px|center|Microduino BT 4.0 Front]]
[[file:Microduino-【BT】-b.jpg|thumb|600px|center|Microduino BT 4.0 Back]]
+
[[file:Microduino-BT-b.jpg|thumb|600px|center|Microduino BT 4.0 Back]]
  
 
==视频==
 
==视频==
  
 
|}
 
|}

2018年6月20日 (三) 02:56的最新版本

Language English
Microduino-BT

Microduino-BT模块是基于CC2541芯片的蓝牙低能耗 (BLE) 的串口透明传输模块,专为 U 型27 PIN 标准 Microduino 接口设计。原模块参考Microduino-【BT】/zh

特色

  • 1)采用 U 型 27 PIN 标准 Microduino 接口,与其他 Microduino 模块堆叠使用;
  • 2)TI CC2541 芯片,低能耗;
  • 3)支持iBecons模式;
  • 4)多种方式恢复出厂设置,
    • 调试引脚的DEF接GND,然后模块上电,此时LED1亮,保持3秒后LED灯闪烁,此时松开DEF,恢复出厂设置成功,可以看到led灯每隔1S闪烁一次。
  • 5)有数据掉电保存功能;;
  • 6)支持AT 指令,可根据需要更改串口波特率、设备名称、配对密码等参数,使用灵活;
  • 7)小巧、便宜、堆叠、开放;
  • 8)开源的硬件电路设计,与 Arduino 兼容的编程开发环境程;
  • 9)统一的 Microduino 接口规范,和丰富的外围模块,可方便、灵活的与其他符合 Microduino 接口规范的模块、传感器进行快速的连接和扩展;
  • 10)2.54间距的排母接口方便集成到洞洞板。

规格

  • 通讯形式:串口透传,默认串口为D4(RX)、D5(TX);
  • 供电电源:+3.3VDC 50mA;
  • 蓝牙协议:Bluetooth Specification V4.0 BLE;
  • 支持服务:Central & Peripheral UUID FFE0,FFE1;
  • 工作频率:2.4GHz ISM band;
  • 调制方式:GFSK(Gaussian Frequency Shift Keying);
  • 发射功率:≤4dBm;
  • 灵 敏 度:≤-84dBm at 0.1% BER;
  • 传输速率:
    • Asynchronous: 6 kbps;
    • Synchronous: 6 kbps;
  • 状态指示灯:
    • 连接前:
      • 主机,未记录从机地址时,每秒亮 100ms;
      • 主机,记录从机地址时,每秒亮 900ms;
      • 从机,每 2 秒亮 1 秒。
    • 连线后:
    • 主机与从机均为每 5 秒亮 100 毫秒。(闪亮, 以便省电)
  • 透传期间每个数据包不宜超过 120 字节,波特率越高,发包间隔要求越长。无线蓝牙透数据传均存在丢包率的问题,所以用户朋友们一定要做好应用层的数据校验和丢包重传。
  • 所有AT命令都是以“\r\n”结尾。大家在AT命令调试时要注意选择“\r\n”。大部分 AT 命令都是在未连接前有效,连接后所有数据均为透传。
  • iBeacon 简单已集成。 通过 AT 命令 “AT+MODE2\r\n” 来设置, 只有在从机下才可以。

文档

支持AT指令配置/控制, 具体AT指令表见此文档附录:[CC2541文档]

注意:

    • AT+CLEAR
    • AT+TCON
    • AT+RSSI
    • AT+RADD

均会返回"ERROR",无法使用

开发

编程手册:Protocol_Reference

蓝牙通信程序(通用)

  • 请根据模块上的标识选择代码中的通信端口,示例程序中通信端口为D4,D5
  • 程序:可将如下程序直接复制到Microduino-IDE中并下载到模块上
#include <SoftwareSerial.h>

String item;

String currentInfo="";

SoftwareSerial mySerial(4, 5);   //根据实际模块上的跳线,选择对应端口

#define my_Serial  mySerial

void setup()

{
  item = "";

  my_Serial.begin(9600);

  Serial.begin(9600);

}

void loop()

{
  if (my_Serial.available() > 0) {

   currentInfo = my_Serial.readStringUntil('\n');

    Serial.println(currentInfo);
  }
  if (Serial.available() > 0) {

    item = Serial.readString();

    my_Serial.println(item);

    Serial.println(item);
  }
}

与IOS设备通信

与MAC设备通信

扩展

如果玩家想参照github里的android代码开发出自己的app,要注意UUID要和Microduino-BT模块的UUID一致

其它应用:

Microduino 物联网智能家居方案

Microduino 手机蓝牙控制家用电器/zh

Microduino 手机蓝牙控制电视/zh

Microduino 小车

Microduino 蓝牙控制小车/zh

Microduino KIT

Microduino BLE_IOS-202KIT/zh

Microduino BLE_Android-202KIT/zh

问题解答

  • 无法和win7进行配对?
    • 检查win7电脑支持BT 4.0 协议吗?BT 模块只能用于4.0 协议,并且默认配对密码是000000。
  • 模块无法reset,只能通过上电重启?
    • 可以通过上电启动或者通过串口发送AT指令“AT+RESTART\r\n”来重启。
  • 无法和iphone,Android手机配对?
    • 一般是协议版本不支持,此BT 模块支持4.0 BT 协议
    • For Andriod OS: 4.3 release
    • For IOS: iPhone4s upper, iPod touch 5 upper, iPad 3 upper and iPad mini upper

购买

历史

  • 2014年7月28日,取消使用模组方案,采用CC25541芯片,支持iBecons模式,原模块参考Microduino-【BT】/zh
  • 2013年6月5日,第二次打样完成,更名为Microduino-[BT]新增第三个可选串口——UART1,分成2个版本,一个2.1版本,所用模块为HM09;一个为4.0版本,所用模块为HM10。
  • 2013年5月10日,布板完成。


图库

Microduino BT 4.0 Front
Microduino BT 4.0 Back

视频