0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何用树莓派构建iBeacon

454398 来源:网络整理 作者:网络整理 2019-12-04 10:30 次阅读

针对特定用户的大都会反乌托邦期货广告,这是汤姆·克鲁斯电影《少数派报道》 所展示的,但这并不是反乌托邦的未来:技术已经存在。尽管它不依赖于使用视网膜进行快速识别,但它确实使用了蓝牙。 iBeacon由Apple开发,旨在为iOS用户提供基于位置的信息,它使用设备附近的位置触发个性化广告或跟踪用户的移动。 Google也创建了自己的通用Beacons规范,尽管目前对它的支持很有限,因为开发人员无法使用它。

如何用树莓派构建iBeacon

毫无疑问,您可以使用通过添加蓝牙低功耗(BLE)USB模块将Raspberry Pi作为iBeacon。更有趣的是,我们可以选择这项技术,而放弃未来的广告方法,而转向在家庭中使用。

iBeacon的工作原理

构建一种智能设备的低能耗蓝牙发射器应用程序可以检测到很简单,但是iBeacon如何工作?

BLE是专为短距离传输而设计的,但是功耗较低(单枚纽扣电池应持续三年)。信标广播小型数据包,称为“广告”(不是营销意义上的数据),并用于触发智能手机应用程序中的操作,可能会显示商业消息,或提示读者执行操作。

除了营销之外,iBeacon通常用于应用程序的topush位置状态,例如在博物馆周围漫步时显示有关展览的信息。

使用Raspberry Pi和蓝牙构建自己的iBeacon加密狗

要将树莓派用作iBeacon,您需要一个蓝牙USB适配器。但是,您不能仅连接任何旧的Bluetooth USB设备。相反,您需要使用BLE(蓝牙低能耗)设备,该设备可以从Amazon或Adafruit相对便宜地购买。您可以在标准的Raspbian安装上运行该项目,可以以通常的方式安装,也可以通过NOOBS安装。

