物联网专题--基于APP Inventor的BLE蓝牙4.0数据通信

本文原文为本人新浪博客:http://blog.sina.com.cn/s/blog_12f79c9b90102wbde.html

本科毕业设计要用到蓝牙4.0(芯片选用TI公司的CC254x系列)与手机客户端的数据交互,偶然间发现的AI2工具非常好用。上手之后发现国内的在线版本不支持蓝牙4.0,辗转问了好多人,无果,最后终于在一家台湾的网站上发现了有关BLE通信的APP制作方法,现在总结一下。

       第一步:得到一个可以浏览国外网站的VPN

       原文提供了VPN的购买链接,目前已经失效,请大家科学上网。

       第二步:​登录MIT的BLE测试网址

       目前为止,国内以及国外的AI在线版都不支持BLE​通信,唯一支持的是MIT的专门为BLE开设的测试版,网址链接为:

       http://ble-test.appinventor.mit.edu/#6287416046387200​

       PS:第一次打开的时候谷歌可能会要求验证谷歌账号,有的话直接验证就好,没有的可以注册一个,很方便。​

      下图为BLE在线测试版​的截图:​

BLE在线测试版

       可以发现,在线测试版和正式版几乎是一模一样的,区别在哪里呢?唯一的区别就在于BLE测试版添加了蓝牙4.0的组件,如下图所示:

蓝牙4.0控件

​       由上图可以看出,BLE在线测试版添加了“BluetoothLE”(全称为Bluetooth Low Energy), 即BLE组件,通过该组件可以进行有关蓝牙4.0数据的接受与发送。

       第三步:熟悉BLE各种逻辑语句​

       首先是控制语句:​

BLE组件的控制语句

​① 当BLE设备被连接时,执行下列语句。该语句一般用作连接成功后改变显示状态;

② 当BLE设备被发现时,执行下列语句。该语句一般​用作被发现之后改变列表中地址值;​

③ 当BLE设备的RSSI值改变时,执行下列语句​。 该语句一般用作检测搜寻附近蓝牙设备;

④ 当从BLE设备读或写的值改变时,执行下列语句。​该语句一般用作数据通信;

⑤ 当BLE设备的值被读取时,执行下列语句。​该语句一般用作数据通信;

⑥ 当BLE设备的值被写入时,执行下列语句。该语句一般用作数据通信。

       其次是过程语句:

BLE组件的过程语句1

​① 连接Index中的BLE设备。该语句一般和列表一起使用;

② 连接已知地址的BLE设备。该语句用来进行与已知地址的BLE设备进行连接;

③ ​ 断开已知地址的BLE设备。该语句用来 断开已知地址的BLE设备;

④ 读取​Index中的BLE设备地址。该语句一般和列表一起使用;

⑤ ​读取​Index中的BLE设备名称。该语句一般和列表一起使用;

⑥ ​读取​Index中的BLE设备RSSI值。该语句一般和列表一起使用;

⑦ 在已知设备UUID和特征值UUID的BLE设备上读一个字节变量。该语句用作与已知设备的数据通信;

⑧​ 在已知设备UUID和特征值UUID的BLE设备上读一个浮点型变量。该语句用作与已知设备的数据通信。

BLE组件的过程语句2

​① 在已知设备UUID和特征值UUID的BLE设备上读一个整型变量,offset是偏移的位数。该语句用作与已知设备的数据通信;

② ​在已知设备UUID和特征值UUID的BLE设备上读一个字符型变量,offset是偏移的位数。该语句用作与已知设备的数据通信;

③ 开始扫描BLE设备。该语句一般在开始时使用;

④ 结束扫面BLE设备;

⑤ ​在已知设备UUID和特征值UUID的BLE设备上写入一个整型变量,offset是偏移的位数,value是待写入的值。该语句用作与已知设备的数据通信;

⑥ ​在已知设备UUID和特征值UUID的BLE设备上写入一个 浮点型变量,offset是偏移的位数,value是待写入的值。该语句用作与已知设备的数据通信;

⑦ ​得到被支持的GATT服务。

       最后是逻辑语句:

BLE组件的逻辑语句

​① BLE设备中一个字节变量的值;

② 已连接BLE设备中的RSSI值;

③ BLE设备的设备列表;

④ ​BLE设备中一个整型变量的值;

⑤ BLE设备已连接;

⑥ ​BLE设备中一个字符型变量的值;

⑦ BLE设备。​

       第四步:数据的发送与接收



蓝牙4.0通信逻辑图

      上图所示是在已知UUID的BLE设备中,向特征值3写入字符1,然后读特征值5,显示在标签文本上。上图中,设备的UUID是“0000FFF0-0000-1000-8000-00805F9B34FB”,特征值3的UUID是“0000FFF3-0000-1000-8000-00805F9B34FB” ​,,特征值5的UUID是“0000FFF3-0000-1000-8000-00805F9B34FB”。

       蓝牙4.0的数据通信主要是通过特征值来完成的,我们也可以根据需要自行添加特征值​。每个设备都有不同的UUID,怕麻烦的话可以借助一些辅助的手机软件来读出来,比如TI官方的“BLE Device Monitor”或者“nRF Master Control Panel”,推荐后者,功能较多。

任何有问题的地方,欢迎留言交流!​

附:参考网址​

1. 基于AI2的BLE​的基础运用:

链接1:http://blog.cavedu.com/programming-language/appinventor/app-inventor-藍牙4-0-ble-part-1-led-閃爍/

链接2:​http://blog.cavedu.com/programming-language/appinventor/app-inventor-物聯網應用-藍牙4-0-ble-lesson-2-led-pwm呼吸燈/

2. 基于AI的传统蓝牙通信:

链接:http://blog.sina.com.cn/s/blog_62218b990102v65p.html​

3. 好用的AI中文学习教程:

链接:​http://www.17coding.net/

  • 12
    点赞
  • 89
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 28
    评论
蓝牙4.0BLE开发完全手册——物联网开发技术实战》是一本专门介绍蓝牙4.0低功耗(Bluetooth Low Energy, BLE)开发技术并应用于物联网的实战指南。 该书从基础概念出发,分析了BLE技术的特点、优势和应用领域。首先介绍了蓝牙技术的发展历程,然后深入研究了BLE的基本原理和通信协议,包括物理层和协议栈的组成、BLE传输数据的方式以及BLE设备之间的连接和广播等内容。同时,还对BLE的安全性和功耗进行了详细的讲解。 随后,本书重点聚焦于BLE开发的实战应用。作者通过实例演示了如何使用iOS和Android平台上的开发工具来搭建一个BLE应用程序,包括手机与BLE设备之间的连接与通信、UUID的使用、服务和特征的定义以及数据的读写等操作。此外,还介绍了如何在物联网场景中使用BLE技术,如智能家居、智能健康等方面的应用。 该书以简明易懂的方式呈现了BLE技术的相关知识,并结合实际案例进行讲解,使读者可以快速上手并实践于物联网开发中。此外,书中还包括了常见问题和解决方案,以帮助读者解决开发过程中可能遇到的困难与挑战。 综上所述,《蓝牙4.0BLE开发完全手册——物联网开发技术实战》是一本全面介绍BLE开发技术的实用指南,是物联网开发者不可或缺的参考工具。无论是对于初学者还是已有一定经验的开发者来说,都能够从中获得宝贵的知识和实战经验,提升物联网开发的技能水平。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 28
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱吃骨头的猫、

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值