攀多物联创始人告诉你如何从零开始搭建物联网系统

周彤 9年前 (2015-10-16)

为了降低物联网硬件的开发成本,攀多物联基于esp8266设计了物联网开发板Tisan,并在Tisan实现了他们的嵌入式开发框架及物联网协议。

物联网的概念一直游走在媒体人和科技工作者之间,却总是不温不火的,没有出现一个巨头,也没有什么好的可商业化的平台。

就在去年的某个周末,攀多物联创始人曾锐和几个技术小伙伴聚在了一起,决定启动全套可商用物联网系统的设计和研发,更重要的是,他们打算在不久的将来全部开源。

攀多物联创始人告诉你如何从零开始搭建物联网系统1

一群基情满满的小伙伴便开始了他们的事业,一开始不是所有的人都全职,但是项目慢慢也启动了起来。几个月后,第一个商用版本的研发成功完成。这期间,好几个小伙伴辞去了工作,全职进行研发。他们在没有融资、没有资源的情况下一路走到现在,如今系统已经有模有样了,我们一起来看一下攀多物联是如何从零开始搭建物联网系统的。

一、整体设计

一个物联网系统涉及硬件、软件、云端、app各个环节,必须从整体进行顶层设计,只倚重某个单一的环节进行设计的系统都不具备良好的适用性和扩展性。团队在设计时为了避免这种情况,使系统能够适应最广泛的物联网场景(甚至包括工业场景),每次的架构设计讨论都是所有团队成员参与并进行多次的修改和验证。系统架构如下:

攀多物联创始人告诉你如何从零开始搭建物联网系统2

二、协议

在一个物联网系统中,协议是串通上下层的关键纽带。它分为通信层和业务层。通信层基本上是传统互联网的网络基础设施,负责将数据在物联网系统节点中的传输业务层分为两层,底层是负责物联网场景下数据交换格式的规范,上层是物联网场景需要具体传输的业务数据规范。

攀多物联创始人告诉你如何从零开始搭建物联网系统3

通信层互联网基础架构目前已经非常成熟且通用,但是业务层协议目前还是种类繁多。可以确定的一点是,最终能在物联网应用中称霸的协议,一定也像互联网时代的TCP/IP一样是开放的、免费的。目前符合此特性并使用比较多的有XMPP、MQTT、COAP等。

攀多物联的这套系统最终选择基于MQTT来作为业务传输层主要协议。但是MQTT协议本身的设计是针对开放设备,对于可商用的物联网系统不得不保证设备的安全性和完善的授权机制。所以在实现的过程中进行了一些定制和限制。

目前的物联网系统都是各自针对自己的业务场景设计协议规范。但是曾锐坚持要有一个统一的业务数据规范,只有统一了标准,行业才能更好更健康的发展。他们抽象出物联网节点中传感器和执行器的业务场景,并设计出含有物联网业务数据语义的业务层协议,曾锐说业务层协议目前是全部开源的,目的就是希望能够为广大爱好者和从业者带来参考价值。

三、云端平台

互联网时代,用户上网主要还是靠PC和手机,在未来的物联网时代,上网终端会呈现多样化、海量化趋势。保守估计每人拥有数十套联网设备,数据规模必然也是几何倍增长。所以物联网云端平台注定是一个大规模的海量分布式系统。

目前很多爱好者或者厂商通过用php、nodejs、python实现简单的web接口可以实现设备的联网,但是可以想象,在真正的商用场景中,稳定性、性能、扩展性都必然遭受挑战。攀多物联采用microservice分布式架构,并使用docker降低运维成本。大体的云端架构如下图

攀多物联创始人告诉你如何从零开始搭建物联网系统4

对于海量物联网设备的场景,系统的可用性和扩展性将面临巨大的挑战。曾锐表示目前攀多物联的系统基于go语言开发,已经发布到0.8.0版本,后续会在安装和运维的便捷性上进行优化,并计划在1.0版本时开源发布。

四、嵌入式

物联网硬件的嵌入式软件除了传统部分,必须加入联网逻辑以及传感器、控制器的管理。为了提高开发效率、方便复用,攀多物联设计并开发了轻量级的物联网嵌入式开发框架,并对物联网业务进行了抽象,以便移植到不同的硬件平台。这样就可以保证在不需要更改任何业务层代码的情况下,一个物联网嵌入式应用可以在不同的硬件平台运行。

攀多物联创始人告诉你如何从零开始搭建物联网系统5

曾锐说:“当前很多大企业包括华为、惠普、谷歌等都纷纷推出了物联网操作系统,后续物联网领域会出现多种操作系统共存的局面。不同的操作系统能运行的最低系统资源以及具体应用场景都不尽相同,但是在物联网的上层业务是通用的,这也是我们设计物联网嵌入式开发框架的原因。”

五、安全

近些日子,各种厂商的物联网设备纷纷传出被黑的消息。从TCL到特斯拉,黑客都成功实现破解和随意操控。和互联网时代一样,安全在物联网目前的早期阶段注定是容易被忽略的问题。安全不是一朝一夕的事情,需要从系统开始构建时就考虑,并不断完善安全手段和规则。这方面,攀多物联做了充足的工作:

所有接入层通信都采用tls进行加密,包括对app、业务服务器的开放接口;

用户、设备关键信息进行加密保存;

针对设备有完善的用户鉴权机制;

针对互联网安全场景的其他安全措施。

六、开发板

为了降低物联网硬件的开发成本,攀多物联基于esp8266设计了物联网开发板Tisan,并在Tisan实现了他们的嵌入式开发框架及物联网协议。开发板相关的代码已经全部开源,目前在淘宝进行众筹。

攀多物联创始人告诉你如何从零开始搭建物联网系统6

如果你也是物联网和开源技术爱好者,可以和攀多物联联系学习交流:qq交流群488074716。

最后,记得关注微信公众号:镁客网(im2maker),更多干货在等你!

镁客网


科技 | 人文 | 行业

微信ID:im2maker
长按识别二维码关注

硬科技产业媒体

关注技术驱动创新

分享到