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

也简单评下佳明手表

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

    不知道发哪就发这个节点好了. 买佳明主要用来跑步和监测睡眠, 目前使用本能 2X, 简单写点使用感受.

    首先佳明表就别当它是个智能手表了, 你就当它是个有很多传感器的高级单片机, 坏处是不怎么智能, 好处是省电, 续航久, 目前用 2X 不跑步基本可以用一个月, 天天跑, 每天两小时户外 GPS, 开多频多星, 睡觉开血氧检测, 大概十一天, 适合我这种懒人.

    硬件方面

    屏幕大部分型号都是 MIPS, 呈现效果和水果比肯定差一些的, 但好处还是省电, 我都本能黑白屏了所以也不是很在乎这点. 控制主要通过按键, 可能有人更喜欢屏幕操控那佳明就不是太合适.

    表带通常都是硅胶, 个人感觉带着容易过敏, 建议淘宝 pdd 买第三方快拆尼龙编织表带, 也就三五十块, 注意不要磁吸, 磁吸可能影响手表传感器, 虽然磁吸表带用起来其实挺方便的. 建议魔术贴表带, 传统卡扣表带有些卡扣设计也很蠢.

    软件方面

    数据分析主要通过手机 App, 手表上的 App 功能都比较有限, 所以手表实际上主要就是一个用来收集数据的传感器. 手表上的 App 槽点有点多, 经常是一个功能好几个入口, 并且一个应用菜单五六层, 让我想起了诺基亚时代的手机... 并且手机 App 通常需要三个, Connect, ConnectIQ 和佳速度, 就很迷为什么不整合到一个...

    而且一些概念定义比较迷, 它应用类型分为表盘, Widget, App, 数据字段等等, 一开始搞不清这些都是做什么的

    型号方面

    可能很多人会很迷佳明这么多型号有什么区别, 可以去佳明官网拉型号对比, https://www.garmin.com.cn/products/wearables/?cat=watches, 看得会比较清晰

    其实对于跑步来说主要考虑 Forerunner, Fenix, Enduro 系列就行, 个人最喜欢的是 Enduro 系列, 基本上是本能+Fenix 的合体版本了, 超长的续航外加还行的呈现效果, 可惜略贵.

    至于其他功能, 其实佳明各个型号都大同小异, 有些个小功能没有其实无所谓的, 1000 多的 255 的软件功能和 2w 多的 Marq 也差不多, 估计也有个八九成,

    有个槽点是, 佳明的定价策略不是越贵就越好, 比如本能系列, 价格比 255 贵, 但是它除了续航防水有优势, 其他方面其实和 255 一样, 跑步数据还弱点, 最最最坑爹的是, 后来看了开发文档发现, SDK 的 API lv 只有 Forerunner, Fenix, Enduro, Epix 等几个系列是支持最新 5.0 的, 尽管本能系列退出比较晚, 但它 API lv 只支持到 3.4, 并且看起来官方也不打算给它升级了, 导致开发的时候有些 API 用不了, 可玩性就少了许多, 所以实际上只有这几个系列会有固件新功能第一时间支持.

    性价比最高的毫无疑问是 255, 在跑步睡眠监测来说 255 和 Fenix Enduro 是一样的, 没什么区别.

    PS. 佳明的朋友说下半年 Fenix 和本能系列会有新品, 所以 F7 和本能后面应该会降价

    PPS. 再贵再好的表, 数据准确程度都比不过加一根心率带, 比如本能 2X 配了个心率带, 在跑步方面会都比任何其他表来得好, 只不过心率带可能有人用不惯, 以及跑步多带个配件总归不那么舒服. 另一方面心率带虽然准确, 但多这点准确性对于大多数人来说必要性也不大就是, 我自己配了个心率带主要是因为本能自动的跑步功能比 255 弱一点, 需要靠心率带弥补.

    开发方面

    佳明的中文开发资料基本上没有, 一些零散的博客内容也比较浅显, 英文的资料多一点, 官方文档上很多东西也不是很详细, 主要靠官方论坛. 凭印象写点注意点.

    • Monkey C 这个语言基本上就是另一个世界线设计失败的 TS...
    • 网络通信依赖手机
    • 表盘应用无法主动开启 GPS
    • 表盘可以实现网络请求但是需要后台进程, 并且需要手机蓝牙连接(通过手机完成请求)
    • 表盘控制重绘尽量使用 onPartialUpdate() hook 做每秒重绘, 尽量配合 dc.setClip()dc.clear() 做局部重绘, 并且通过 onExitSleep() onExitSleep() 设置标记判断是否休眠, 减少待机状态下耗电, 使用 onUpdate() 每分钟做全量重绘, onUpdate() 调用的时候不会调用 onPartialUpdate()
    • 后台进程只会执行最多 30s
    • 后台进程无法使用 Properties 设置值, 但可以获取值
    • 后台进程不是常驻的, 是每次会启动新的后台进程, 所以全局变量也不会在每次后台任务中保存
    • 前后台通信由于是不同进程所以无法通过全局变量实现, 可以通过 Storage 存储, 也可以通过后台进程Background.exit() + 前台 onBackgroundData() hook(此方法只能单向后台向前台发送数据)
    • 网络请求响应有最大内存限制, 印象中是 32k, 超过了会报错
    • 请求遇到证书错误会报超时而不是证书错误...
    • 模拟器中 UI 绘制的位置偏差非常大, 还是需要真机调试, 真机侧载可以使用 VSC 插件的 Build for Device 构建 PRG 文件, 或者在生产构建的 iq 文件(就一个压缩包)中解压出 PRG 文件, 放入设备 /Garmin/APPS
    • 真机日志使用 System.println() 记录, 默认不会写入日志文件, 需要手动在 /Garmin/APPS/LOGS 中创建 appname.txt 文件才会写入日志
    • 可以使用 SDK 中的 ERA 工具收集生产中用户的崩溃信息
    • 上架应用只能在国际区上架, 国区每天定时同步几次

    广告

    花了两天搓了个表盘, 可以显示空气质量和天气, 用的 AQICN 数据源 https://apps.garmin.cn/zh-CN/apps/54264266-87cd-48ad-a529-ca51de9a9b33

    目前只支持本能 2X, 2X 用户可以试下, 代码就不放了, 写的比较挫

    总结

    佳明的优点就续航久, 传感器数据还算准确, 适合运动的人, 缺点没啥智能, 操作有点反人类, 屏幕一般, 作为开发可玩性不足. 适合全天带, 如果不需要全天带, 可以考虑 255 或水果, 如果只是轻度跑步可能水果会是更好的选择.

    1 条回复    2024-05-23 08:51:32 +08:00
    czyhd
        1
    czyhd  
       185 天前
    我手腕细,要长续航,本能 2s 是唯一的选择。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2396 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 00:21 · PVG 08:21 · LAX 16:21 · JFK 19:21
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.