量身定做自己的专属Beacon

时间:2022-03-15作者:佚名

Beacon系列的前两篇文章中我已经介绍了Beacon应用开发的概念和AltBeacon广播形式,并详细讲解了如何利用AltBeacon安卓API开发博物馆导览APP原型。在今天的最终篇里,我将向大家介绍如何测试这一博物馆导览APP。

选择蓝牙开发板,启动你的专属Beacon!

我们暂时还没有现成采用AltBeacon形式的Beacon,但手上有不少蓝牙开发板。蓝牙开发板是具有智能蓝牙功能的微控制器(MCU),其内部一般都内置了蓝牙协议栈。由于开发板一般都具有丰富的外设接口和引线,因此开发板通常用来搭建产品的原型可以将编译生成的固件直接烧入到开发板当中,甚至可以直接做成产品功能展示,或是单纯用于试验或学习。我决定用自己手上既有的几块开发板来创建Beacon应用,然后测试一下安卓博物馆导览APP。

我使用的是Bluegiga DKBluetooth Low Energy开发套件和英特尔Edison开发板。Bluegiga开发板的编程采用BGScript脚本语言。英特尔Edison运行的是则Linux,编程语言有多项选择。我习惯用由JavaScript框架驱动的Node.js,这样能找到适用的智能蓝牙的功能包或是库文件。

Bluegiga变身AltBeacon

Bluegiga的BGScript脚本语言简单易懂,且配有Bluegiga框架所提供的丰富的功能库。用BGScript创建Bluegiga应用涉及用文本编辑器创建脚本文件和其他项目配置文件。通过Bluegiga SDK中的软件更新工具,就可以直接通过USB将编译生成的固件烧入到开发板上。

脚本包括变量和数组声明、事件处理器回调函数。回调是编程模型的重要部分,调用标准Bluegiga功能函数会促发相关的回调函数。同样,框架也可以调用事件处理器,以回应脚本之外的情况。

在任何平台上实现Beacon都涉及与通用访问配置文件(Generic Access Profile, GAP)协作,要求设置广播数据包内容、配置广播参数。

Bluegiga AltBeacon实施的要素如下图:

先从变量声明开始。

图1 – 数组声明

广播的设置可以在Bluegiga标准事件处理器“system_boot”中完成,开发板接通电源或重置之后,系统会调用“system_boot”。我先设置了包含Flags字段数组,Flags字段包括许多位,从每一位都能看出Bluetooth Smart和/或Bluetooth BR/EDR的支持方式。

广播数据包中可能包含的字段称为广播数据类型(ADV data types),蓝牙核心规格附录的A部分(数据类型规格)对其有明确定义。广播数据类型的标准结构,包括一个单一字节长度字段 (它的值不包括长度字段本身占有的字节)、一个单一字节数据类型字段。GAP编号文档中定义了数据类型值。

下面是初始过程的首部分代码:

图2 –在system_boot事件处理器中定义flags广播类型

在本系列文章的第一篇中,我介绍了AltBeacon形式并解释了GAP 制造商特定数据广播字段中编码的数据。我在同一数组内的后20字节中填入了这些数据。

图3 – 定义制造商特定数据字段中的AltBeacon数据

然后为Beacon设备设置名称,这一名称今后可以显示在Central设备(主要是智能手机)返回的扫描结果中。它的值是另一个广播类型,因此我将它设立在它自己的数据里。可以看到,指定的本地名称就是AltBeacon。

图4 – 建立用于扫描响应的本地名称

配置广播参数包括调用Bluegiga的一些功能、数组。

相关阅读

桥梁夜景照明起到的作用你一定要了解

虽然桥梁的基础照明可以对桥梁的夜景起到一定的作用,但是桥梁的夜景照明与基础照明有着本质的区别。 桥梁夜景照明 是照明科学与桥梁建筑艺术的有机结合,它拓展了桥梁的景观...
2022-10-13
桥梁夜景照明起到的作用你一定要了解

商业综合体夜景亮化是城市形象的重要组成

城市商业圈、购物广场通常吸引住着诸多客流量,热闹的商业街也是五彩斑斓,灯火璀璨。 商业综合体夜景亮化 不但能吸引住大量客流量,也是城市形象的重要构成部分。比如北京三...
2022-10-02
商业综合体夜景亮化是城市形象的重要组成

景观照明设计需要注意的问题

城市的夜景离不了各种各样漂亮的灯光,高楼大厦在led灯管的渲染下看起来分外好看。因而 景观照明设计 是尤为重要的,假如设计不科学,不但不漂亮,也有很有可能造成灯光很刺眼...
2022-10-10
景观照明设计需要注意的问题

城市照明规划的基础原则

一、服从和服务于城市总体规划 城市总体规划是城市照明 规划建设的依据和基础。夜景规划首先要服从于城市规划,同时要服务于城市规划。根据城市定位进行区域划分,实现多种风格...
2022-07-15

水景景观照明设计不同形式的优缺点分析

作为景观中最常用的元素,水景与照明的结合,又会给人们带来什么启示?接着,我们从几种常见的水景景观照明设计形式,分析了它们的优缺点: 1.水上景观照明 就是在水上建筑中安...
2022-09-03
水景景观照明设计不同形式的优缺点分析

热销商品

电工胶带绝缘胶带PVC电胶布防水阻燃超粘耐温黑胶布汽车线束胶带

电工胶带是一款专业的电力电工用材,具备绝缘、PVC材质特性,可有效保障电气线路绝缘性能,防止电流外泄引发漏电风险。其采用防水、阻燃、超粘、耐温等设计,能适应复杂...
¥ 2.4

氟胶O型圈耐高温密封圈线径1-10mm现货可订做大尺寸胶圈非标异形

氟胶O型圈采用高性能氟橡胶(FKM)材料制成,具有卓越的耐高温、耐油、耐化学腐蚀性能,长期使用温度可达200℃以上,短期可耐受250℃高温。线径规格覆盖1–10mm,现货充足,支...
¥ 0.4

公牛官方旗舰店开关插座空调16A插座五孔10A面板暗装多孔G12白灰

公牛官方旗舰店提供一系列高质量的开关插座和空调配件。这款16A插座五孔面板采用暗装设计,适用于多种安装环境,如墙面、天花板等。它具有10A的电流容量,可以满足家庭...
¥ 5.91

100%桑蚕丝香云纱饰品发圈发夹口罩眼罩发带腰封直播专拍单拍无效

100%桑蚕丝香云纱饰品系列,精选天然桑蚕丝与非遗香云纱工艺匠心打造,质感柔滑亲肤,光泽雅致,尽显东方韵味。包含发圈、发夹、口罩、眼罩、发带、腰封等多款实用配饰,适...
¥ 1

橱柜灯层板柜子线型灯LED免焊接餐边柜子灯感应灯衣柜鞋酒柜灯带

橱柜灯层板柜子线型灯LED免焊接餐边柜子灯感应灯衣柜鞋酒柜灯带是一种用于家居照明的灯具,具有多种款式和功能。这些灯具通常采用LED光源,具有节能、环保的优点,且使...
¥ 4.4

网站栏目