很高兴能为 Phodal 的新书《自己动手设计物联网》作序,关于作序最经典的故事就是蒋百里和梁启超了。

蒋百里写《欧洲文艺复兴史》,梁启超阅后大为赞赏,并评论此书为“极有价值之作,述而有创作精神”。蒋百里便请梁启超为此书作序。梁启超觉得简简单单写几句不够,既然此书写的是欧洲,那我序言就写写中国吧,于是序言写完竟比原书字数还多。这可怎么办,喧宾夺主了,于是把这篇序取名为《清代学术概论》,单独出版,那请谁序写呢,自然是蒋百里了。

不过话又说回来了,王勃所作的《滕王阁》诗也才 56 个字,又有几人记得这首诗。反倒是为此诗做的序——《藤王阁序》——让他名垂千古。

我自然也没法和王勃以及梁启超比,既然 Phodal 找我作序,只能硬着头皮写一篇了:

designiot

(以下是序文)

很久之前读过一本关于芯片技术的书籍,在书的前言中作者讲述了一个故事。大意是这位教授在某次讲座中说到:“以后芯片的数量肯定是现在的几十倍,到时候我们都会享受到各种芯片强大的计算能力。”

这时一位听众当场起来反驳他道:“难道这栋大厦也会安装几个芯片吗?”随后引来哄堂大笑。

十年后当这位教授再次来到这栋大厦开讲座时,这里已经安装了不止几十个芯片。每个门侧都有一个门禁芯片,走廊里面各种传感芯片负责感应温度变化来检测火情等。

反观现在,如果我们说“以后电视、冰箱、空调甚至菜刀、锅碗、窗户都可以上网”,也一定会迎来不少人的嘲笑。但是我们依然有理由坚信——这些正在慢慢成为现实。

上过大学的人都有感触,自行车、饭卡、女朋友,三者其一如果没有弄丢过,那么你的大学是不完整的。当手机不知道放在哪了,我们可以用朋友的手机拨通这个号码,这样就可以根据来电声音找到手机。但是当钥匙不知道放哪了,除了翻箱倒柜地找之外,貌似没有更好的办法了。如果钥匙也能够接入网络的话,那么我们就可以轻松地定位钥匙于千里之外。

互联网的发展飞速地改变着世界,也改变着我们。而细看互联网的发展你会发现,之前我们使用互联网检索信息,这时的互联网连接的是“人与信息”,可以广义地称之为“人与物”。随着 QQ、微信、人人网等社交网站的兴起,互联网连接的是“人与人”。而下一个互联网的发展方向则是连接“物与物”——我们称之为物联网。

小时候我们总会幻想有一个哈利·波特那样的魔法世界,或者西游记那样的神话世界,而长大后我们则会畅想钢铁侠那样的科幻世界。

下班后当你拖着疲惫的身体坐在地铁上,拿出手机更新自己的状态为下班路上,这时电饭煲会自动开启,里面的米饭进入蒸煮状态,窗户自动关闭,而空调自动打开并根据室内温度调整到最适合的温度……不过最霸气的当然还是每天早上,你睁开朦胧睡眼,大喊一声“要有光”,于是整个屋子都亮了。

虽然如此便捷,但是你是一个保守派,于是你并没有把 root 权限给它们,凡是都要亲自做决定,这时打开E-mail将是你最忙的时候。

冰箱给你发来2封邮件,“牛奶不够了,我已经查询了各大商城和附近超市,建议从家乐福订购打折促销的纯牛奶”,“提示:最新发现您的各项饮食指标不平衡,所摄取的食物中维生素C的含量偏低,是否购买半斤芹菜。”

床发来1封邮件,“最近七天睡眠质量图表如下……”

就连菜刀都发来了 1 封邮件:“我该磨了。”

而这一切天方夜谭似的故事正在工程师们的智慧和努力下成为现实。本书就讲述了如何设计并构建一个完善的物联网系统。

最初在网上了解 Phodal 是那篇在 GitHub 连击 300 天的文章,按活跃度来讲 Phodal 应该是国内最活跃的开源贡献者了。

当作者 Phodal 告诉我,他的书要出版了,让我写个序。我最初以为是 Growth 增长全栈,当他告诉我是关于物联网的时候,确实有些吃惊。当我再重读 Phodal 的《编程之路》时发现,他不仅仅是一名前端加后端的全栈工程师,更是一位软件加硬件的全能工程师。

去年 Phodal 曾向我问 Flarum 接口 API 的情况,当时我正在国内为 Flarum 布道,遂给他介绍了一下 Flarum 的源码、接口、文档,以及中文社区的建设情况。没过几天 Phodal 告诉我,他用 Growth 为 Flarum 做了一个全平台的客户端—— iOS、Android、WinPhone、Windows、Mac、其他。但愿有一天我家的微波炉也可以在 Flarum 论坛发帖。

Phodal 来写这本物联网的书,那么注定这本书将是一本科普与实战相结合的进阶读物。里面不会有太多的名词概念的解释,更多的是如何设计,如何实现。

如果你是一名创客、极客,那么这本书很适合你。

Just enjoy it.


今天这本书已经开始发售了,可以通过以下途径购买:

按照 Phodal 一贯的风格,总是会:一!言!不!合!就!送!书!。关注微信公众号 Phodal 购买(或得到)签名版

Phodal

继续阅读关于 的文章



Fork me on GitHub