跳到主要内容

关于 Quote/0 的那些你在购买前还不知道的特性

· 阅读需 9 分钟
sqybi
Software Developer @ Metabit

(文末有小彩蛋!)

在一两年之前用 Arduino 套件搞了一个空调温度 PID 控制器,以及给 Titan2 手柄转换器写了一些简单的连发脚本之后,我已经很久没有再碰过嵌入式设备了。

最近看到少数派上新了一款叫做 Quote/0 的设备,就买了一台来玩玩。在下单之前我本来想先看看大家对这个设备的评价,以及这个设备的一些功能细节,但是无论是官方文档还是各种平台上的体验文章,都有很多没有提及的参数和软硬件体验细节完全没人提及过。

想了一下,一百来块钱的价格就算打水漂了也不贵,买来之后正好可以写一篇文章(就是现在这篇)介绍一下这些我在购买前没有找到的信息,供其他想买的人参考。于是我就开开心心地下单啦。

这篇文章中会讲解一些我在购买前比较好奇但是又没有找到介绍的特性,主要集中在产品的功能性和使用体验上,特别是关于 API 调用与刷新机制的一些网上找不到的说明。文章中不会对设备的目标用户、替代产品等商业目标进行评价,也不会评价产品整体的好与坏,每部分的评价都是就事论事。

Quote/0 是什么

这里我就不花太多篇幅来详细介绍这款产品了,直接转一个官方的说明:

Quote/0 搭载高度自由的信息配置系统,可选 摘录RSS天气待办 等模块,即可将内容常亮显示于这块 无扰的墨水屏 上。 无需唤醒手机,重要信息 一瞥即得,让你保持专注,远离信息过载。无需下载 App,仍可通过 NFC 功能唤醒 iOS 轻 App 或网页中查看详情,或是 快捷指令。 一次充电,续航可达一年,真正做到安静长久陪伴。

硬件和外观

电子器件构成

首先感谢知乎网友 @元可可 YoCoco 的拆解记录 透视 Quote/0,这可能是我搜到的最有用的一篇文章了。

从这个拆解中,可以看到 Quote/0 大致的电子器件构成是:

  • ESPC3-20 芯片,几块钱的芯片还带 Wi-Fi 和蓝牙,也就没什么性能可言
  • 一块不到 3 英寸的墨水屏,我测量的大小大约是 6cm x 3cm
  • 一块 800mAh 的电池
  • 一块带 NFC 线圈的电路板
  • 一个塑料外壳
  • 一块软磁铁

虽然我并不太熟悉嵌入式硬件,但是随便在淘宝搜搜,也能看出这一套硬件的成本应该是百元以下的价格区间。

这么看的话,这个产品虽然利润率并不一定很高(毕竟还有服务器和开发成本),但如果有 DIY 能力且想要一套类似的技术方案,它显然毫无性价比可言。但是如果你并没有足够的技术、DIY 能力或设备,那这个产品的价格也不算很离谱。比如我就觉得家里没有 3D 打印机的情况下,买一堆套件之后想要搞个外壳是非常麻烦的事情。

磁吸,但没完全吸住

Quote/0 的背后有一块软磁铁,用于把产品固定在各种金属表面。

但实际的使用中,我明显感觉到这块软磁铁的吸力并不太强。对于完全平面的铁质书架,这个磁铁可以稳稳地隔着一层漆面吸在上面;但是在一些有弧度或空隙的铁质物体上,比如我家的暖气片,这块磁铁就完全吸不住了。

之所以选择暖气片测试,是因为我的电脑桌附近没有特别好的金属平面可以吸附,但是正好有一个高度合适的暖气片。如果我想坐在电脑前面就能看到这块屏幕的话,最好的选择就是吸在这块暖气片上——可惜现在暂时做不到了,除非我自己再贴一层磁铁上去。

当然我想把它贴在暖气片上还有一个原因:作为一个怎么看都是桌搭的产品,Quote/0 竟然没有提供任何磁力或粘贴的桌面支架。甚至如果你想把它贴在一些无磁性表面上,比如这些年很流行的玻璃门冰箱,你还需要自己买一块引磁片,或者加钱买它的七夕套装。

