“MCookie-BLE”的版本间的差异
(→通过CoreUSB与蓝牙设备通讯) |
(→通过Core、Core+与蓝牙设备通讯) |
||
第78行: | 第78行: | ||
*程序 | *程序 | ||
<source lang="cpp"> | <source lang="cpp"> | ||
− | #define my_Serial Serial // | + | #define my_Serial Serial //定义串口通讯为Serial |
String msg = ""; //定义一个字符串 | String msg = ""; //定义一个字符串 |
2016年9月20日 (二) 02:34的版本
Language | English |
---|
mCookie-BT模块是蓝牙低能耗 (BLE) 的串口传输模块。可与其他蓝牙设备进行连接通讯。如手机,ipad借助相关APP可以和BT模块通信。
目录特色
规格
文档支持AT指令配置/控制:文件:Microduino-BLE.pdf 开发串口通讯要求
通过Core、Core+与蓝牙设备通讯
#define my_Serial Serial //定义串口通讯为Serial
String msg = ""; //定义一个字符串
void setup()
{
// 初始化蓝牙通信波特率
my_Serial.begin(9600);
}
void loop()
{
//每收到一次信号,向通信另一端反馈一次
if (my_Serial.available() > 0) //如果串口有数据输入
{
msg = my_Serial.readStringUntil('\n'); //获取换行符前所有的内容
my_Serial.println("^_^ Hello,mCookie!"); //向蓝牙通信的另一端发送数据
}
}
通过CoreUSB与蓝牙设备通讯
#define my_Serial Serial1 //定义串口通讯为串口1,BT与CoreUSB默认通信接口
String msg = ""; //定义一个字符串
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("^_^ Hello,mCookie!"); //向蓝牙通信的另一端发送数据
}
}
与Android设备通信
| ||||||||||||||||||||||||
步骤一:将程序下载到mCookie里; | ||||||||||||||||||||||||
步骤二:开始设置Android设备,打开Android设备的蓝牙功能,打开App,并在电脑IDE端打开串口监视器; 步骤三:点击App右上方SCAN按钮,这是用来搜索周围蓝牙接入点的,点击SCAN后会显示周围的蓝牙设备。 点击对应的Microduino蓝牙编号,进入界面等待2-3秒钟,待屏右上角变成“Serial ready”字样,说明手机已经与蓝牙建立了连接. 手机向mCookie发送英文字符,串口监视器中收到手机发送的内容。同时手机接收到了mCookie发送的“^_^ Hello,mCookie!”信息,验证了蓝牙的双向通信功能。 与IOS设备通信
步骤一:将程序下载到mCookie里; 步骤二:安装“lightblue”,打开软件,开始设置IOS设备,打开IOS设备的蓝牙功能。并在电脑端IDE中打开串口监视器 步骤三:打开LightBlue;进入的界面是蓝牙设备搜索界面,从“Peripherals Nearby”下的列表中找到Microduino的蓝牙设备,点击该条目使手机与其建立连接; | ||||||||||||||||||||||||
连接后进入页面如下: 步骤四:选择并点击Characteristic6,观察屏幕右上方的编码格式,默认为Hex 16进制编码,如果要显示字符串请点击Hex所在的按钮并选择UTF-8编码格式,之后点击“Listen for notifications”使手机进入监听状态。 步骤六:点击“Write new value”,弹出文本编辑界面 自定义输入一个英文和数字组成的字符串,观察手机和串口的显示结果 可以从图中看到串口收到了手机发送的数据“12345”,手机端也收到了蓝牙返回的数据“bluetooth respond”,说明蓝牙双向通信是畅通的。 与MAC设备通信mac蓝牙无法直接与BT搜索连接,需要借助Light Blue来开发。下载
与windows设备通信蓝牙默认连接不需要密码,但是如果电脑自动弹出来要配对,默认密码是:000000.如果还无法连接,需要使用AT命令设置成连接需要密码。
扩展使用AT查看或更改BT的参数
//使用其他软串口用SoftwareSerial
//#include <SoftwareSerial.h>
//SoftwareSerial mySerial(4, 5); // RX, TX
//#define my_Serial mySerial
#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());//将数据在串口监视器打印出来
}
修改串口通讯引脚默认使用串口为D0(RX)、D1(TX),玩家可根据情况更改串口。串口引脚参考下图: 使用软串口通讯程序: //使用其他软串口用SoftwareSerial
#include <SoftwareSerial.h>
SoftwareSerial mySerial(4, 5);//根据选择的串口,选择对应的端口号(2,3)或(4,5)
#define my_Serial mySerial
String msg = "";
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"); //向蓝牙通信的另一端发送数据
}
}
应用
问题解答
图库 |