AprilBeacon 201蓄势待发

新版本的AprilBeacon 201经过一个多月的内测,即将发布了。

相比之前的版本来说,改动最大的部分如下:

  • AprilBeacon的模块的天线得到了优化,测距的精度相比上个版本提升了30%。测试距离达到30米,同时稳定性提升
  • 更换为更大的电池CR2450,电量是CR2032的2倍左右,续航能力得到极大提升
  • 模块大小变为 26mm x 34.82mm,厚度约9mm,外形为水滴状
  • 加上了复位开关的位置,方便调试参数

这个版本,仍然延续了之前加密空中升级的特点,让我们可以及时为你送上最新的固件。

我们采用3D打印技术为这个模块制造了一些可爱的外壳,很快也会和大家见面了。

AprilBeacon V1.3固件发布

AprilBeacon的1.3版固件发布了,这一次的更新内容略多。

新增内容

  • 可通过FFF7来修改广播频率,修改范围为1~255,单位为100ms
  • 加上了电量服务180F,可以读取电池电量
  • 加上了设备信息服务180A,可以读取当前的固件版本

改变内容

  • 默认广播频率由600ms一次改为900ms
  • 读取FFF0->FFF1的ProximityUUID也需要配对密码,如果是做门禁服务这样更合适了
  • 在其它蓝牙设备连接之后,也会继续保持广播状态

由于我们提供的AprilBeacon模块是可以支持空中升级的,所以即使是最早售出的模块,也是可以升级到这个版本。

Update

  • 原模块名BlueBeacon更换为AprilBeacon

BlueBeacon模块出炉了

新的BlueBeacon模块出炉了!模块特点如下

  • 可独立运行,接上一颗CR2032纽扣电池即可使用
  • 基于TI公司的CC2541,更加省电
  • 定制的电源管理模块,在原有基础上更能节省约30%的电力
  • 模块尺寸 24.8mm x 24.8mm,大小和一元硬币一样,厚度约7.5mm,方便放入各种外壳内

实物图

1

3

2

烧好BlueBeacon固件的CC2541模块

新增了一款已经烧好BlueBeacon固件的CC2541模块,固件特点如下

  • 可通过蓝牙远程升级固件
  • 可定制UUID, major number, minor number
  • 在iOS7测试通过
  • 可独立运行,不需要其它单片机
  • 默认proximityUUID: E2C56DB5-DFFB-48D2-B060-D0F5A71096E0 , 和苹果的AirLocate示例代码一致

为什么采用CC2541

  • cc2541相比cc2540更加省电
  • cc2541在成本上没有增加

BlueShield v1.1改进版

蓝牙4.0串口模块BlueShield出新版本了,改动如下

  • 体积更小,18mm x 30mm
  • 天线部分做了露出处理,信号会更好一些
  • RXD/TXD的丝印做了对换,所以这个版本的串口接线方式应该是蓝牙RXD接arduino的TX,蓝牙TXD接arduino的RX
  • 模块采用沉金工艺,更环保,电气性能更佳(当然成本也上涨了。。)
  • 新增了3.3v/5v工作电压的切换跳线,默认是5V版本

模块预览图片如下

b1

b2

淘宝购买链接

Microduino-Shield BT4.0简单测试

Microduino 是 Arduino 的兼容开发板。特点是非常小巧,大概比一元硬币大点,但是又保持了原版arduino可堆叠的特性。 前几天收到了@Microduino 赠送的一片蓝牙4.0扩展板Microduino-Shield BT4.0以及Microduino-core+, 时间不是太充裕,先简单试用一下。

到手的图片如下:

microduino

图中从左到右依次为:

  • FT232R : USB转串口模块
  • Microduino-Core
  • Microduino-Core+ 3.3v版本
  • Shield BT4.0

和手头已有的板摆在一块,看上去很精致哦。附:大图

bt4.0 shield 简介

bt 4.0 shield的规格

  • 采用串口透传通讯形式
  • 3.3V供电
  • 软硬串口可通过跳线设定
  • 蓝牙协议:Bluetooth Specification V4.0 BLE
  • 支持服务:Central & Peripheral UUID FFE0,FFE1

热身: 用core+试运行blink程序

core+这片板的特点是多了一组硬串口,配置也更为强劲,之前只玩过它的简化版。这里先跑一段blink热身。

  • 打开Arduino编辑器, 选择合适的Board,这里我选了Microduino Core+ (Atmega644PA@8M, 3.3V)
  • 开菜单 file->examples->01.basic->blink, 然后Upload,一气呵成
  • 发光二极管+220欧电阻接上

实际运行效果如下

测试bt 4.0 shield

拿到这块板的时候,已经能看到bt4.0 shield相关的wiki介绍了。但是由于缺乏Quickstart之类的上手文档,我花了一番功夫才让这个板实际运作起来。

  • 首先是把板子堆叠起来,很整齐,不用飞线
    堆叠microduino
  • 这块shield默认飞线使用microduino的软串口来传输数据,也就是microduino的D9- RX、D10-TX。我刚开始没有注意到这个,走了不少弯路。下图可以看到这个细节.
    bt 4.0 shield 飞线
  • 烧录串口传输的代码,需要用到软串口, 源码见gists
  • 打开iPod Touch5,装上bluetooth 4.0调试神器LightBlue
  • 打开Lightblue,马上就找到了这块shield,名为HMSoft。连上ffe0 -> ffe1,串口的读取都是靠这一个characteristic搞定