鉴于产品上面带的这块磁铁属实拉跨,我很怀疑七夕套装里面的引磁片到底好不好用,而七夕套装加的这十块钱足够买十片不止的 3M 引磁片了。如果真的有这个需求,还是单独去买 3M 的产品吧。

别出心裁的小设计

Quote/0 的外壳整体上是磨砂材质的。但是在它的右下角,有一小块区域是和其他区域不同的光滑材质。在灯光照射下,从某个特定的角度可以看到这个区域的形状。

一块小的�反光区域
一块小的反光区域

其实这个形状就是 Quote/0 所搭配的手机应用“Dot.”的 logo。使用这种光滑材质来呈现这个 logo,不得不说还是有一些设计上的小巧思在的,我第一次发现这个图案的时候确实有一种非常惊喜的感觉。

反面写有型号和电压等信息的铭牌看起来也是用类似的工艺处理的,但是实在有点难拍,就不上照片了。

虽然这个设计还是不错的,但从图片中也可以隐约看出,这个刚买了没几天的 Quote/0 上面已经出现了一些划痕。这些划痕应该也和这种磨砂材质相关,我不太在意这类产品的划痕问题,但这些划痕的产生看起来几乎是必然的,如果很在意的话在购买之前一定要三思。

网络连接和硬件初始化

连接不上?成本所限

在首次连接的过程中,我和网上很多吐槽 Quote/0 的用户一样,都遇到了网络连接不上的问题。

而多次调整和尝试之后,我发现至少我遇到的这个问题其实非常简单:正如前文所说,或许是因为 Quote/0 的整体成本问题,这块同时带有蓝牙和 Wi-Fi 功能的芯片成本只有几块钱。这也就意味着 Wi-Fi 肯定只能用 2.4GHz 频段了,而且芯片的 Wi-Fi 接收性能也一定好不到哪儿去。

实际上,在路由器绝对不拉胯的情况下,这个芯片和路由器之间只要隔着一堵墙就完全没有办法收到信号。相比之下,我的手机在 5GHz 频段到了隔着两堵墙的厨房阳台也依旧信号稳定,而一些其它 2.4GHz 频段的智能家居设备也不太会出现一堵墙后就完全无法连接的情况。

最终,因为卧室能够不隔墙直连路由器的部分都没有电源,所以这篇文章的后续测试都是在 Quote/0 放在客厅直接与路由器面对面,而我需要在卧室的电脑和客厅之间来回跑的状态下进行的。

错误提示在哪里

除了本身性能受限,设备的错误提示不清晰也是一个小问题。

事实上,无论是最初连接的时候 Wi-Fi 信号差,还是后续把设备移动到信号较差的地方无法刷新内容,设备上都几乎不会有任何直接的关于信号差的提示信息。

在早期不熟悉设备执行逻辑的情况下,确实很难分辨到底是推送的配置出了问题,设备的切换出了 bug,还是单纯没有收到 Wi-Fi 信号。

只能用来固件升级的 USB 口

Quote/0 可以通过自带的 Type-C 口连接到电脑上,并通过网页程序直接进行固件升级。整体升级的操作很顺畅,界面也非常简单,这里要给一个好评。

但是这个 Type-C 口真的只能用来升级固件,并没有任何控制功能。比如这个 Type-C 口上是没有提供任何能够配置设备网络信息的功能的,配网一定要手机 App 连接蓝牙才行。

我大概能理解整体的产品逻辑是:Dot. App 是整个生态链的入口,Quote/0 只是这个生态链下的第一款产品,所以后续所有产品都要走这个统一的入口来配置和使用。而这样的设计就必然会带来一些问题,其中也包括一会儿要讲的所有推送都要走 Dot. 服务器的问题。至于这种设计是好是坏,那就见仁见智了。

API 和数据更新机制

不如求助一下微软改名部

写这篇文章的时候,有一个吐槽我一直忍到了现在:这个产品的命名实在是 太·垃·圾·了

