本站仅作为工作室的博客使用,iBeacon相关的业务请移步 四月兄弟
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,方便放入各种外壳内
实物图
烧好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版本
模块预览图片如下
Microduino-Shield BT4.0简单测试
Microduino 是 Arduino 的兼容开发板。特点是非常小巧,大概比一元硬币大点,但是又保持了原版arduino可堆叠的特性。 前几天收到了@Microduino 赠送的一片蓝牙4.0扩展板Microduino-Shield BT4.0以及Microduino-core+, 时间不是太充裕,先简单试用一下。
到手的图片如下:
图中从左到右依次为:
- 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之类的上手文档,我花了一番功夫才让这个板实际运作起来。
- 首先是把板子堆叠起来,很整齐,不用飞线
- 这块shield默认飞线使用microduino的软串口来传输数据,也就是microduino的D9- RX、D10-TX。我刚开始没有注意到这个,走了不少弯路。下图可以看到这个细节.
- 烧录串口传输的代码,需要用到软串口, 源码见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的图片代替。接线图如下
实际接线图
测试
- 下载软件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,很小巧