惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

SecWiki News
SecWiki News
H
Help Net Security
罗磊的独立博客
Stack Overflow Blog
Stack Overflow Blog
M
MIT News - Artificial intelligence
Jina AI
Jina AI
L
LangChain Blog
K
Kaspersky official blog
I
Intezer
Martin Fowler
Martin Fowler
爱范儿
爱范儿
AWS News Blog
AWS News Blog
The Hacker News
The Hacker News
Recorded Future
Recorded Future
人人都是产品经理
人人都是产品经理
H
Hackread – Cybersecurity News, Data Breaches, AI and More
C
CXSECURITY Database RSS Feed - CXSecurity.com
Spread Privacy
Spread Privacy
Simon Willison's Weblog
Simon Willison's Weblog
U
Unit 42
N
News and Events Feed by Topic
A
Arctic Wolf
G
GRAHAM CLULEY
Microsoft Azure Blog
Microsoft Azure Blog
博客园 - 聂微东
F
Fortinet All Blogs
C
Cisco Blogs
美团技术团队
Vercel News
Vercel News
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
H
Hacker News: Front Page
T
Tailwind CSS Blog
I
InfoQ
宝玉的分享
宝玉的分享
Google DeepMind News
Google DeepMind News
博客园 - 司徒正美
P
Palo Alto Networks Blog
A
About on SuperTechFans
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
云风的 BLOG
云风的 BLOG
TaoSecurity Blog
TaoSecurity Blog
Google Online Security Blog
Google Online Security Blog
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
P
Privacy & Cybersecurity Law Blog
H
Heimdal Security Blog
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Hacker News: Ask HN
Hacker News: Ask HN
O
OpenAI News
博客园 - Franky
Scott Helme
Scott Helme

少数派

