Skip to content
Life is short Play more
  • Computer
    • Cloud
    • DataBase
      • Mysql
      • Oracle
    • Operation system
      • Android
      • Linux
      • Windows
    • Programming
      • C , C++
      • Java
      • Javascript
      • Linux shell
      • Php
      • python
      • Web Programing
    • Security
    • Virtulization
    • Web hosting
      • Ad
  • Life Testing
  • My work
    • wrapEasyDevice
  • Network
    • HTTP
  • Note
  • Other
    • Embedded
    • Hardware
  • Share
    • Articles
    • Music
    • Tools
    • Video
  • Software Testing
    • Automation Testing
    • Cloud Testing
    • Functional Testing
    • Performance Testing
Life is short Play more
Life is short play more

记录arduino+ble调试成功(没有完整资料的日子真痛苦)

Posted On 2015年11月28日

很早之前,大概是7月份买了ble的arduino模块,花了2天时间竟然没有调通。  然后扔在角落里落滿了灰尘。 昨日又拿起来,难道真的是因为买了一个坏的硬件?

今日又从把昨天看完的教程又看一遍,无意中终于找到了原因。  网上资料太少, keyes的基于Bolutek (蓝牙串口板子)  ti cc2541(ti 蓝牙soc芯片) 的arduino 扩展板子 也没有完整的资料和教程。 真是愁人, 搜索完 cc2541 和 hm(x) 还不知到hm的版本号。

从网上搜到了 hm10 的文档,尝试了下 AT 命令,却一直无法成功访问到蓝牙模块。

1.   蓝牙模块的串行接口 发送命令时,是需要println() 的方法去发送,否则无效。  println顾名思义是带有一个newline的符号。 所以无newline的就无法发送成功。

  if (Serial.available()) {
/*    char a = Serial.read();
    Serial.println(a);
    mySerial.write(Serial.read());*/
   String a = Serial.readString();
   Serial.println(a.c_str());
   //mySerial.write(a.c_str());
   BTserial.println(a.c_str());
    
  }

使用write(char)的方法不通, 而使用 println(const string*)的方式是可以的。

2. 不同的固件版本AT命令不完全相同,而且千差万别。

所以一定要先确定AT命令,返回OK后,就大功一半了。 剩下可以尝试 AT+HELP 或者 AT+HELP? ,来进行测试找到帮助文档。

Goodnight moon!
OK
AT+HELP
********************************************************************
* Command             master mode Description			   *
* ---------------------------------------------------------------- *
* AT+INQ              Search slave model.                          *
* AT+CONN             Connect the index slave model.               *
* AT+SHOW             Show the searched slave model.               *
* AT                  Check if the command terminal work normally  *
* AT+ROLE             Get/Set current role.	                   *
* AT+STATE            Get model current state.                     *
* AT+BAUD             Get/Set baud rate		                   *
* AT+DEFAULT          Restore factory default			   *
* AT+PWRM             Get/Set power on mode(low power) 		   *
* AT+SLEEP            Sleep mode 		                   *
* AT+IMME             Work mode when power on.                     *
* AT+START            Begin to work. 		                   *
* AT+CMODE            Get/Set model bound mode.                    *
* AT+STOP             Get/Set UART stop bit.                       *
* AT+PARI             Get/Set UART parity bit.                     *
* AT+LADDR            Get local bluetooth address		   *
* AT+NAME             Get/Set local device name                    *
* AT+RESET            Software reboot				   *
* AT+VERSION          Get version firmware,                        *
* AT+HELP             List all the commands		           *
* -----------------------------------------------------------------*
* Note: (M) = The command support slave master mode. 		   *
* For more information, please visit http://www.bolutek.com        *
* Copyright@2013 www.bolutek.com. All rights reserved.		   *
********************************************************************
AT+NAME
+NAME=lihao
AT+BAUD
+BAUD=4
AT+CMODE
AT+PWRM
+PWRM=1
AT+ROLE
+ROLE=1

3.  能够at command 访问蓝牙模块后, 剩下就是设置一些参数和调试了。

AT+VERSION
+VERSION=Firmware V2.0.12,Bluetooth V4.0 LE

值得注意的是: 笔者购买的模块, ble 有主从两种模式。  默认是主模式,可以搜索并链接别的蓝牙设备。 从设备则可以允许别人匹配我。  密码默认一般是0000 或者  000000 如果是主模式是无法被别人链接的。

设置为 role 为0 后, 则用我们的手机设备可以搜索到该蓝牙模块,并可以匹配成功。

AT+ROLE0
+ROLE=0
OK

4.  可以匹配成功后,剩下的就是debug 你的蓝牙模块和你的手机进行串口的通讯了。 剩下的就都是你的想象力了。

我使用的ble 小扩展板

基于BLE-CC41-A 的蓝牙模块

此篇文章已被阅读4508 次

相关文章

  1. arduino 红外遥控陀机
  2. linux shell经典应用
  3. linux(unix)文件格式类型以及dos和unix文件格式的转换
  4. open source fast key-value storage library
  5. mysql一机多实例数据库和主从同步

Related Posts

android eclipse 编译apk后, 安装找不到入口activity
android dalvik VM(android的vm, not jvm)
android R.java文件丢失

About The Author

The Tester

技术交流,生活学习

Add a Comment

取消回复

邮箱地址不会被公开。 必填项已用*标注

最热文章

  • No results available

近期文章

  • vue2 动态import导入vue提示报错
  • batch udpate sql批量更新数据库中所有表的特定字段值
  • Springboot application启动missing EmbeddedServletContainerFactory错误解决
  • Dubbo使用java api 配置开发禁止使用config center
  • 使用jacoco实时生成后端服务集成测试代码覆盖率报告

近期评论

  • ghj发表在《科学上网trojan的安装和使用》
  • The Tester发表在《cloudflare Rocket Loader建议中国使用者关闭》
  • zhoulujun发表在《cloudflare Rocket Loader建议中国使用者关闭》
  • The Tester发表在《vue+iviewui menu+tabs联动及tabs切换总结》
  • xiaodong.xuexd发表在《sonarqube 7.0 新功能及安装》
  • Josephnex发表在《使用github pages作图床》

标签云

adsense ajax android aws crawler css eclipse findbugs git goagent htmlunit iptables jacoco java javascript jmeter joolma joomla junit jvm lcd linux moco mongodb monkeyrunner mysql oled openvpn oracle pdp php puppet python rabbitmq sonar sonarqube spring springboot ubuntu vpn vue wordpress wrapeasymonkey yii yum

分类目录

© 2025 Life is short Play more | blog | Powered by WordPress & Customizable Blogily