您的下一个智能家居设备是售价30美元的二手Kindle

2021-01-29 03:25:09

如果我们不必/不打算在城里四处走动时随身携带我们的技术怎么办?

正如他指出的那样,许多以前是分开的工具现在已经融合为一个工具:电话。您可能不会再购买其他相机,也可能不会购买计算器。在大多数情况下,这是一个很好的权衡:我们在一款好的单用途设备的触觉享受中所损失的是什么,而我们一直将所有这些设备放在口袋里就能获得十倍的回报。

计算器,照相机,音乐播放器等都很好-当我们需要使用它们时就可以使用它们,而当我们不需要它们时可以忘记它们。但是我们的电话还是我们想要发送给我们的各种数据的纽带-新闻,消息,通知,警报,状态更新。我们想知道的事情而无需寻找它们。

手机实际上并不适合这种环境感知。它通常放在口袋或钱包里,因此吸引我们注意的方式是有限的:嗡嗡声,锁定屏幕上的通知,应用程序图标上的红点。我可以选择让自己被打扰,也可以强制检查以查看最新的警报。

我发现自己想要一个不太干扰环境数据的渠道。我可以一眼瞥一下,而不会全神贯注,也不会对我的手机可能会遇到的其他干扰开放。它应该易于检查,但同样容易忽略。

这是我登陆的设备:一个连接了wifi的Kindle 4,它以简单的激光切割压克力框架安装在墙上。每分钟一次,它会加载我构建的网页的屏幕截图,其中显示了一些我想轻松访问的数据:日历事件,天气,我订购的包裹的状态等。

在进入此设置之前,我做了很多试验。我对结果感到非常满意,甚至对组合起来的简易程度也感到满意。二手Kindle是唯一需要的硬件,您可以以30美元或更低的价格从eBay或BackMarket购买可维修的Kindle。

设置过程分几个步骤,但是如果您以前使用过命令行,则完全可以完成。

对我来说,电子墨水屏幕是此设备最重要的部分。电子墨水有一些局限性(黑色和白色,刷新速度很慢),但就我的目的而言,这很好。电子墨水的魅力在于它能够淡入背景。它不会像背光屏幕那样发出光。当房间的光线昏暗时,并不会引起人们的注意。

电子墨水显示器比计算机更像是墙上的海报。与背光屏幕不同,当您无需查看它时,就可以忘了它在那里。

该设备需要满足以下条件:尺寸合适的电子墨水屏幕,在屏幕上放置东西的处理器以及wi-fi连接。越狱的Kindle(以后越狱的更多信息)非常适合该工作:它将所有这些东西打包到一个令人印象深刻的小包装中,而且超级便宜。您可以使用类似的方法构建类似的内容一个Raspberry Pi和一个独立的电子墨水屏幕,但零件的成本至少为150美元,最终产品的体积要大得多。

Kindle实际上是一台功能强大的小型计算机。它运行基于Linux的操作系统,一旦越狱,您就可以访问命令行,并可以在Linux上的其他任何地方做很多事情。在该项目的先前迭代中,我在Kindle本身上运行了很多代码,以获取数据并在屏幕上绘制内容。尽管存在局限性,并且更新设备上的代码也很难。

只显示一个网页的好处是,我可以轻松进行更新,而不必弄乱Kindle本身。另外,用HTML和CSS进行灵活的布局比在屏幕上手动绘制东西要容易得多。

Kindle实际上具有内置的Web浏览器,单独使用ALMOST就足够了。您可以只构建一个网页,将浏览器指向它,然后将其粘贴在墙上。存在三个问题:

Kindle留在自己的设备上,过一会儿便会进入睡眠状态,并显示其屏幕保护程序。

如果您希望能够更新屏幕上的数据,则页面需要自动重新加载。

Kindle浏览器具有一些无法隐藏的难看的元素(标题和URL栏)。不是最坏的,但不是我想要的那么漂亮。

我的解决方案是运行一台服务器,该服务器获取网页的屏幕截图(比听起来容易),并让Kindle每分钟下载一次该屏幕截图。

有些服务会为您获取网站的屏幕快照,但它们倾向于按屏幕快照收费,这非常昂贵(我喜欢每分钟刷新一次Kindle,这意味着每月更新40,000次)。相反,我编写了自己的小服务器,该服务器使用Puppeteer截取屏幕截图,并使用ImageMagick对其进行转换。它是开源的,您可以在Heroku上免费运行它。一键式安装说明如下。

如果您有点熟悉使用命令行,则可以自己制作。我将重点介绍如何获取显示在Kindle上的网页的屏幕截图。我为自己创建的显示显示了我喜欢可以轻松访问的几种不同类型的数据,每种数据都有其自己的博客文章。您可以从简单的事情开始,例如您最喜欢的天气或新闻网站。

唯一的麻烦是设置Kindle本身,这就是为什么我们将确保您只需要执行一次。

我主要使用第4代(非触摸屏)Kindle,因为它可以完成工作,并且在eBay上可以发现非常便宜。您还可以查看BackMarket,那里的股票有所不同,但我经常看到第四代Kindle的价格为30美元左右。

