魔豆路由器核心架构

  • 黄冬

2014 年 7 月 23 日

话题:语言 & 开发ArchSummit物联网

在 2014 年 7 月 18 日举办的 ArchSummit 全球架构师峰会中,魔豆路由器创始人黄冬介绍了其公司“魔豆路由器”背后的设计架构。本文由现场演讲整理而成。

分享人简介

黄冬,魔豆路由器创始人,创立了中国带有人机交互的智能路由器理念。之前主持设计和运营过多个大型高容量产品和系统,也是中国 FreeBSD、Python 社区的发起者和积极参与者,啄木鸟社区的创始人之一。

演讲内容

我是互联网老兵,Python 爱好者,原珠三角技术沙龙组委,曾在百度、土豆做过,现创业中,做魔豆路由器项目。

上次(2012 年)架构师峰会,我主讲的是小众语言,是听众最少的分会场;这次讲智能硬件,依旧是小众。

我自从做路由器后,人们总是问我:“你们的路由器跟别人的有什么不同?”我后来就直接拍张照片,用照片来回答说:“我们的智能路由器是有触摸屏的。”

人们接着又问:“那你们的路由器是如何智能?”

“智能”这个问题的回答就比较复杂。智能可以有很多种形式,大到钢铁侠电影中的电脑(Jarvis)表现了人类对智能的理解,其交互形式是极其智能的。小到像扫地机器人,也有智能的一面,因为它会自动寻路,自动充电等等。扫地机器人的智能程度还不够,因为它不会开门。扫地机器人无法与家里的门“互联互通”,这直接限制了它的作用,因而显得“不够智能”。

我们认为,设备的智能体现在以下两点:

  • 方便交互
  • 互联互通

我们若以这两点来看传统路由器,可以发现有以下问题:

首先是“交互性”极差,买回来后从插入网线、设置上网密码、设置无线密码等等步骤均是“妹子不友好”。

这些问题的根源之一是路由器缺乏交互手段,而触摸屏则可以较好的解决这些问题,各个安装步骤均可以在触摸屏上有人性化的提示,并且可以通过触摸进行直接交互。

触摸屏在 modou ROM 操作系统的支持下,尝试解决“方便交互”的问题;“互联互通”的问题则是 STOIS(Smart Things Open Interoperability Standard)智能开放互联标准所尝试解决,标准内容可以参考魔豆开发基地

现有物联网所必须的“互联互通”常有以下两个问题:

  • 非云不可
  • 协议私有

我们要让房间内的电器相互链接起来,何苦需要绕一个圈通过互联网上的云?设备间直接使用最“土”的红外线也是可以连接。我们平时使用的电视遥控器,便是通过红外线连接,理论上不需要云计算就可以让它们互相感知,但是因为“协议私有”的问题,一个牌子的遥控器无法控制另一个牌子的电视。

我们的提议和做法是采用 Dash7 协议。Dash7 协议是美国军方原先使用在火炮控制上的开放标准,它的优点是:

  • 传输距离长,最远可达 7 公里
  • 稳定可靠
  • 省电

缺点在于传输速率低。但对于智能设备操作而言,Dash7 的速率已经完全足够,特别是开关操作,采用 Dash7 的这样的标准,有利于物联网达到在协议上的统一,并且它不需要“云”。

设备有了“互联互通”能力后,亦可反过来提交交互的便利性。

“开关”按钮是交互性最佳的方式。我们开发的“魔豆按钮”是支持 Dash7 协议的开关,它是一个物理按钮,一按便可向周边其它 Dash7 设备(如魔豆路由器)发送一个开关指令。假设每天开关 30 次,一粒纽扣电池可以支持“魔豆按钮”使用 10 年。像最简单的操作 WiFi 开启、关闭,便可以通过按钮来操作,一按 Wifi 开启,再按则关闭。

物联网的联通协议有必要与互联网协议进行对应,以增进物联网应用开发的发展。以下是我们所选择的对应协议:

  • 数据链路层:以太网、WiFi 与 ZigBee、Z-Wave、Dash7
  • 网络层:IP
  • 传输层:TCP、UDP
  • 应用层:
    • 设备互相发现协议:SSDP、NDP、Zeroconf、DNS
    • 安全认证协议:TLS、SSL 与 DTLS
    • 应用层资源调用协议:HTTP 与 COAP

而有了互联互通能力后,我们又可以通过更多的硬件设备(触摸屏、按钮等)来提高交互便利性。

友好交互 + 互联互通,便是智能。


感谢翁伟对本文的整理。

语言 & 开发ArchSummit物联网