V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
lihaoyun6
V2EX  ›  macOS

[开发者自荐] AirBattery: 在 Mac 端获取所有设备的电量并显示在 Dock 或状态栏上

  •  
  •   lihaoyun6 · 2024-04-24 17:52:13 +08:00 · 4862 次点击
    这是一个创建于 368 天前的主题,其中的信息可能已经有所发展或是发生改变。

    软件名称

    icon
    AirBattery

    官网&下载

    官方网站: AirBattery
    下载地址: 点此前往
    系统要求: macOS 11 或以上版本

    一句话简介

    在 Mac 端获取你所有设备的电量信息, 并显示在 Dock 栏或状态栏或系统小组件中
    支持 iPhone / iPad / iPod touch / AirPods / Apple Watch / Magic 键鼠等..

    软件特色

    1. 使用 SwiftUI 编写, 支持状态栏图标/系统小组件/低电量提醒等功能

    2. 零配置全自动获取周边设备电量信息, 适配多种设备

    3. 完全免费开源, 代码透明, 不收集上传任何用户隐私

    注: 部分代码由 ChatGPT 生成或整理

    使用注意

    • 请确保 iPhone / iPad 已信任此 Mac (且至少在 AirBattery 运行状态下使用数据线连接 Mac 一次以进行配对) . 之后只需确保其与 Mac 处于同一局域网中即可.

    • 在设置面板中启用 "通过蓝牙发现 iPhone / iPad(蜂窝版)" 选项, 即可在 iPhone/iPad 不连接到 WiFi 的情况下获取电量信息. 此功能仅支持 iPhone 或插卡版 iPad 设备.

    软件截图

    preview

    更新日志 (2024/04/11)

    v1.2.9:

    • 修复了非"刘海屏" Macbook 设备图标显示为刘海屏的 bug
    • 将设备列表中 Mac 本机的显示名称从设备类型改为本机名称
    本软件完全开源免费使用. 如果用的顺手, 可以在 github 页面最底部扫码打赏.
    您的支持是我创造更多开源软件的动力 0v0
    
    61 条回复    2024-07-27 15:32:58 +08:00
    seanzxx
        1
    seanzxx  
       2024-04-24 23:32:20 +08:00
    这个和 macOS 自带的桌面小挂件很像呀。
    goldenlove
        2
    goldenlove  
       2024-04-24 23:38:10 +08:00
    OP 真高产。
    之前试过款老外做的同类产品,后来发现数据同步不及时就放弃了。
    bao3
        3
    bao3  
       2024-04-25 01:27:56 +08:00
    我今天还在想系统自己的电池小组件其实不准,甚至不显示未连接的耳机。
    vacker
        4
    vacker  
       2024-04-25 03:46:00 +08:00 via iPhone
    用了几天 好用
    MilkyWayne
        5
    MilkyWayne  
       2024-04-25 10:33:00 +08:00
    简单试用了下,非常好用!而且功能确实很实用
    q534
        6
    q534  
       2024-04-25 11:05:06 +08:00
    好用,star 了
    q534
        7
    q534  
       2024-04-25 11:10:16 +08:00
    真的好用,好多这种 status 小工具侵入性太强了,op 的工具可以把拓展功能隐藏在模仿系统电池图标里,不使用时可以忘记。好评!只是操作感觉还有点不丝滑。
    bao3
        8
    bao3  
       2024-04-25 11:38:56 +08:00
    强烈推荐,这个真的是神器~~~已经 star 。路过的朋友真的可以下载试一下。
    Daitabashi
        9
    Daitabashi  
       2024-04-25 15:07:14 +08:00
    反过来可能支持吗? 在 ios 设备上能否获取到 mac 和其他 ios 设备的电量?
    Socrazy
        10
    Socrazy  
       2024-04-26 08:15:25 +08:00
    macOS 不是自带了吗
    lihaoyun6
        11
    lihaoyun6  
    OP
       2024-04-26 10:56:26 +08:00   ❤️ 1
    @Socrazy 已经听到好多次这种质疑了, 质疑之前建议先自己对比一下好吧. 你看看 macOS 自带的电量小组件能不能显示你的 iPhone/iPad/Watch
    xy19009188
        12
    xy19009188  
       2024-04-26 11:29:04 +08:00
    已经用上了老哥,非常棒,就是普通蓝牙键盘和鼠标一直显示 100%,当然这不是老哥问题,是苹果问题
    xy19009188
        13
    xy19009188  
       2024-04-26 11:29:45 +08:00
    @q534 已经有这个功能了
    xy19009188
        14
    xy19009188  
       2024-04-26 11:32:10 +08:00
    老哥整个截图软件吧
    Socrazy
        15
    Socrazy  
       2024-04-26 12:20:51 +08:00 via iPhone
    @lihaoyun6
    嗷嗷,确实没注意,是你的组件跟系统自带的太像了
    Yi
        16
    Yi  
       2024-04-26 13:49:13 +08:00
    在用 airbuudy ,有个问题是电量数据同步不即时,OP 的有优化吗?
    Yi
        17
    Yi  
       2024-04-26 13:49:28 +08:00
    更正 buddy
    lihaoyun6
        18
    lihaoyun6  
    OP
       2024-04-26 14:26:25 +08:00
    @Yi 我自己也买过 AirBuddy, 也苦恼过它的数据更新不及时.
    所以在 AirBattery 里我做了专门的优化, 在尽量不影响设备耗电的情况下, 优化了数据更新频率和管理方法.
    目前 AirBattery 对 iPhone/iPad/Watch/VisionPro 的数据更新延迟在 1~3 分钟左右, 对于 AirPods/Beats 耳机的数据更新延迟大概在 1 分钟上下, 妙控设备和 Mac 本机电量几乎是实时更新的
    lihaoyun6
        19
    lihaoyun6  
    OP
       2024-04-26 14:31:18 +08:00
    @Yi
    耳机和通过蓝牙发现的 iDevice 最好情况下 10 秒左右出结果;
    对于局域网内的 iDevice 最快 30 秒就能更新到数据
    Yi
        20
    Yi  
       2024-04-26 16:40:11 +08:00
    @lihaoyun6 多谢老哥回复,马上试试
    Yi
        21
    Yi  
       2024-04-26 16:55:21 +08:00
    不知道是不是 airbuddy 的同步功能( magic handoff )起了作用,虽然 iPhone 没用线连接过这台 Mac 也没信任过,启用 "通过蓝牙发现 iPhone / iPad(蜂窝版)" 选项和下面两个实验性选项后 iPhone 的电量可以直接显示在 AirBattery 上,这体验,倍儿顺滑
    lihaoyun6
        22
    lihaoyun6  
    OP
       2024-04-26 17:28:03 +08:00
    @Yi 喜欢就好, 哈哈哈哈
    lihaoyun6
        23
    lihaoyun6  
    OP
       2024-04-26 17:30:37 +08:00
    @Yi
    "不知道是不是 airbuddy 的同步功能( magic handoff )起了作用"
    不是的, "通过蓝牙发现 iPhone / iPad(蜂窝版)"这个功能的原理是:
    iPhone 和 iPad(蜂窝版)会通过蓝牙广播, 不断的向周围发送有关自己"个人热点"的状态信息. 你点击 macOS 菜单栏上的 wifi 按钮, 会看到里面有自己 iPhone 的热点信息, 靠的就是解析这个广播数据.
    AirBattery 在启用了"通过蓝牙发现 iPhone / iPad(蜂窝版)"之后, 也会去读取并解析这套蓝牙广播数据, 并从中获取到设备的电量信息. 但是这套数据只包含电量, 却不包含充电状态. 所以才会有下面那个实验性的"推测蓝牙设备充电状态"功能.
    Foralrec
        24
    Foralrec  
       2024-04-26 18:01:16 +08:00
    体验真棒,开机启动了。
    OP 另外一个软件要是能比肩 ScreenStudio 就好了,想买断/捐赠 不想订阅
    lihaoyun6
        25
    lihaoyun6  
    OP
       2024-04-26 20:34:05 +08:00
    2024/04/26:

    QuickRecorder v1.0.7 更新日志:
    - 系统要求降低至 macOS 12.3
    - 添加了快捷键支持
    - 添加了"屏幕放大器"功能
    - 添加了"保存当前帧截图"功能
    - 修复了某些界面中的布局错位问题
    - 开机自启动时默认不会弹出主面板

    https://github.com/lihaoyun6/QuickRecorder/releases/latest
    Yi
        26
    Yi  
       2024-04-27 07:13:09 +08:00
    @lihaoyun6 学到了,哈哈哈。

    除了电量数据刷新更『即时』外又发现一个优点:airbuddy 只会在最初(基本上是刚安装好时)显示与 iPhone 配对的 Watch 的电量,airbattery 则可以一直显示手表电量。

    另外不知道是不是 BUG ,macOS 12 在状态栏点击 airbattery 图标后再点击设置或关于无法打开设置或弹出关于,macOS 14 下无问题。
    lihaoyun6
        27
    lihaoyun6  
    OP
       2024-04-27 08:19:53 +08:00
    @Yi 这个问题我试了一下, 但是暂时无法复现.
    我使用 macOS 12.4 系统的虚拟机进行了测试, 点击菜单栏图标, 并在弹出的列表菜单左上角点击齿轮图标, 是可以打开设置窗口的, 关于也是可以打开的😢
    wellblink
        28
    wellblink  
       2024-04-27 11:26:49 +08:00
    试了一下很好用,有两个建议:1.能否增加 Dock 栏和状态栏同时不显示的功能,因为我只想用到小组件
    2.能否增加小组件背景磨砂玻璃的选项开关,感觉白色一片不太好看
    lihaoyun6
        29
    lihaoyun6  
    OP
       2024-04-27 11:47:20 +08:00
    @wellblink 第一个需求可以做到, 我会在后续版本中添加选项
    第二个需求做不到, 因为只有苹果官方的小组件可以使用高斯模糊背景, 这是一个私有 API, 第三方小组件用不了
    lw0717
        30
    lw0717  
       2024-04-27 14:38:47 +08:00
    OP 厉害了
    jasongin
        31
    jasongin  
       2024-04-27 16:13:49 +08:00
    很好用,感谢
    KyrieJoshua
        32
    KyrieJoshua  
       2024-04-27 18:03:47 +08:00
    支持一下,很符合我的需求!
    SEVLT
        33
    SEVLT  
       364 天前
    好运哥! Big Sur 更新时在 qq 群和你讨论过图标,从那起也一直在用你的 capXDR ~感谢
    SEVLT
        34
    SEVLT  
       364 天前
    前两天也刚把你的 QuickRecorder 收入囊中
    ixuefeng
        35
    ixuefeng  
       364 天前
    感谢大佬,别的都很好,就是为啥手表的电量没在列表里出现?,能做的各种尝试都做了。
    lihaoyun6
        36
    lihaoyun6  
    OP
       364 天前
    @ixuefeng Watch 的信息只有在 iPhone 是"通过 WiFi 发现"的情况下才可以被读取到, 而且 Watch 是不能被独立读取的, 只能通过它所与之配对的主机 iPhone 才能获取到
    ixuefeng
        37
    ixuefeng  
       364 天前
    @lihaoyun6 收到,晚点试试
    klaus1105
        38
    klaus1105  
       364 天前
    可以添加一个开关,使得可以隐藏状态栏和 dock 栏的组件,只保留桌面小组件来看吗?还有可不可以只显示与本机配对的蓝牙设备,我的鼠标 airbuddy 可以显示电量,但是 airbattery 不显示,但是显示一个 M-Pencil ,也不是我的设备。
    CivAx
        39
    CivAx  
       364 天前
    之前用过类似功能的 Cloud Battery ,但是要求 Watch 必须安装表盘组件持续运行才能读取到电量,同时无法读取 Apple Pencil 、鼠标等绑定单台设备的配件,不知道你的这个有解决这种痛点吗?
    lihaoyun6
        40
    lihaoyun6  
    OP
       364 天前
    @CivAx
    AirBattery 通过整合多种数据渠道, 基本上做到了"无客户端 + 无感获取", 不需要在被检测设备上安装任何特殊 App.

    对于 Apple Watch 的电量信息, AirBattery 会通过检索局域网中与之配对的主机 iPhone, 并使用"lockdown proxy"方式通过 WiFi 访问 iPhone 的 lockdown 服务以读取准确的 Watch 实时电量.

    对于 Apple Pencil 我也无能为力. 因为 AirBattery 获取蓝牙设备电量是通过读取 BLE 广播报文实现的. 而蓝牙设备一旦和配对的主机建立连接之后, 通常情况下就不会再向外发射广播报文. 而 Pencil 基本上是和 iPad 实时保持连接的... 真的抢不过来🫠. 而且就算使用某些小手段强行抢断 Pencil 与 iPad 的连接, 读取到了电量, 也会因为 Pencil 没有连接到 iPad 而导致无法正常使用, 得不偿失...
    CivAx
        41
    CivAx  
       364 天前
    @lihaoyun6 #40 cool, lockdownd 读取电量的用法好像还是第一次见,无客户端太棒了,晚点全设备装上试试
    hexiaowu1993
        42
    hexiaowu1993  
       364 天前
    看起来很不错,已经给 up 点 star
    Ch1hao
        43
    Ch1hao  
       364 天前
    很棒,请尽快支持鼠标,,,anywhere3
    lihaoyun6
        44
    lihaoyun6  
    OP
       364 天前
    @klaus1105 @wellblink
    v1.3.0 已更新, 添加了彻底隐藏 App 图标的选项.
    PS: 彻底隐藏后如果需要修改 App 设置, 可以在 App 正在运行的情况下再次运行, 就会显示出窗口了
    mcczzz
        45
    mcczzz  
       363 天前
    我来提个意见,显示的不错,但是也感觉到了一个缺点,比如我已经扫描到了自己的所有的设备,然后电脑还是一直弹出 iphone 蓝牙配对的消息(应该是扫描到了别人的手机),如果在工作场地,体验就很差,有解决的办法吗?(取消扫描后自己的设备也会消失)
    klaus1105
        46
    klaus1105  
       363 天前
    还有个刚发现的问题。一旦打开通过蓝牙找到 idevice ,我的 AirPods Pro 第一代就会一直卡顿没有声音。关掉立马就好了。请开发者大大进一步优化,可能可以降低蓝牙发现的间隔来改善。
    Yi
        47
    Yi  
       362 天前
    @lihaoyun6 macOS 12.7.4 上 1.2.9 版本会出现,刚刚升级了 1.3.0 可以正常点进设置和关于了
    vimcaw
        48
    vimcaw  
       361 天前
    之前试过 Batteries 、Cloud Battery 和 AllMyBatteries ,总是因为更新不及时以及 UI 不够美观(喜欢贴近原生 iOS 电量显示那种)逐渐弃用了,op 这个是我用过最好的,后续可以考虑做 Pro 来进行营收(最好能上 Setapp ),Pro 可以加一些像所有设备的电量历史记录并带有可视化图表( AllMyBatteries 就有这个功能)的功能,方便回溯,还可以统计些充电速度之类的。
    Yi
        49
    Yi  
       353 天前
    @lihaoyun6 再报一个疑似 Bug ,airbattery 开启后 macOS 的 watch 解锁失效。
    zdl0929
        50
    zdl0929  
       352 天前
    默认的小组件能读取 anywhere3 ,但 AirBattery 读取不了
    0619
        51
    0619  
       351 天前
    这个耗电量好像有点高, 我在活动监视器里好几次能看到能耗占用激增
    lihaoyun6
        52
    lihaoyun6  
    OP
       318 天前
    @mcczzz 新版本中添加了"设备黑名单"功能, 可以将经常出现的但不属于你的蓝牙设备加入黑名单, 就不会提示了
    lihaoyun6
        53
    lihaoyun6  
    OP
       318 天前
    @0619 这个问题在最新的 v1.3.7 版本中得到了修复. 平均能好影响在绝大部分时间内都可以控制在 0.0~0.5 之间, 检测设备时的瞬时能耗影响也控制在 3~4 左右了
    lihaoyun6
        54
    lihaoyun6  
    OP
       318 天前
    AirBattery v1.3.7 更新内容:
    - 修复了能耗占用异常升高的问题

    往期重大更新:
    新增了 Nearcast 功能, 可用于获取局域网中其他 Mac 及其外设的电量信息
    为 macOS 14 添加了可配置的单设备小组件, 多个组件可同时显示不同设备
    为更多小组件添加了百分比电量显示, 且允许用户自定义小组件更新频率
    允许用户自定义任意长短的数据更新间隔和小组件刷新间隔
    点击任何 AirBattery 小组件, 即可立即对其进行强制刷新
    修复了小组件在 macOS 11~13 系统中的可用性
    mcczzz
        55
    mcczzz  
       318 天前
    @lihaoyun6 感觉是不是加一个停止搜索的模式 加入自己设备后其实不需要一直去检测其他设备
    netdcy
        56
    netdcy  
       311 天前
    同反馈,默认的小组件能读取 Anywhere3 ,但 AirBattery 不能显示,这是受到什么限制吗?
    lihaoyun6
        57
    lihaoyun6  
    OP
       310 天前 via iPhone
    @netdcy 目前我已经在着手适配罗技键鼠了,现在我的 anywhere2 已经可以正常被 airbattery 读取。测试没有问题的话,近期就会推送的。敬请期待
    lihaoyun6
        58
    lihaoyun6  
    OP
       307 天前
    @netdcy @klaus1105 @zdl0929
    AirBattery v1.4.0 正式版已发布, 可以获取绝大多数第三方键鼠设备的电量信息 (基本上只要是 macOS 自带的小组件能显示的, AirBattery 都可以读取到)
    lihaoyun6
        59
    lihaoyun6  
    OP
       307 天前
    @mcczzz 我在最新的 v1.4.1 更新中添加了一个"白名单模式"功能.
    打开设置, 进入"屏蔽设备"选项卡, 勾选"白名单模式"复选框即可启用.
    勾选启用它的话, 原本的黑名单列表就会变为白名单. 也就是只有设备名位于列表中的设备才会被搜索.
    白名单模式可以在公共场合下更有效的屏蔽过多的杂余设备, 你可以试一下看看
    lihaoyun6
        60
    lihaoyun6  
    OP
       287 天前   ❤️ 1
    @CivAx 排除万难之后, 我终于在 AirBattery v1.4.7 版本中加入了对 Apple Pencil 的支持. 同样是无需安装任何客户端, 只需要更新 1.4.7 之后在设置面板中打开"读取 Apple Pencil"选项. 即可通过 WiFi 从 iPad 上读取 Pencil 的电量!
    Yi
        61
    Yi  
       274 天前
    @lihaoyun6 回报,目前的最新版本 1.4.8 仍存在开启软件后 Apple Watch 无法解锁 Mac 的问题,试过 Nearbility 选项卡只开启第一行两个选项也会出现。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2951 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 14:08 · PVG 22:08 · LAX 07:08 · JFK 10:08
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.