(如果您想要所有这些的快捷方式,PiBeacon映像是RadiusNetworks最好的选择。只需下载

但是,在连接BLE之前,是时候安装一些库了:

sudo apt-get install libusb-dev libdbus-1-dev libglib2.0-dev libudev-dev libical-dev libreadline-dev

现在完成了,您需要安装用于Linux的蓝牙堆栈Bluez。

sudo mkdir bluez

cd bluez

sudo wget www.kernel.org/pub/linux/bluetooth/bluez-5.11.tar.xz

一旦下载,必须构建Bluez 。

sudo unxz bluez-5.11.tar.xz

sudo tar xvf bluez-5.11.tar

cd bluez-5.11

sudo 。/configure --disable-systemd

sudo make

(此步骤可能需要一些时间。去喝杯茶。或者烤一个树莓派。)

sudo make install

您几乎已经准备就绪。发出关闭命令,然后在Pi掉电时,连接BLE。

sudo shutdown -h now 广播PiBeacon

为广播配置PiBeacon ,请首先检查是否已检测到BLE模块

hciconfig

您会注意到,如果检测到BLE模块,则其状态当前为DOWN。

要解决此问题,请配置设备:

sudo tools/hciconfig hci0 up

sudo tools/hciconfig hci0 leadv 3

sudo tools/hciconfig hci0 noscanc

(请注意,最后一行会禁用蓝牙扫描,因为这可能会引起问题。)

重复运行hciconfig的早期命令:

hciconfig

您现在将看到设备状态为“正在运行”。

如何使用PiBeacon进行广告?

因此,您有了一个由Raspberry Pi驱动的iBeacon。但是如何使用它来识别附近的蓝牙设备呢?正如Adafruit解释的那样,信标需要输入广告数据。他们建议使用hcitool命令输入以下字符串:

sudo hcitool -i hci0 cmd 0x08 0x0008 1E 02 01 1A 1A FF 4C 00 02 15 E2 0A 39 F4 73 F5 4B C4 A1 2F 17 D1 AD 07 A9 61 00 00 00 00 C8 00 数据包中有什么?

是的,那是一长串数字和字母。它是用十六进制编写的,尽管我们看不到它,但字符串却分成了几个部分。例如,标记FF表示将遵循制造商特定的数据,在本例中为4C 00,即Apple的ID。可以适当地更改该字符串。

我们将其分解:

如您所见,该字符串在直到您可以看到每个数据段的用途。请注意,ID始终相同,以标识数据包类型,并且数据长度需要转换为十进制才能欣赏数据包的实际长度。

带有FF标记的是128比特ID,如上所述,然后是主要数据和次要数据。这些以分层方式(主要是第一,次要是第二)识别位置或注释。最后,TX Power有助于估算距离。

PiBeacon与iBeacon一样,具有三个范围:即时范围(定位到几厘米),近距离(几米)和远距离(约10米)。任何测量的距离仅是近似值,因为家具,门和墙壁会削弱BLE信号

如果您计划使用iBeacon技术,那么为您的应用提供唯一的ID至关重要。您可能会使用www.uuidgenerator.net之类的文件,或者如果使用aMac,则命令行 uuidgen 实用程序将生成一个唯一的ID。

PiBeacon已启用!

使用输入此信息后,PiBeacon现在正在投放广告。您现在需要做的就是在iOS商店中找到一个合适的iBeacon应用,例如Beacon Toolkit [No Nower Available]来检测它,选择 Listen 。上面的字符串在Beacon中作为UUID提供。工具包应用程序。可以使用其他UUID,但这些UUID不能与该应用程序一起使用:使用价格稍高的Beacon工具箱(4.99美元),该工具箱应该能够识别范围内的大多数iBeacon。

对专用Raspberry Pi感到不满意完成这项任务?不用担心-只要您具有BLE防护罩(您的Arduino入门套件中可能提供),您就可以构建Arduino iBeacon。这是一个演示:

喜欢冒险吗?价值10美元的电子产品和一些焊接技能也可以使您自己动手做iBeacon。

责任编辑:wv

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 树莓派
    +关注

    关注

    113

    文章

    1639

    浏览量

    104737
  • iBeacon
    +关注

    关注

    5

    文章

    42

    浏览量

    30164
收藏 人收藏

    评论

    相关推荐

    宏集方案 | 如何用工业树莓派和MQTT平台打通OT和IT?

    何用工业树莓派和MQTT平台打通OT和IT?
    的头像 发表于 01-05 11:01 178次阅读
    宏集方案 | 如<b class='flag-5'>何用</b>工业<b class='flag-5'>树莓</b>派和MQTT平台打通OT和IT?

    树莓都有哪些功能,是用什么编程的?

    怎么学习树莓树莓和传统单片机的区别是哪些,如果有了树莓该学哪些知识
    发表于 11-09 07:51

    树莓和单片机怎么通信?

    树莓和单片机怎么通信求大神解答?
    发表于 11-08 07:13

    树莓烧录后死机怎么办?

    树莓烧录后死机怎么办
    发表于 10-24 08:06

    树莓如何调整SD卡的分区大小?

    树莓如何调整SD卡的分区大小
    发表于 10-24 06:23

    何用树莓学习Linux内核源码?

    怎么用树莓学习Linux内核源码?​
    发表于 10-20 07:09

    树莓Python编程指南分享

    树莓python编程指南
    发表于 10-07 08:43

    树莓传感器教程

    树莓传感器教程
    发表于 10-07 07:13

    树莓的15个应用

    树莓15个应用
    发表于 10-07 06:42

    树莓3树莓4原理图分享

    提供了树莓3、树莓3B、树莓4版本的原理图
    发表于 09-27 07:58

    树莓全新可更换镜头相机配件官方指南

    树莓相机!树莓推出1230万像素可更换镜头相机配件,配备索尼IMX477传感器,可兼容C和CS卡口镜头,售价50美元!
    发表于 09-26 06:11

    较全的树莓入门资料

    比较全的树莓入门介绍
    发表于 09-25 07:41

    有移植树莓派到飞腾的教程吗

    公司基于树莓开发板做的产品 希望移植到飞腾派上,请大佬指导
    发表于 08-28 10:24

    何用PyArmNN加速树莓派上的ML推理

    NN推理引擎构建一个示例应用程序,将图像分类为火或非火。 本指南使用Raspberry Pi 3或4设备。树莓设备是由Arm CPU驱动的 霓虹灯的架构。Neon是针对Arm处理器的优化架构扩展
    发表于 08-02 15:40

    树莓派机器人船构建

    电子发烧友网站提供《树莓派机器人船构建.zip》资料免费下载
    发表于 07-10 11:33 0次下载
    <b class='flag-5'>树莓</b>派机器人船<b class='flag-5'>构建</b>