您可以使用我的脚本来执行此操作-如果您想将其托管在自己的位置,请在此处找到其源代码,但是最简单的选择是创建一个免费的Heroku帐户,然后单击此按钮进行部署:

系统将提示您命名项目(随便叫什么),并输入要在Kindle上显示的页面的URL。您可以稍后通过打开Heroku项目并转到Settings>来更改该URL。配置变量

部署完成后,请记下服务器的URL。如果您使用的是Heroku,则类似于https://the-name-you-picked.herokuapp.com/

按菜单按钮(☰),然后选择“ Wi-fi网络”旁边的“查看”。选择您的家庭网络,如果有则输入密码。

我们需要能够在Kindle上运行自定义软件,而开箱即用是无法做到的,因此我们需要“越狱”它。这可能听起来令人生畏,但实际上并不难-部分原因是因为有一个非常敬业的书呆子社区,他们已经弄清楚如何为每种Kindle机型做到这一点,并且精心维护说明而没有任何回报或希望。承认。您有时会喜欢互联网。

该Wiki页面包含许多Kindle黑客信息,但我们关心的只是“越狱”部分。它链接到两个不同的论坛帖子,这些帖子是越狱信息保持最新的位置。其中一种适用于较旧的Kindle(Kindle 2,DX,DXG,Kindle 3和Kindle 4),另一种适用于较新的Kindle,请确保使用正确的Kindle。论坛帖子中的说明会不时更改,但是您希望下载的zip文件带有“ jailbreak”,其名称与Kindle型号相同。

您将按照随附的说明进行操作,但是TL; DR版本是:打开zip文件,通过USB插入Kindle,复制文件,然后重新启动。

Kindle越狱后,我们需要另外一件事才能通过命令行访问它:USBNetwork。您可以在找到“越狱”下载链接的同一论坛帖子中找到它。这里的安装过程略有不同-请阅读说明,但是您需要做的是插入Kindle,复制.bin文件,然后通过[菜单]->启动它。设置-> [菜单]->更新您的Kindle。

接下来是通过命令行访问Kindle,以便我们可以设置脚本来下载图像。首先,我们需要启用USBNetwork以允许通过USB进行命令行访问:

按下Kindle上的键盘按钮,然后键入; debugOn(确保在开头输入分号),然后输入(↵)以启用调试模式。

再次按键盘按钮,然后输入〜usbNetwork并按Enter(↵)。它可能会暂停一秒钟。完成后,按键盘,输入; debugOff并按Enter。

从计算机上的命令行(例如,在Mac上的“终端”应用中):

你在!在执行任何操作之前,还有一件事:默认情况下,Kindle的驱动器以只读模式安装。要使其可写,请键入mntroot rw,然后按Enter。

这将为您的脚本创建一个空文件并打开以进行编辑。在编辑器中,键入以下内容,替换为URL以下载图像(从上面的步骤2):

那里的第一行下载您的图像并将其保存到名为“ status.png”的文件中。 eips是Kindle随附的用于在屏幕上绘制的程序。前两个eips命令清除屏幕(两次以防万一-尤其是在较旧的设备上,可能会出现重影)。最后一行显示我们的图像。

您现在可以通过像./script.sh这样运行脚本来对其进行测试。您应该可以清楚地看到Kindle屏幕,然后过一会儿您的图像将会出现。

我们希望Kindle自动下载图像并每分钟显示一次。 Kindle的操作系统与其他基于Linux的操作系统一样,都带有cron,该工具可按计划运行任务。要使用它,我们只需要编辑其配置文件:

如果一切正常,您应该每分钟在Kindle屏幕上看到图像刷新。你完成了!您现在可以从计算机上拔下Kindle的电源了。

您可能会想,“ Kindle的电池使用寿命长。我可以运行它而不必将其插入吗?”简短的答案是,不是真的。在该项目的先前迭代中,我努力使它起作用。主要挑战在于,为了保持屏幕刷新,我们不能让Kindle进入睡眠状态-您可能会从用于阅读的Kindle中获得数周的电池使用时间,但这是因为大部分时间它都处于休眠状态。唤醒并且屏幕没有变化时,功耗非常低,但这并非没有。通过大量的努力(每天仅刷新一次,并在不使用Wi-Fi收音机时关闭它),我可以将电池寿命延长至大约一周。出于某些目的,每天只刷新一次是可以的,但是对于需要刷新的数据来说,还不够好。另外,即使每周一次必须将Kindle取下来充电也很烦。

如果我不想在Heroku上托管图片服务器,该怎么办?

您可以托管在任何节点服务器上创建映像的Express服务器。 它使用Puppeteer控制无头的Chrome实例来获取屏幕截图,因此一个要求是主机必须能够运行Puppeteer安装的Chrome二进制文件。 这是一块激光切割的丙烯酸。 不幸的是,我没有制作的模板了,但是我只是测量了Kindle的内部屏幕尺寸,在Illustrator中画了一个矩形,然后又画了一个半英寸的矩形。 我没有激光切割机,所以我是在商店买的-如果您碰巧在纽约,请查看Canal Plastics。 要将Kindle固定在框架上,我只是使用了胶带。 由于Kindle的外形如此矮小,即使从侧面看,您也不会在墙上看到它。