实际操作视频:

一些感受

好的体验:

  • 小巧紧凑的堆叠,很节省空间,做原型是个很好的选择
  • 串口波特率,通信密码可配置,玩法可以丰富一些

建议再补充一些上手的文档,例如arduino的源码以及简单的调试方式,以及串口跳线的细节等等。

利用BlueShield + Microduino通过蓝牙4.0遥控led

这个例子中要演示一下如何利用BlueShield和Arduino一起配合,来达到遥控led小灯的效果。

我们准备直接使用Arduino编辑器自带的例子Examples->Communication->Dimmer,这个例子原本是利用串口输入数字,控制led的亮度。在这个基础上加上BlueShield,遥控就变得简单了。

准备材料

  • microduino一个,这相当于一个缩小版的arduino uno
  • Arduino的蓝牙模块BlueShield一块
  • 发光二极管一个
  • 220欧电阻一个
  • 面包板一块
  • 杜邦线若干

最重要的,你手上要有一个搭载了蓝牙4.0的设备比如iPhone 4S/5,iPad mini/4等等。

开始接线

由于MicroDuino和arduino uno是兼容的,所以图中以uno的图片代替。接线图如下

BlueShield + Arduino接线图

实际接线图

实拍BlueShield

测试

  • 下载软件LightBlue
  • 写入测试程序Dimmer到Arduino
  • 打开LightBlue,连上BlueShield,找到D3E60005-8F36-40D6-B2D5-C5D9F5E81869这个characteristic,输入hex例如ff,这是最亮,01是最暗的情况

演示视频

附上Dimmer的源码

BlueShield发布 — Arduino的蓝牙4.0串口透明传输模块

BlueShield

BlueShield是一块可以用于和Arduino通过蓝牙4.0串口透传的模块。

兼容设备

iPhone 5, iPhone 4S, iPad mini, iPad with Retina display (4th gen), iPad (3rd gen) or iPod touch (5th gen).

需要支持蓝牙4.0的设备方可支持

支持iOS 5.1.1及以上版本

详细说明

  • 工作于5V情况下.
  • 串口的工作波段为9600.
  • 串口每次通讯数据的最大长度为20.
  • RX的characteristic为D3E60004-8F36-40D6-B2D5-C5D9F5E81869
  • TX的characteristic为D3E60005-8F36-40D6-B2D5-C5D9F5E81869

什么是BlueShield?

BlueShield是一块支持蓝牙4.0串口透明传输模块,专为Arduino开发板设计,支持大多数Arduino开发板及衍生版本。

BlueShield能干什么?

可以让你的iOS设备例如iPhone 5, iPhone 4S等等(兼容设备请参考上文)和Arduino通过蓝牙4.0通讯,将数据通过串口透明传输。

我能用它来和Arduino, iOS设备做些什么?

  • 通过iPhone传输数据Arduino,完成遥控操作
  • 将传感器信息通过串口传给iPhone以备后续操作
  • Arduino通过iOS设备来访问互联网信息
  • 更多用法,依赖你的想象力..

使用教程

接线方式

  • 5V和GND分别和Arduino的5V和GND相连
  • RXD连接Arduino的RX
  • TXD连接Arduino的TX

注意这里由于电路板标识的原因,RX和TX的接线方式一定按照上述说明连接。

快速测试

  • 打开iOS设备的蓝牙,注意BlueShield不会出现在蓝牙设备列表中
  • 在iOS设备上下载LightBlue App,这是一个用于调试蓝牙4.0的应用
  • 将BlueShield按照上文的接线方式和Arduino连线好
  • 打开Arduino的设备电源,并开启Arduino开发软件,打开串口监视窗口(Serial Monitor),波段为9600
  • 打开应用LightBlue,此时应可以看到一个名为BlueShield的蓝牙设备,点击连接
  • 连接uuid为D3E60000-8F36-40D6-B2D5-C5D9F5E81869的服务
  • 在串口监视窗口发送串口数据,会在iOS的RX收到通知
  • 在uuid为D3E60005-8F36-40D6-B2D5-C5D9F5E81869的characteristic写入数据,将会在Arduino的串口监视窗口看到数据

开发示例源码

常见问题排除

为什么我在iOS的蓝牙设备列表看不到BlueShield?

蓝牙4.0设备是不会显示在列表中的

为什么我开启了蓝牙还是无法连接BlueShield?

请尝试关闭 -> 开启蓝牙。

外观以及布局

长宽分别为 38mm x 19mm,很小巧

BlueShield正面

BlueShield背面

如何购买

用蓝牙4.0控制的RGB小灯

用iOS自带的蓝牙4.0控制的RGB七彩小灯,可以变化多种颜色。目前进度还差很多,如下:

  • 颜色控制的原型已完成
  • 缺乏合适的驱动电源,暂时用小电流的草帽led来做的原型
  • 蓝牙模块采用cc2540
  • app缺少合适的界面以及智能控制

小灯原型近照

led

控制视频如下