抖音技术能力大揭密!钜惠大礼、深度体验,尽在火山引擎增长沙龙,就等你来! 立即报名>> 了解详情
写点什么

魔豆路由器核心架构

2014 年 7 月 23 日

在 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

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

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


感谢翁伟对本文的整理。

2014 年 7 月 23 日 20:142349

评论

发布
暂无评论
发现更多内容

数据分析实战项目-蛋壳公寓投诉分析

诡途

Python 数据分析 蛋壳公寓

最全模型效果评估报告上线,百度EasyDL助力模型效果快速优化

百度大脑

飞桨 EasyDL

一气之下开发了个群聊机器人

诡途

Python 办公自动化 群聊机器人

启动延时缩短 50%-80%,函数计算发布镜像加速功能

阿里巴巴云原生

Docker 容器 开发者 云原生 存储

致远互联低代码平台让项目管理“秒变”数字化

爱极客侠

数据产品经理实战-由BI到业务洞察

第519区

数据产品 大数据平台 数据分析体系

智能家居操作系统谁最强?海尔智家独有“智家大脑”行业最领先

DT极客

【实战】基于TensorRT 加速YOLO系列以及其他加速算法实战与对比

cv君

人工智能 深度学习 学生党 目标检测 加速

问题排查 | 客户端突如其来的“白屏”等待

蚂蚁集团移动开发平台 mPaaS

html5 移动开发 mPaaS 离线包

最全面试考点与面试技巧,面试必问

欢喜学安卓

android 程序员 面试 移动开发

加入即可服务1.83亿个家!海尔智家让开发者面向亿万家庭

DT极客

一套亿级用户的IM架构技术干货(下篇):可靠性、有序性、弱网优化等

JackJiang

C 语言性能优化:循环展开

1

编程 程序员 性能优化 C语言 循环展开

寻找被遗忘的勇气(二十二)

Changing Lin

3月日更

手把手教学基于深度学习的遥感影像倾斜框算法训练与分析

cv君

人工智能 深度学习 AI 智能 视觉

安卓最全面试考点与面试技巧,大厂直通车!

欢喜学安卓

android 程序员 面试 移动开发

如何优化管理,打造高效的技术团队?

有只小耳朵

团队管理 技术管理 数字化转型

Spark常见的故障排除

五分钟学大数据

大数据 spark 28天写作 3月日更

【疑难杂症】关于Github私有库问题

S

GitHub pycharm

在这里,每一行代码都需要被认真对待

DT极客

python 爬虫之selenium可视化爬虫

诡途

Python 爬虫 selenium

想当程序员,如何判断自己是否适合当前端程序员?

孙叫兽

程序员 前端

【活动回顾】5G时代的直播,将带来哪些低延迟体验

ZEGO即构

Fluid 0.5 版本发布:开启数据集缓存在线弹性扩缩容之路

阿里巴巴云原生

容器 云原生 k8s 分布式数据库 调度

实时 摔倒识别 /运动分析/打架等异常行为识别/控制手势识别等所有行为识别全家桶 原理 + 代码 + 数据+ 模型 开源!

cv君

人工智能 目标检测 视频理解 图像分类

首席AI架构师进阶之旅开启!第4期60位AICA学员硬核开学

百度大脑

百度飞桨 AI架构师

2021年ONNX开发者大会即将召开

百度大脑

百度飞桨 ONNX

飞桨刷新分子性质预测榜单,助力AI药物研发

百度大脑

AI 药物研发 百度飞桨

【实战问题】-- 缓存穿透,缓存击穿和缓存雪崩的区别以及解决方案

秦怀杂货店

Java redis 缓存 架构 分布式

入选Gartner全球AI报告,阿里云解读AI工程化的三大基础能力

阿里云大数据AI技术

机器学习 AI Gartner AI工程化

飞桨中国行首站重庆 解读产业 智造

百度大脑

百度 飞桨 中关村智酷

Study Go: From Zero to Hero

Study Go: From Zero to Hero

魔豆路由器核心架构-InfoQ