派早报:Google 发布 Fitbit Air 等 - 少数派 「新人报到」確認需求,再開始 - 少数派 从 SOLO 独立开发者社区,我看到了越来越多开发者开始做自己的产品 - 少数派 我怎么管理那些"不常做,但总会忘"的生活事项 - 少数派 人形机器人量产元年,数据才是具身智能的“生死线” - 少数派 BuhoLaunchpad 高度还原 Mac 启动台:开发历程与思考 - 少数派 五年陪伴依然不舍,DIY 换壳后让罗技 MX Master 3 继续服役 - 少数派 新玩意 240|少数派的编辑们最近买了啥? - 少数派 一日一技|为什么你应该关闭 iOS 的键盘声音 - 少数派 我做了个插件和 Skills,一键提取任何网站的设计规范 Design.md - 少数派 住在三四线城市的你,该开始录播客了 - 少数派 甘南秘境,大白高国 - 少数派 AI的审美:谁让把我变成川内倫子 - 少数派 返工怎能不烦恼,打工人片单总有一部是你的「嘴替」 - 少数派 为了让「上厕所」更健康,我做了一个小工具 - 少数派 AI + Skill,能够让生成的文章去除 AI 味吗? - 少数派 新玩意|韶音OpenDots ONE 耳夹式耳机 - 少数派 《美满》| 在每一个春天的晚上相爱(362) - 少数派 新玩意|优篮子 PS01 MagSnap 磁吸支架 - 少数派 自我整合手记 | 我开始早睡了:用稳定规则,为自由托底 - 少数派 用龙虾(OpenClaw)两个多月,我最深的12个体会 - 少数派 听歌时间到,12 张你可能错过的 2025 华语乐坛好专辑 - 少数派 承诺能追吗 - 少数派 macOS 26启动台没了? 我做了个不一样的App启动器 - Keboard - 少数派 《四海为家的人》| INTJ对话INTJ(361) - 少数派 你发过的那些黑历史,是时候一次清干净了 - 少数派 新玩意:安安静静玩,越玩越专注:计客密码机 - 少数派 iPad 用户首次体验 Android 平板:vivo Pad6 Pro - 少数派 数据逻辑强 - 少数派 极北行+ | 一路向北,探访日本至北之地 | 001 - 少数派 万字剖析:千问App深度体验报告(2026) - 少数派 在2026年,如何真正防止别人抄袭你的作品 - 少数派 怎么用 50 块搭个 AI 语音助手?我踩了 3 天坑 - 少数派 YeeroAI:让 AI 对话真正成为知识管理的一部分 - 少数派 爬泰山 - 少数派 「旅图显影」 App 更新:这次,我们补上了一点「手感」 - 少数派 假期出门太折磨?我的 23 条经验帮你规划惬意旅行 - 少数派 工作流会变吗 - 少数派 Claude Opus 4.6 怎么用最省钱?我测了 5 种方案 - 少数派 GPT Image 2 让图文并茂不再稀罕 - 少数派 用户侧出发——什么是AI,我要不要学习? - 少数派 找片、转存、整理、播放一条龙!让你的付费网盘值回票价 - 少数派 欢迎试用!日课一问2.0插件 - 少数派 自己做的MDeditor,原本想购买 Typora 试了两次支付不成功,干脆自己做一个 - 少数派 vibe coding了一个 3MB 的小工具,让 ~/Downloads 彻底告别混乱 - 少数派 因为受不了 Mac 的风扇策略,我做了一个风扇控制工具 - 少数派 别只怪模型 - 少数派 Warp 终端的 AI 功能怎么用?我测了一周的体验 - 少数派 AI 写代码老是出 bug?这 5 个配置我后悔没早知道 - 少数派 「新玩意」苹果出相机可能就这样:Sigma BF + 45mm F2.8 DG Contemporary - 少数派 一个面向2030年的AI操作系统是什么样子的:浅谈cola这款有灵魂的Agent - 少数派 别只看写代码 - 少数派 每天解决10个问题,还是一口气攻坚解决400个? - 少数派 AI 交易机器人怎么搭?我用 Claude 跑了一周实盘 - 少数派 Maptoposter Online:把你爱的城市画成艺术海报 - 少数派 Function Calling 怎么用?我测了 3 个模型发现差距真大 - 少数派 Legend Talk:我做了个 AI 圆桌,让 160 位思想家围着你的问题转 - 少数派 如何找到自己的蓝方?在小县城寻找压力测试 - 少数派 语音输入与软件接口|2026年聊AI时,我们都聊些什么(上) - 少数派 混动已经卖爆,纯电又来补刀——钛7闪充版简直“不讲武德” - 少数派 本月玩什么|朋友收藏、识质存在、沙罗周期 - 少数派 为什么要每天坚持输出? - 少数派 Claude API 挂了好几个小时,你的项目有备用方案吗? - 少数派 Function Calling 没你想的复杂——我用它做了个有点用的工具 - 少数派 登录系统立即播放视频或者图片音乐的软件 - 少数派 我为什么创建 FlipHTML5 下载工具 - 少数派 残局没电?多品牌外设电量统一管理软件EasyBluetooth已支持RTSS游戏内显示以及AIDA64 - 少数派 前往通义路的路 - 少数派 太好看了,媲美Sun的个人导航页,NAS部署星云门户 - 少数派 乌黑嘴唇“一键检测”上线了 - 少数派 派早报:Claude AI 接入多个创意软件生态、FILCO 生产方接手品牌等 - 少数派 【更新】BearCLI、Claude 连接器与 MCP 服务器 - 少数派 记了上千条流水,还是看不懂财务?我做了一个让 AI 读懂账本的工作台 - 少数派 MINI R56 升级原厂 Sport 模式 - 少数派 新玩意 | 一棵柠檬树(仿真版) - 少数派 Momenta的“物理AI”野望,需迈过“含摩量”这道关 - 少数派 网页直接投屏控制手机!NAS一键部署PandaScrcpy,流畅丝滑可远程。 - 少数派 众测|邀你一同探索随身 AI 硬件入口 YoooClaw C·ONE - 少数派 2050大会:分享时间是真诚 参会记 - 少数派 iPad 赋能电影创作:国内首部宣纸手绘长片《燃比娃》的幕后故事 - 少数派 AI的审美:我用 8 个大模型给 100 张旅行照片打分 - 少数派 普通人如何破圈?去参加一个本地协会 - 少数派 把极空间的图标全换了,主题DIY全攻略打造你的专属NAS桌面 - 少数派 电子便签墙,帮你实现便签自由 - 少数派 我如何用三个 CLI 工具取代文档创建需求 - 少数派 原来真的有人可以玩一辈子 - 少数派 社区速递 139 | 派友热议三月买了啥、复古单反尼康 Df 体验 - 少数派 06 作品的赏析与评价 - 少数派 TDS REVIEW|索尼 WF-1000XM6 降噪真无线耳机体验 - 少数派 35.98万起售的第二代腾势D9,我看重的不是堆料,而是不凑合 - 少数派 鼠须管 Squirrel 皮肤配置指北 - 少数派 从watch ultra2换到redmi watch6 - 少数派 派早报:阿里巴巴发布视频生成模型 HappyHorse 1.0 等 - 少数派 别迷信1M - 少数派 家人们天塌了!网盘“大封杀”,多个渠道多条路,NAS部署PanHub - 少数派 AI与人勾心斗角!NAS一键部署AI狼人杀,假日休闲必备。 - 少数派 电商必备!Comfyui工作流批量生图插件,一次生成12张!支持Nano banana pro模型 - 少数派 Comfyui工作流配置Gpt-image-2模型教程,0.03/张 - 少数派 OpenClaw第三方APi怎么配置?可使用Gpt-image-2模型 - 少数派 会员社区话题精选 Ep. 103 - 少数派
总是忘打卡?用 iBeacon 提醒你! - 少数派
2020-04-27 · via 少数派

