查看“MCookie-BLE”的源代码
←
MCookie-BLE
跳转至:
导航
、
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
{{Language|mCookie-BT}} {| style="width: 800px;" |- | [[file:mCookie-bt-rect.jpg|400px|thumb|right|mCookie-BT]] mCookie-BLE模块是蓝牙低能耗 (BLE) 的串口传输模块。可与其他蓝牙设备进行连接通讯。如手机,ipad借助相关APP可以和BT模块通信。 ==特色== *低功耗; *支持iBecons模式; *小巧、便宜、堆叠、开放; ==规格== *通讯形式:串口透传,默认串口为D0(RX)、D1(TX); *供电电源:+3.3VDC 50mA; *状态指示灯: **蓝牙连接前: ***主机,未记录从机地址时,每秒亮 100ms;记录从机地址时,每秒亮 900ms; ***从机,每 2 秒亮 1 秒。 **蓝牙连接后: ***主机与从机均为每 5 秒亮 100 毫秒。(闪亮, 以便省电) *透传期间每个数据包不宜超过 120 字节,波特率越高,发包间隔要求越长。无线蓝牙透数据传均存在丢包率的问题,所以用户朋友们一定要做好应用层的数据校验和丢包重传。 *所有AT命令都是以“\r\n”结尾。大家在AT命令调试时要注意选择“\r\n”。大部分 AT 命令都是在未连接前有效,连接后所有数据均为透传。 *iBeacon 简单已集成。 通过 AT 命令 “AT+MODE2\r\n” 来设置, 只有在从机下才可以。 **工作模式 0:透传 ,1: 直驱(保留), 2: iBeacon **iBeacon 可苹果应用商店上的免费应用 Locate iBeacons 来测试,目前显示距离,使用方法参考: http://blog.csdn.net/mzy202/article/details/20365691 [[File:ble-rule.jpg|600px|center|thumb]] ==文档== 支持AT指令配置/控制, 具体AT指令表见此文档附录:'''[[https://wiki.microduino.cn/images/a/ad/Microduino-BLE.pdf CC2541文档]]''' 注意: **AT+CLEAR **AT+TCON **AT+RSSI **AT+RADD 均会返回"ERROR",无法使用 ==开发== 编程手册:[[Protocol_Reference]] ===串口通讯要求=== *默认的串口配置为: **波特率:9600 **无校验 **数据位8 **停止位1 **设置成:“\r\n”、“9600baud” [[File:Serial-mcookie.jpg|thumb|600px|center]] *不同核心分配的串口不一样,见表格: **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)|| |} ===通过'''Core、Core+'''与蓝牙设备通讯=== *请根据模块上的标识选择代码中的通信端口,示例程序中通信端口为D4,D5 *程序:可将如下程序直接复制到Microduino-IDE中并下载到模块上 <source lang="cpp"> #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); } } </source> ===与IOS设备通信=== *'''[[【使用LightBlue通信】]]''' ===与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的参数=== *程序 <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> *下载程序 **将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]] ===修改串口通讯引脚=== 默认使用串口为D0(RX)、D1(TX),玩家可根据情况更改串口。串口引脚参考下图: [[File:ble-Serial-change.jpg|600px|center|thumb]] 使用软串口通讯程序: <source lang="cpp"> //使用其他软串口用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"); //向蓝牙通信的另一端发送数据 } } </source> ==应用== [[蓝牙彩灯]]<br> [[蓝牙小夜灯]]<br> [[蓝牙通信]]<br> [[温度湿度计]]<br> [[通过CoreUSB通信]]<br> [[与安卓设备通信]]<br> ==问题解答== *无法和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 ==图库== [[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]] |}
返回至
MCookie-BLE
。
导航菜单
个人工具
创建账户
登录
名字空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
Welcome
首页
创客大赛
大赛详情
3D打印
安装月球车
图形化编程
操控月球车
升级月球车
编程工具下载
软件下载
Arduino
Processing
Mixly
Scratch
模块套件
Microduino 102
mCookie 102
mCookie 202
mCookie 302
IBC
其他
应用套件
四轴飞行器
平衡车
小车CUBE
音乐播放器
刷卡音乐播放器
wifi气象站
彩虹音乐触摸灯
分贝检测仪
迎门汇报
LED点阵时钟
LED点阵屏幕
硬件
mCookie
Sensor
Microduino
MicroWrt
MicroNux
MicroRobot-Core
MicroRobot-CoreESP
ideaBoard
ideaBox
MicroMV
MicroAI
帮助
常见问题
帮助
工具
链入页面
相关更改
特殊页面
页面信息