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

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

  •  
  •   lihaoyun6 · 245 天前 · 3942 次点击
    这是一个创建于 245 天前的主题,其中的信息可能已经有所发展或是发生改变。

    软件名称

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

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

    https://github.com/lihaoyun6/QuickRecorder/releases/latest
    Yi
        26
    Yi  
       242 天前
    @lihaoyun6 学到了,哈哈哈。

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

    另外不知道是不是 BUG ,macOS 12 在状态栏点击 airbattery 图标后再点击设置或关于无法打开设置或弹出关于,macOS 14 下无问题。
    lihaoyun6
        27
    lihaoyun6  
    OP
       242 天前
    @Yi 这个问题我试了一下, 但是暂时无法复现.
    我使用 macOS 12.4 系统的虚拟机进行了测试, 点击菜单栏图标, 并在弹出的列表菜单左上角点击齿轮图标, 是可以打开设置窗口的, 关于也是可以打开的😢
    wellblink
        28
    wellblink  
       242 天前
    试了一下很好用,有两个建议:1.能否增加 Dock 栏和状态栏同时不显示的功能,因为我只想用到小组件
    2.能否增加小组件背景磨砂玻璃的选项开关,感觉白色一片不太好看
    lihaoyun6
        29
    lihaoyun6  
    OP
       242 天前
    @wellblink 第一个需求可以做到, 我会在后续版本中添加选项
    第二个需求做不到, 因为只有苹果官方的小组件可以使用高斯模糊背景, 这是一个私有 API, 第三方小组件用不了
    lw0717
        30
    lw0717  
       242 天前
    OP 厉害了
    jasongin
        31
    jasongin  
       242 天前
    很好用,感谢
    KyrieJoshua
        32
    KyrieJoshua  
       242 天前
    支持一下,很符合我的需求!
    SEVLT
        33
    SEVLT  
       241 天前
    好运哥! Big Sur 更新时在 qq 群和你讨论过图标,从那起也一直在用你的 capXDR ~感谢
    SEVLT
        34
    SEVLT  
       241 天前
    前两天也刚把你的 QuickRecorder 收入囊中
    ixuefeng
        35
    ixuefeng  
       241 天前
    感谢大佬,别的都很好,就是为啥手表的电量没在列表里出现?,能做的各种尝试都做了。
    lihaoyun6
        36
    lihaoyun6  
    OP
       241 天前
    @ixuefeng Watch 的信息只有在 iPhone 是"通过 WiFi 发现"的情况下才可以被读取到, 而且 Watch 是不能被独立读取的, 只能通过它所与之配对的主机 iPhone 才能获取到
    ixuefeng
        37
    ixuefeng  
       241 天前
    @lihaoyun6 收到,晚点试试
    klaus1105
        38
    klaus1105  
       241 天前
    可以添加一个开关,使得可以隐藏状态栏和 dock 栏的组件,只保留桌面小组件来看吗?还有可不可以只显示与本机配对的蓝牙设备,我的鼠标 airbuddy 可以显示电量,但是 airbattery 不显示,但是显示一个 M-Pencil ,也不是我的设备。
    CivAx
        39
    CivAx  
       241 天前
    之前用过类似功能的 Cloud Battery ,但是要求 Watch 必须安装表盘组件持续运行才能读取到电量,同时无法读取 Apple Pencil 、鼠标等绑定单台设备的配件,不知道你的这个有解决这种痛点吗?
    lihaoyun6
        40
    lihaoyun6  
    OP
       241 天前
    @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  
       241 天前
    @lihaoyun6 #40 cool, lockdownd 读取电量的用法好像还是第一次见,无客户端太棒了,晚点全设备装上试试
    hexiaowu1993
        42
    hexiaowu1993  
       241 天前
    看起来很不错,已经给 up 点 star
    Ch1hao
        43
    Ch1hao  
       241 天前
    很棒,请尽快支持鼠标,,,anywhere3
    lihaoyun6
        44
    lihaoyun6  
    OP
       240 天前
    @klaus1105 @wellblink
    v1.3.0 已更新, 添加了彻底隐藏 App 图标的选项.
    PS: 彻底隐藏后如果需要修改 App 设置, 可以在 App 正在运行的情况下再次运行, 就会显示出窗口了
    mcczzz
        45
    mcczzz  
       240 天前
    我来提个意见,显示的不错,但是也感觉到了一个缺点,比如我已经扫描到了自己的所有的设备,然后电脑还是一直弹出 iphone 蓝牙配对的消息(应该是扫描到了别人的手机),如果在工作场地,体验就很差,有解决的办法吗?(取消扫描后自己的设备也会消失)
    klaus1105
        46
    klaus1105  
       240 天前
    还有个刚发现的问题。一旦打开通过蓝牙找到 idevice ,我的 AirPods Pro 第一代就会一直卡顿没有声音。关掉立马就好了。请开发者大大进一步优化,可能可以降低蓝牙发现的间隔来改善。
    Yi
        47
    Yi  
       239 天前
    @lihaoyun6 macOS 12.7.4 上 1.2.9 版本会出现,刚刚升级了 1.3.0 可以正常点进设置和关于了
    vimcaw
        48
    vimcaw  
       238 天前
    之前试过 Batteries 、Cloud Battery 和 AllMyBatteries ,总是因为更新不及时以及 UI 不够美观(喜欢贴近原生 iOS 电量显示那种)逐渐弃用了,op 这个是我用过最好的,后续可以考虑做 Pro 来进行营收(最好能上 Setapp ),Pro 可以加一些像所有设备的电量历史记录并带有可视化图表( AllMyBatteries 就有这个功能)的功能,方便回溯,还可以统计些充电速度之类的。
    Yi
        49
    Yi  
       230 天前
    @lihaoyun6 再报一个疑似 Bug ,airbattery 开启后 macOS 的 watch 解锁失效。
    zdl0929
        50
    zdl0929  
       229 天前
    默认的小组件能读取 anywhere3 ,但 AirBattery 读取不了
    0619
        51
    0619  
       228 天前
    这个耗电量好像有点高, 我在活动监视器里好几次能看到能耗占用激增
    lihaoyun6
        52
    lihaoyun6  
    OP
       195 天前
    @mcczzz 新版本中添加了"设备黑名单"功能, 可以将经常出现的但不属于你的蓝牙设备加入黑名单, 就不会提示了
    lihaoyun6
        53
    lihaoyun6  
    OP
       195 天前
    @0619 这个问题在最新的 v1.3.7 版本中得到了修复. 平均能好影响在绝大部分时间内都可以控制在 0.0~0.5 之间, 检测设备时的瞬时能耗影响也控制在 3~4 左右了
    lihaoyun6
        54
    lihaoyun6  
    OP
       195 天前
    AirBattery v1.3.7 更新内容:
    - 修复了能耗占用异常升高的问题

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