背景

最近公司将打卡系统更换为了企业微信打卡,于是就出现了一个很麻烦的问题,忘打卡。企业微信虽然也有自动打卡,但是还是需要手动点开app,很多时候,我忘记的是手动在手机上点一下app这个过程。怎么提醒自己呢?我想过设闹钟,但是弹性工作制,上午8点到10点之间去公司都可以,只要打够9个小时的卡就行了。所以我什么时候到公司,时间是不确定的,闹钟肯定是不靠谱的,那怎么办呢?

理想情况下当然是基于地理位置提醒了,当我到达或离开公司的时候,能够自动提醒我打卡。我也确实做了尝试——IFTTT,但它的定位服务总是有一些问题,并且手机上一直开着定位服务耗电也是一个问题。所以手机app,基于定位提醒也无法实现了。当然了,我也想过其他的解决方案,比如在公司放一台扫描某个信号的设备,扫描如NFC、蓝牙之类的信号,就能判断我是否到达公司了。但NFC——距离太近,手机蓝牙——需要连接蓝牙耳机并不空闲,所以这个想法就一直搁置了。

后来无意间逛某宝,我看到了iBeacon信标,最终一个躲在角落里瑟瑟发抖的树莓派、一个iBeacon信标完美解决基于地理位置(我是否在公司),提醒我打卡的问题。只要我人到达公司或者下班人离开公司,都会通过server酱推送给微信,提醒自己打卡。因为有华米的手表,所以完全不用担心听不到通知的情况。

按照惯例,先上效果,手机上收到的提醒:

server酱的提醒

iBeacon信标就是这个白白的东西:

iBeacon信标

树莓派躲在角落瑟瑟发抖:

瑟瑟发抖的树莓派

何为iBeacon

Wikipedia这样说:

iBeacon是苹果公司提出的“一种可以让附近手持电子设备检测到的一种新的低功耗、低成本信号传送器”的一套可用于室内定位系统的协议。

当然啦,我在一开始看到这种解释的时候,也是蒙的。用人话来说:iBeacon是苹果推出的一种通信协议(通信协议有很多,比如HTTP),只不过它是基于低功耗蓝牙(BLE)通信的,应用的场景很多,比如室内定位、微信摇一摇周边。

我们可以简单把iBeacon理解为两个角色,发送者(信标)和接收方。信标每隔一段时间,向周围发送广播——“我在这!”接收方在需要的时候,监听信标发送的内容,就能知道周围有几个iBeacon信标以及他们广播的内容了。信标只向外发送数据,不接收数据。接收方只接收数据,不向iBeacon节点发送数据。

iBeacon通信的模型

