Android Bluetooth 封装,怎样制作一个受Android和Bluetooth LE控制的RGB灯

步骤1:

d85a81429e0304015af1252de706f8bd.png

c9ef02b589c75f5f22164bcb31cff692.png

41c13dc7fd757d121204fe7eeb9de280.png

fc0a89579b5addcbf718b9c2f8b2d0a3.png

我们正在使用BT模块来透明地发送/接收数据,不需要对出厂默认设置进行太多更改。我发现设置唯一的名称并确认您的模块正常工作很有帮助。为此,您需要FTDI电缆或Arduino板。

重要提示: HM-10的运行电压为3.3V,许多Arduino的电压为5V。如果将BLE模块连接到5V的电源而没有逻辑电平转换器和稳压器,则可能会损坏它。

如果您购买了带有分线板的HM-10模块,那就太好了。如果您需要构建分线板,请转到本教程。如果您想自己解决问题,可以在此数据表中找到引脚排列。

使用串行/FTDI电缆

Connect

HM-10 TX-FTDI RX

HM-10 RX-FTDI TX

HM-10 GND-FTDI GND HM-10 VCC-FTDI VCC

然后通过控制台连接到FTDI电缆或您最喜欢的串行终端。某些效果很好:

Linux/Mac-CuteCom

Linux/Windows/Mac-CoolTerm RealTerm

设置:9600,N,8,1;

如果正在使用Arduino

打开Arduino软件,然后将 Examples-》 SoftwareSerial-》 SoftwareSerialExample 上传到您的设备

Connect

HM-10 TX-Arduino Pin 10 softRX

HM-10 RX-Arduino Pin 11 softTX HM-10 GND-Arduino GND HM-10 VCC-Arduino 3.3V

以9600波特打开串行监视器。

命令

BLE模块使用AT命令读取和写入系统信息,不需要在它们后面加换行符。如果您在输入命令时未得到响应,则可能未正确连接某些模块,因此您需要对模块进行故障排除。

连接时,键入:

AT -它应该响应OK

您可以找到固件版本:

AT + VERS?-固件版本

并设置设备名称:

AT + NAME?-获取当前名称

AT + NAME您的名字-设置名称(最多12个字符)

数据表中的全套AT命令

如果出现所有内容要正常工作,是时候继续安装Android和Arduino应用了!

步骤2:安装Arduino Sketch

05e76ea3d3359434421fbf96b47f01e2.png

如果您使用的是WS2811/WS2812 Strip

复制并安装Arduino草图。您可以在此处找到代码。

如果您使用的是不带IC的RGB LED

您可以改用此示例代码。

步骤3:将蓝牙模块和LED连接至Arduino

95125229a671e6b6e562b9d6ad839ef5.png

将HM-10连接至Arduino

将蓝牙RX和TX引脚连接至您的微控制器。就我而言,我不会使用Arduino的USB,因此我会使用数字引脚0和1上的内置串行端口。如果您需要微控制器的USB功能,请尝试使用软件串行。

HM-10 RX-Arduino TX(D1)

HM-10 TX-Arduino RX(D0)

连接RGB LED灯条

对于WS2812灯,您仅需要3个引脚:数据到数字引脚6、5V和GND。如果您使用的是其他灯条,则可能有4个引脚,并且需要包含用于驱动这些灯的相关代码。

如果您使用的是RGB灯条或不带某种IC的LED,则可以遵循此Arduino示例。 》 将电源连接到Arduino

我正在使用USB电源包,但是您可以使用壁式电源适配器或USB连接到计算机。

第4步:安装Android应用程序

1097347ce9748b8e92b92e3cf1d47046.png

dd3002e39dfd7f6b7283ce18d8027aba.png

0ef737fec8fd14887cadd1cfa87093ea.png

安装应用

该应用程序仍处于“概念验证”阶段,因此尚未为Play商店准备就绪。如果要下载它,则需要对其进行侧面加载。我希望可以使用App Inventor或PhoneGap创建具有BLE支持的快速应用程序,但是此功能太新了,尚不支持,所以我尝试了Android SDK!

首先启用Unknown Sources的应用程序检查:

设置-》安全-》 未知来源

将APK直接下载到手机中,或通过USB复制,然后使用文件浏览器运行该文件。

此应用程序的功能以及如何对其进行修改

该应用程序非常基础,在您连接到BT模块后,它会寻找串行服务,然后从中获取值3个滑块,并将它们作为字符串发送到Arduino,在此它们被转换为LED值。它基于Android示例代码。

Bluetooth LE使用一种称为通用属性配置文件(GATT)模型的模型,该模型定义了服务和特征,这些特征通过称为的 UUID 即可。 HM-10有一项服务,可让您传递数据,我发现 UUID 是 0000ffe0-0000-1000-8000-00805f9b34fb 。您用于发送和接收数据的特征的UUID为 0000ffe1-0000-1000-8000-00805f9b34fb

欢迎您修改和改进源。首先安装Android SDK捆绑包非常有用

在此处实时使用的主要文件

BluetoothLeService.java-蓝牙LE功能

DeviceControlActivity.java-连接到设备时会发生什么情况

DeviceScanActivity .java-扫描BLE设备的例程

SampleGattAttributes.java-定义公认的服务和特征 nRF主控制面板对于嗅探服务和特征以及了解有关BLE设备的信息非常有用

步骤5:将所有内容放在一起

1e0d38b5acc57b1d8c8d5ffbcc898d61.png

d501f412690c9e604887bdb2b83ac972.png

919bb4dc895d5681b0f6e781e57d873c.png

1。插入您的Arduino。

2。打开Blue Light Android应用程序。如果一切正常,您应该会在范围内看到BLE模块。选择它!

3。如果连接成功,则第二个屏幕应显示“状态:已连接”,并且如果找到串行服务“是,串行:-)”

4。调整滑块,您的灯光应更改颜色

5。 hack,庆祝,修改,玩和享受!

未来的改进

*功能更强大的Android应用(支持图案,颜色选择器等)

未来的BLE项目

*用ATTiny代替Arduino

*利用HM-10上的GPIO引脚* iBeacon(最新HM-10固件支持)

*尝试刷新HM-10使用Red Bear Lab的开源Biscuit固件

第6步:使事物变得美丽

81b25271a569427f9b09b5f64a9b8f55.png

ac90d18bfa4442ddae6e53c7de928044.png

48190f590b29f5bd09739789344a1462.png

b17685a3704beadfe02ed1c500976575.gif

您需要什么

*纸板管

*胶带

*电源或USB延长线

*纸灯笼

放置Arduino和蓝牙在纸板管内的模块中,用另一块纸板覆盖底部,以免它们掉落。将您的LED灯带缠绕在灯管的外部,并绑好胶带。

将电源或USB延长线连接到Arduino。

您可以通过天花板上的挂钩将灯笼悬挂起来,或者使用一些单丝(钓鱼线) )。

将纸板管放在灯笼内,您可以在顶部戳孔,然后用细绳或电线将其悬挂。现在,您有了一个受Android和Bluetooth LE控制的RGB灯:-)

责任编辑:wv

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值