从程序员的角度,来拆解物联网系统中的开发工作
扫描二维码
随时随地手机看文章
-
物联网系统
-
设备端的开发
-
不需要网关的设备
-
需要网关的设备
-
WiFi类设备
-
物联网平台开发
-
业务应用开发
物联网系统
这张图从开发者的角度,展示了一个物联网系统中的各种角色,包括它们之间的通信。
- 前端、后端开发:负责物联网平台和业务应用的开发;
- 嵌入式软件:主要是设备端的开发,这部分根据使用的不同技术(或者说硬件模块),又可以分为很多不同的子领域;
- 移动端开发:Android APP, iOS APP, H5 小程序,还有目前的鸿蒙系统APP。
设备端的开发
这里描述的设备,还是属于比较狭隘的范畴,仅仅包含了具有通信功能的物理硬件实体。
我们这里,仍旧以传统意义上的设备来讲解,比如:智慧路灯,智能手表,智能家居里的门磁、报警器等等。
1. 不需要网关的设备
这一类设备,利用 2G/3G/4G 基站来进行数据的传输,产品的形态是:
也就是 单片机 通信模块的方式。
近几年,在传统的消费类电子产品上,添加一个通信模块,让产品达到连网的功能,还是比较流行的。
他们直接在产品中,添加一个ESP8266或者ESP32模组,就立刻升级成一个智能产品,多么高大上。当然了, 价格也同样高大上起来了!
2. 需要网关的设备
如果提到智能家居,可能大部分的人会想到一个词语ZigBee,这是一个局域网的无线通信协议,大概在2005年左右就开始在智能家居中崭露头角了。
这一类产品的开发,包括:网关开发 和 设备开发这两种。
有些网关中,还会集成不同的无线通信协议模块,比如:把ZigBee、BLE、红外等功能,集成在一个网关中,这样的话,不同通信方式的设备就可以在一个系统中共存了。
- 设备的管理(与物联网平台的设备管理不是一个概念);
- 规则引擎(在断网的状态下实现场景联动等功能);
- 通信协议转换(把物理网平台的通信协议转成设备私有协议);
此时,网关就要做更多的工作:
设备的开发工作就相对纯粹一点了,它只需要处理某一种无线协议即可。
- 上行链路(连接到云平台):需要做到协议的统一,也就是说云平台才不关系下面到底是什么样的无线通信技术,云平台只会以统一的数据格式来表示每个设备;
- 下行链路(连接到设备):协议转换,把云平台发来的统一的数据格式,转换成不同的无线通信协议特有的数据格式;
3. WiFi 类设备
这一类产品最常见的就是各种品牌的网络摄像头(IPCamera),比如:小米、360、萤石等等。
在P2P Master(就是一台服务器)的协助下,实现移动端与摄像头之间的网络穿透,直接建立TCP连接。
物联网平台开发
物联网平台,作为连接业务应用和设备的中间层,屏蔽了各种复杂的设备接口,实现设备的快速接入。
业务应用开发
所谓的业务应用,简单来说,就是通过调用物联网平台提供的API,实现设备管理、数据上报、命令下发等业务场景。
------ End ------