iBeacon的优势

省电

通常的无线通信协议,需要双方都监听某个信道,来回交换数据。比如我们常用的蓝牙(不是mesh蓝牙),分为主机和从机,我们很明显的感受是,两边都需要开启蓝牙,然后配对,再建立连接。这个过程其实就要求主机、从机都监听某个信道,以完成双向通信的过程。当然了,这种双向通信的需求在某些场景下是必要的,如蓝牙耳机、蓝牙键盘、蓝牙灯泡等。那主机、从机一直监听信道,必然很费电啊,某些场景就是需要省电怎么办呢?这就有了BLE(Bluetooth Low Energy),BLE省电的原理,就是双方协商,我们在某一个时间点一起监听信道收发数据,然后一起休眠一段时间,之后在某个时间点再一起醒过来监听信道收发数据。那都休眠了,当然就省电了。确实,BLE通过休眠,已经非常省电了,那还能不能更加省电呢?当然是可以的,某些场景下不需要双向通信,只需要单向通信,这时候就可以将省电做到极限。比如有这样一种场景,我希望测距,A节点不需要收数据,只需要发数据,B节点只需要监听A节点发射出的信号强度,计算距离就行了,那发数据的A节点不是就能节省大量因为监听信道而消耗的电能了?iBeacon实际上就是这样,iBeacon的信标就是A节点,只定时向外广播,不监听信道接收数据,非常省电。

通信距离合适

由于iBeacon基于BLE通信,而BLE通信的距离通常在几米到几十米之间,所以非常适合室内一个房间或者一个区域内的场景。其他的比如NFC,只有几厘米的识别范围,显然不是很合适打卡提醒这种场景。

兼容性

由于iBeacon本质是一种基于BLE通信协议,所以理论上所有大于蓝牙4.0的设备都可以支持iBeacon。

安全

iBeacon信标不断向外广播数据,会不会泄露用户的隐私?我们以接收方为手机为例来做说明,下图就是一个典型的利用iBeacon的场景,从左至右,iBeacon信标广播了ID,手机收到广播的ID后,向云端请求这个ID对应的内容,云端再将ID对应的内容反馈给手机。在这个过程中,iBeacon的应用,只是信标向手机单向传输的ID信息而已(这个ID是可以自己定义的)。至于手机和云端通信是不是安全,这个就和iBeacon没有什么关系了。

iBeacon的安全性

其他

想使用iBeacon,还需要了解iBeacon广播的内容。我们试想这样一个场景,一家商场里面,两家店是邻居,其中一家无印良品,另一家是宜家,大家都希望用iBeacon信标广播自己店的信息来吸引顾客。这就有一个问题了,前面说iBeacon信标只是广播ID,那怎么区分两家店、两家店卖的商品、两家店所处的位置呢?答案就是iBeaon广播的内容。iBeacon信标向外广播的参数有三个:UUID、Major、Minor。这三个参数是可以自己配置,我们可以按照下图的方式来配置。怎么区分两家店呢?用UUID表示:D9B9EC1F-3925-43D0-80A9-1E39D4CEA95C表示无印良品,宜家设为其他的就行了。怎么区分店的地址呢?用Major表示:1表示旧金山,2表示巴黎,3表示伦敦。怎么区分商品呢?用Minor表示,10代表衣物、20代表厨房用品、30代表汽车用品。

iBeacon广播的内容

UUID就是类似上图长度的字符串,Major和Minor都是0-65535之间的整数。

实现基于iBeacon的打卡提醒

总体上的思路是:从某宝买来一个iBeacon信标,这个信标会自动定时向外广播相应内容,我用树莓派不断扫描周围iBeacon信标发出的广播数据,当第一次检测到iBeacon节点进入时,触发相应的告警,当检测到iBeacon节点离开时,同样触发告警就行了。

硬件环境

  • 一个带有蓝牙且可以连接互联网的树莓派,目前4B、3B+、3B、3A和Zero W均符合要求。
  • 一个iBeacon信标(某宝搜索iBeacon即可买到)。
  • 一台安装了微信的手机,苹果、安卓都可以。

TODO