首先产品的名称叫“Quote/0”,而生态链 App 的名称则叫“Dot.”——无论哪个都是在搜索引擎上难以搜到的名字。而 Quote/0 的 API 文档所在的文档站叫“Dot. 手册”,URL 也和 Quote/0 没有任何关系,让搜索引擎上找到 Quote/0 文档站这件事更是变得难上加难。

上次见到的命名这么垃圾的产品叫 Follow,但是现在人家都改名叫 Folo 了,希望 Quote/0 至少能把文档站优化一下吧。

有的时候我真的感觉,正是有这些产品在,微软改名部的存在(并不代表真的存在,至少我在微软的时候没见到过他们)似乎也有了一些意义。

基本的 API 使用

从上面的文档站可以看到一系列关于产品的文档,但是真正和 API 调用相关的只有 API 部分。

API 本身也是非常简单易用,在 App 上申请到密钥之后,把申请到的密钥作为 Bearer token 填到 header 里,并在请求中带上 deviceId(也就是设备的 MAC 地址)就可以了。

卡片切换逻辑

首先,Quote/0 的基本设计是:有很多种不同的卡片,可以将这些卡片加入到轮换列表中,产品会根据配置的时间间隔轮换展示它们。

但是对于 API 调用,这个切换的逻辑有所不同:两个 API(文本 API图像 API)对应了两张不同的卡片,而当某个 API 被调用且 JSON 中包含 "refreshNow": true 参数时,如果设备处于“活跃状态”,那么就会以极短的延迟直接切换到对应的这张卡片。如果设备上已经在展示这张卡片了,则是立刻刷新上面显示的内容。

虽然根据使用体验和文档,这里的“活跃状态”都应该基本等同于“插电状态”,但我在第一天使用的时候确实遇到过在插电状态下从 App 上看到设备依旧不是活跃状态的情况,不知道是有某些特殊的判断方法还是奇怪的 bug,或者也可能只是当时的网络情况不太好。

所以,如果你的需求是希望 API 调用后能够立刻在 Quote/0 上立刻显示出内容,请务必给设备长期通电,并放置在一个网络足够良好,和路由器之间没有任何遮挡的位置。要是受条件所限做不到这两点,那购买这个产品可能就不是一个正确的选择了。

渲染任意内容格式的技巧

Quote/0 的图像 API,是可以在整个屏幕上渲染一张完整黑白图片的。

借助这一点,一个技巧是可以把任何希望显示的内容生成为一张全屏比例的图像,然后把这个图像推送到设备上。这样你就可以拥有不同样式的排版、不同大小的字号、不同字体等等在文字 API 中不支持的功能了。

官方淘宝店并没有给出这块屏幕的参数,我暂时也没有搜到任何关于这块屏幕参数的信息。好在官方图像 API 的文档中有推送一张全屏图片到设备上的样例,我把这张图片的 base64 转回 png 之后,看到它的大小是 296 x 152。

不出意外的话,这应该就是屏幕的像素数了,如果自己渲染图片应该可以参考这个大小。

不要相信云服务

可能是出于后续构建生态链的考虑,Quote/0 的所有 API 请求都需要经过 Dot. 的服务器,再下发到产品上(同时也能从 App 上预览到产品即将展示的内容)。

但之前的智能家居产品(说的就是你,小米)已经告诉过我们答案了:任何云服务都是不稳定的,必须依赖云服务的智能家居早晚会掉链子。

这个不稳定的设计也让这个产品很难真正成为智能家居的一个关键环节。我也看到了一些用户在网上提到自己想用 Quote/0 展示一些智能家居的信息,如果不是作为一个单纯的玩具,这里也只能建议他们再多考虑考虑吧。

彩蛋

因为我暂时也没想好要怎么用这个产品,所以暂时放一个小彩蛋在这里吧:

你可以使用下面的这个按钮,来给我的这个设备发送一条留言。如果你的留言没有被其他人刷掉的话,我或许就能在家里某次路过这个设备的时候看到它了!


发表评论