手表:售价50美元的黑客智能手表

这款与arduino兼容的手表使用了ESP32微控制器和电子墨水显示屏

5分钟读取
一只手臂戴着智能手表的插图。

手表:售价50美元的黑客智能手表

插图:James Provost

和你们很多人一样,在过去的一年里,我过着一种相当静态的生活,在我的公寓里生活和工作。但随着COVID-19疫苗的推出,我实际上可以考虑回到一种更灵活的生活方式。这也意味着我在很长一段时间内第一次考虑移动设备,这正是发现最近发布的Watchy这是一款开源、可编程、具有无线功能、低功耗显示屏的手表。我可以用它来制作一些个性化的电子产品,当我外出时使用吗?

Squarofumi手表的灰色屏幕不可避免地让人想起卵石smartwatch2012年,该公司在Kickstarter上筹集了超过1000万美元,引起了巨大轰动。Pebble的午餐最终被苹果和其他公司吃掉了,但Watchy在几个关键方面有所不同:它并没有试图成为一款大众市场设备。对于那些愿意与代码纠缠的人来说,这是毫无羞耻的。它也很便宜,只有50美元,而Pebble的价格是150美元,更不用说苹果手表的400美元了。

Watchy是基于一个ESP32单片机它是基于AVR或arm的微控制器的流行替代品,因为它内置的Wi-Fi和蓝牙功能,可以通过Arduino IDE编程。周边硬件包括一个1.5英寸的电子纸显示屏、一个实时时钟模块、一个振动电机、一个三轴加速度计和四个控制按钮。

组装手表只需要很短的时间。它只有四个组件:一个完整的印刷电路板,一个200毫安小时的锂聚合物电池,显示器和一个织物腕带。胶带将屏幕和电池固定在原位。microUSB插座为电池充电,并提供上传新表盘程序的链接。

组件的说明。时间碎片:手表被快速组装起来,用一些方块胶带粘在一起。中央PCB上的插槽提供了一个织物表带,但你可能希望3d打印一个允许使用标准表带的情况下;如果是这样的话,我建议不要用胶带把电池固定下来,这样更容易把它放在箱子里。插图:James Provost

一旦我把所有东西都放在一起,我就按照Sqaurofumi的指示安装了对ESP32的编译器支持以及Watchy库和示例面部代码。我很快就遇到了第一个问题——所有示例代码都无法编译。在网上查了一下,发现macOS版本的Arduino IDE目前与ESP板存在兼容性问题。然而,我能够获得下一个版本的ESP库的最新版本候选,一切都很好。

至少在我把一张脸上传到手表上之前是这样。尽管做了很多手脚,但当我尝试在watch的闪存中存储代码时,还是没有得到响应。我怀疑这是不是macOS的另一个问题,于是在我的iMac上启动了Windows 10,但没有任何乐趣。在GitHub上查询官方支持论坛时,Squarofumi建议我使用“esptools”Python库直接擦除flash来测试连接,但这也产生了负面结果。

当我沮丧地坐在椅子上时,我的目光落在了一个漂浮在我拥挤的桌子上的树莓派,我预感到,我把我的手表插了进去。我在我的pi上安装了esptools -它识别并删除了Watchy的内存!完成后,我把Pi插入我的iMac,然后奇迹般地从Arduino IDE上传了一个程序。所以现在,每次我想上传新代码时,我都必须先在我的Pi上运行它,这让人想起了老式的EPROM紫外线橡皮擦。在写这篇文章的时候,Sqaurofumi还在研究我为什么要进行这种清除仪式,但祈祷上帝,很快就会有更好的解决方案。

不同屏幕的说明。正面:这是一些样本手表的脸包括在手表库。时间可以用完整的字体显示,也可以用位图显示数字,就像右下角的俄罗斯方块一样。左上方的ogham面写着12:33插图:James Provost

从那时起,我开始着手创建自己的表盘。不幸的是,在Watchy网站的文档部分有很多“即将推出”的页面,但介于两者之间可用的和写得很干净的代码示例,我没花太长时间就掌握了如何编码一张新脸。Arduino程序是自动构造的,首先调用一个setup函数,然后是一个主循环函数,通常大部分工作是在后者中完成的。Watchy程序的不同寻常之处在于循环函数是空的,而设置函数是动作发生的地方。这种结构可以让watch在大部分时间都处于休眠状态,从而节省电量,通常每分钟才会醒来一次,以触发功能并更新显示,不过更快的更新也有可能实现。

watch可以显示高达200 * 200像素的灰度字体和位图。我决定用一种传统数字显示器无法使用的方式来显示时间落差这是一种有几个世纪历史的字母表,用来在石碑的边缘垂直刻上爱尔兰语。年轻的时候,我在爱尔兰西南部漫步时,经常会遇到这些有着神秘标记的巨石,所以我把它们与长途跋涉的感觉联系在一起。因为ogham没有数字,所以我用了an在线落差transliterator制作“0”到“9”的图像,并使用另一个Arduino阵列将它们转换成Arduino阵列在线工具Watchy文档中的建议。每个数组表示一个50像素宽的窄位图,所以我可以将它们平铺四个以表示小时和分钟。结果是惊人的有效(并且有一个副作用,我现在第一次可以视读很多ogham字母!)。

“观察脸”不仅可以显示时间:无线连接和JSON解析器库允许您从在线服务中提取有关天气或地铁到达时间等信息,加速计允许手势控制。所以一旦我最终接种了疫苗,我会有我的个性化移动技术来提醒我这是不错的到户外去。

本文发表在2021年3月的印刷版上,题为“破解这款50美元的手表”。

对话(0)

从winzip到猫动图,雅各布·齐夫的算法为几十年的压缩提供了动力

无损压缩先驱获得了2021年IEEE荣誉勋章

11分钟读取
垂直
图片:Rami Shlush
黄色的

无损数据压缩看起来有点像魔术。它的兄弟,有损压缩,更容易理解。有损算法用于将音乐转换为流行的MP3格式,并将数字图像转换为标准的JPEG文件。他们通过有选择性地删除部分来做到这一点,利用科学家们对我们看和听的方式的了解,来确定哪些部分是我们最不会漏掉的。但没有人能证明,最终生成的文件是原始文件的完美复制品。

无损数据压缩就不是这样了。位确实消失了,使得数据文件大大变小,从而更容易存储和传输。重要的区别是,比特在命令下重新出现。这就像魔术师表演中的兔子一样,只要魔杖一挥,它们就会从帽子里消失,然后又出现。

继续阅读↓ 显示更少
Baidu