我将代码整理到了github,感兴趣的小伙伴可以直接拿去用,整体配置的步骤分为三大块:

  • 设置iBeacon信标
  • 设置微信上的server酱(server酱是一款推送工具,借助微信,可以推送我们想要的通知)
  • 设置树莓派

iBeacon信标

  • 配置并记录下好iBeacon信标的UUID、major、minor,另外,也记录下iBeacon信标的mac地址,用相应app配置就行了,这里不做详细说明。
通常我们买到的iBeacon信标都是附带配套APP,可以查看iBeacon信标的mac地址,并且配置UUID、major、minor这三个参数的,这三个参数其实可以随意配置的,如果不知道怎么配置,也可以使用默认的,只要记录下来就行了。需要注意的是,部分卖家不提供安卓配套的APP,自行选择合适的店家即可。

server酱

  • 记录server酱的SCKEY。

登录server酱的网站,登入后绑定微信,记录下SCKEY就行了

树莓派

首先需要确保树莓派已经连接上了网络,之后通过ssh连接 树莓派或者打开图形界面下打开终端。

  • 安装所需要的依赖(使用到了python3)

sudo apt-get -y install python-dev libbluetooth-dev libcap2-bin git

sudo setcap 'cap_net_raw,cap_net_admin+eip' $(readlink -f $(which python))

sudo pip3 install beacontools[scan] requests

  • 下载源码

git clone https://github.com/scarleast/notify-by-ibeacon.git

cd notify-by-ibeacon

  • 修改配置文件,配置文件位于/notify-by-ibeacon/config.json

{

    "timeout": 60,

    "serverchain_receiver": {

        "SCUXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX": {

            "bt_addr": "XX:XX:XX:XX:XX:XX",

            "uuid": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",

            "major": 1,

            "minor": 1

        }

    }

}

    • timeout:超时时间。即树莓派扫描不到相应iBeacon信标多少秒后,触发提醒。
    • serverchain_recerver:使用server酱接收提醒。该字段的value为一个字典,key为server酱的SCKEY,value为iBeacon信标的相关参数。
      • bt_addr:iBeacon信标的mac地址。
      • uuid:希望检测的UUID值。
      • major:用于区分相同UUID值下不同的服务,取值范围0~65535。
      • minor:用于区分相同UUID值、相同major下不同的服务,取值范围0~65535.
  • 启动程序

sudo python3 sudo python3 ble_test.py

尾巴

其实代码刚写完的时候,每次出入公司都挺提心吊胆的,怕程序出问题。但使用几天时间后,每天上班到达相应楼层刚走出电梯门,就收到上班打卡的提醒。每天下班,可能正想着等会儿给女票带一束怎么样的花,完全忘了打卡,刚到达车库就收到下班打卡的提醒。内心会有一种莫名的惊喜感的,这可能是创客DIY的一种成就感吧。

这篇文章中,我把iBeacon应用在了打卡提醒的场景下,其实基于iBeacon这种位置的触发的方式,还可以衍生出非常多的玩法。最典型的就是智能家居的场景了,比如下班离开公司,就自动打开家里的空调、热水器,就再不用定时或者回家路上用APP操作了;比如离开家自动关闭所有灯和不需要使用的开关、电器,回家自动把需要的电器打开。这种你到哪,场景会发生改变的感觉,真的让人感觉挺有惊喜和满足感的。

最后,一些题外话。之后我计划用iBeacon做一些智能家居相关的联动,我是一个喜欢创造一些小玩意儿的人,想想自己整个学生生涯最开心的时刻,不是考上了大学,不是期末考了第一,而是第一次在实验室用手机蓝牙点亮一盏LED灯的那一刻,第一次在实验室用天猫精灵点亮一盏220V电灯的那一刻。最好的科技,是让你感受不到科技的存在。当你用一些私人定制化的开发,让你摆脱手机APP和重复呼唤某某同学的束缚,所到之处,周围的环境按照你的喜好,恰到好处的做出相应的反应,有了一丝灵气,这才是智能家居该有的样子吧。不然,二十年前,楼道的声控灯,也是智能家居,它不也是人来灯开,人走灯灭嘛?