攻略:如何用一天时间做一个开源版的Nest_36氪
上周科技界最大的新闻恐怕就是谷歌花了32亿美刀 收购了大名鼎鼎的智能设备公司 Nest。它的两款产品(智能温控器和烟雾探测器)以优秀的工业设计和颠覆性的功能为人称道。更重要的是,Nest向我们展现了什么才是用户想要的“物联网”产品。
不过,Nest固然好,在中国想要得到它可不容易。它在淘宝上的价格高达1200+人名币。不过不用担心,在这个创客横行的时代,神马硬件都是浮云。买不到?太贵?不用担心,我们来自己动手做一个。
来自于开源硬件领域的 Spark已经利用自家的产品把这事搞定了,而且只是3个工程师花了一天的时间,成本也不过几十美金。让我们一起来看看他们是怎么做到的。
1. 硬件部分
先来看看我们都需要哪些零件:
- 主控板, Spark Core;
- 温度显示屏, Adafruit 8x8 LED矩阵,接口是通用I2C总线;
- 主传感器是 Honeywell Humidlcon的温度湿度传感器,和显示屏共享I2C总线;
- 我们可以暂时利用LED灯来代替我们的空调;
- 你需要让设备知道什么时候有人在家,我们选用 Panasonic PIR motion detector;
- 外壳;
(注:这些零件除了Spark Core之外,你在淘宝上都可以轻松找到,价格也会便宜不少。Spark Core可以考虑用Arduino + Wi-Fi模块来代替,不过程序部分可能会麻烦不少。)
搞定上述零件(除了外壳)后,我们需要把这些东西都用面包板连接起来,这个过程需要大概1个小时。使用面包板能够帮你快速制作出第一版的产品原型,而且便于修改。
下一步,是给我们的“Nest”做一个外壳。官方外壳的材质采用的是玻璃和铝的材质,这两种材料质感不错但是不方便在家里加工。我们选用木材和亚克力板来代替。
首先,我们用CNC来加工两块木头,一个作为固定的基座,另一个则是可以自由旋转的调温装置,顺时针转调高温度。接下来,用激光切割机加工三块亚克力板,一块是正面显示温度的面板,一块是背面固定在墙面上的安装板,第三块连接在可以旋转的那块木头上,使其成为一个电位器。
一旦我们完成了外壳,我们就需要把所有的面包板零件都塞进去,调整一下零件的布局,用焊接的方式固定电路。
2. 软件部分(Spark团队已经将所有代码上传至 Github)
调温器的程序(又称固件)需要实现从传感器读取数据、控制继电器和在屏幕上显示温度等等功能。同时,我们还需要一个无线信号接收器,以便远程从手机或电脑上来控制温度。 当然,调温器还要实现基本的机器学习的功能,以便它能够根据人是否在家而自动控温,这部分代码需要跑在云端上。
之所以称这部分软件为“固”件,是因为相对其他软件而言,这部分代码除了研发团队外,在用户使用过程中基本上不会再接触到。如果我们让设备能够联网,就能通过远程让固件升级,方便迭代。如果你使用了Spark Core,就可以通过他们的在线IDE来更新代码。
调温器的控制部分是通过一个在线云端App来实现的。所以,我们可以改用迭代更快的Ruby on Rails来搞定程序,而不是麻烦的嵌入式C。Spark Cloud通过自带的REST API来连接设备,这意味着你可以将其嵌入到任何可以产生HTTP request的程序中,基本上所有语言都可以做到这一点。用户界面是一个web app,你可以通过上面的javascript来选定你想要的温度。同时,在页面下方会生成一个历史温度的曲线图。
3. 连接
如果你分别搞定了硬件和软件,最简单的把它们连接起来的方法就是通过一个Wi-Fi模块,这样就可以让你的产品成为一个本地Wi-Fi的终端。Spark Core自带Wi-Fi模块,并且因为其内置的微处理器,连接变得非常容易。Spark Core能自动通过加密通道连接Spark Cloud,你无须再额外构建代码来操作Wi-Fi模块,或者是适配通讯协议。
4. 组装
现在,调温器的所有部分都已将完成了,下一步就是把这些零件都塞进我们的木头外壳中,再把它固定在墙上。想必大家在这部分都不会花太多时间。装配好之后,我们的Nest就算正式完成啦!
整个制作过程花费了70美金(其中,Spark Core 39美金);木材和亚克力板很容易找到。时间上,3.5个工程师从第一天上午十点搞到第二天凌晨3点半(有一个人提前上床睡觉去了)。提前做的工作只是去订购一些电子元件。
另外, Spark团队强调,这篇文章的目的并不是说任何人都可以在一天时间内创立一家价值32亿美金的公司……但是,现在这事已经变得没那么难了。
“所有的巨头都来自于一开始几百块钱的产品原型。”所以,你还在等什么?