物联网这个概念已经火了很多年了。奇怪的是,市场对这个概念的反应总是很温和。
随着5G的快速普及,不知道这个领域还能不能再火起来。
但无论如何,很多大学已经把物联网作为专业了。
在本文中,我们将从开发者的角度,简单了解一下物联网领域中使用的技术堆栈以及开发工作。
物联网系统
从开发者的角度来看,这张图展示了一个物联网系统中的各种角色,包括他们之间的通信。
如果从软件开发岗位的角度来划分这些模块,这个系统主要包括:
前端和后端开发:负责物联网平台和业务应用的开发;
嵌入式软件:主要是设备的开发,根据使用的技术(或硬件模块)不同,可以分为很多不同的子领域;
移动开发:安卓APP,iOS APP,H5小程序,以及现在的鸿蒙系统A应用市场PP。
设备端的开发
这里描述的设备还是属于比较狭义的范畴,只包含具有通信功能的物理硬件实体。
如果从广义上看物联网,任何可以接入网络的东西开发老婆接受别的男人都可以称为设备,或者别的什么。
比如给一件衣服贴上电子标签,也是物联网中的一个小分子。
这里还是用传统设备来解释,比如:智能路灯、智能手表、智能家居中的门磁、报警器等等。
如果对装备的发展进行分类,从通信方式的角度来划分就很清楚了。
如果一个设备要接入网络,它肯定需要通信功能,包括:应用分身有线通信和无系统集成项目管理工程师线通信。
在一些传统行业,或者对通信质量要求较高的场景,比如一些工业场景,部署有线网络是很常见的。
对于一些民用领域,大部分都是以无线通信为主。
1. 不需要网关的设备
这类设备使用2G/3G/4G基站传输数据。产品形式是:
也就是单片机的通信模块。
通信模块包括GPRS模块、4G模块、NB-IoT等应用宝下载。
开发这类产品时,单片机负责产品的功能部流程再造分;通信模块负责通信部分。
MCU与通信模块之间的通信在硬件上多通过UAR联网控制T口,在协议上可以使用AT指令或其他专有协议。
近年来,在传统的消费类电子产品上增加一个通信模块,使产品可以联网,已经相当流行。
这类产品的软件开发和一般的单片机开发没什么流程图模板区别。无非是通过网络增加一些要上系统逼我去炫富报的数据或者从网络接收控制指令。
只要你熟悉所使用的通信协议。
以上产品形态需要硬件重新设计,更开发者模式适合从零开始的产品开发。
那么对于那些已有的产品,想接入物联网平台,但又不想重新设计,该怎么办呢?
有需求的地方就有供应!
比如一些扫地机和吸尘器联网核查是什么的厂商,因为找不到其他的创新点和突破点,开始滚滚而来,纷纷加入联网功能。
iaoimg.com/origin/p开发者模式gc-image/93ba5fdb651742c4979fad125a08edaf?from=pc" class联网直报="aligncenter j-lazy">他应用们直接在产品中,添加一个 ESP8266 或者 ESP32 模组,就立刻升级成一个 智能产品 ,多么高大上。当然了, 价格也同样高大上起来了!
ESP8266 或者 ESP32 与一般的通信模组有一点不一样:它是一个 完整的单片机 ,只不过它们的主要用途就是专门用来 解决通信问题 ,而不是一般的功能控制。
2. 需要网关的设备
如果提到智能家居,可能大部分的人会想到一个词语 ZigBee ,这开发次元世界是一个局域网的 无线通信协议 ,大概在 2005 年左右就开始在智能家居中崭露头角了。
与 ZigBee 类似的无线通信协议还有: ZWave 、 RF433 、 BLE 等等。
它们的作用都是类似的:都是为了让多个应用宝设备能够 组网 ,节点之间以应用商店多系统之家跳的方式传输数据,达到通信的目的。
这些数据最开发商终会汇总到一个开发商最怕的投诉电话叫做 网关 的设备,然后与云端流程图的服务器进行通信。
这一类应用分身产品的开发,包括: 网关开发 和 设备开发 这两种。
网关的开发联网控制在哪里设置稍微复杂一些。从功能上来说,网关需要实现:
设备的管理(与物联网平开发自己台的设备管理不是一个概念);
规则引擎(在断网的状态下实现场景联动开发者等功能);
通信协议转换(把物联网平台的通信协议转成设备私有协议);
有些网关中,还会集成不同的无线通信协议模块,比如:把 Zi开发自己gBee 、 BLE 、 红外 等功能, 集成在一个网关中 ,这样的话,不同通信方式的设备就可以在一个系统中共存了。
此时,网关就要做更多的工作:
上行链路(连接到云平台):需要做到协议的系统供应商统一,也就是说云平台才不关系下面到底是什么样的无线通信技术,云平台只会以统一的数据格式来表示每个设备;
下行链路(连接到设备):协议转换,把云平台发来的统一的数据格式,转换成不同的无线通信协议特有的数据格式;
设备的开发工作就相对纯粹一点了,它只需要处理某一种无线协议即流程图软件可。
这一类设备的开发,一般都是使联网控制用相应的 通信模组 ,底层的协议栈都是提供好的。
开发者需要做的工作主要就是熟悉应用层的通信协议,完成指令的解析和数流程图用什么软件做据上报工作。
3. WiFi 类设备
这一类产品最常见的就是各种品牌的 网络摄像头(IPC应用商店下载amera) ,比如:小米、360、萤石等等。
摄像头如果作为一个 单品 来使用,只要把家中开发次元世界的 WiFi SSID 和 密码 配置到摄像头中,就可以使用官方的 APP 来远程查看实时画面了。
如果把摄像头 集成 在一个智能家居的系统中,就需要二次开发。
摄像头厂家一般都会提供 SDK ,作为开开发自己发者需要做的事情就是:调用 SDK 中的 API 函数,获取实时画面、发送指令控制摄像头云台转动。
这里系统类小说有一个底层的技术很有意思: P2P 网络穿透 。
我开发者们买来一个网络摄像机,是 不可能 有一个独立的 IP 地址的。也就是说:其他设备(手机)是没办法通过 IP:P开发商ORT 的编程方式,直接连接到摄像头的。
但是为了实时画面的传输质量,为了减轻服务器的转发压力,手机最好可以直接与摄像头建立 TCP 通信。
此时, P2P 网络穿透给这种需求提供了可能。
在早应用商店下载期的时候,应用汇深圳有大批的摄像头厂商使用的都是 TUTK 这家公司的 P2P 网络穿透服务。
在 P2P Master (就是一台服务器)的协助下,实现移动端与开发者模式怎么关闭摄像头之间的网络穿透,直接联网核查是什么建立 TCP 连接。
物联网平台开发
物联网平台,作为连接流程再造业务应用和设备的 中间层 ,屏蔽了各种复杂的设备接口,实现设备的快速接入。
目前,做的比较大的就是那么几家巨头: 亚马逊 的 AWS 平台, 阿里云、腾讯、华为 的物联网平台。
以上这几家的 物联网平台 ,仅仅是他们的云平台中的一个组成部分。
它们的目标就是提供一个通用的通信标准和 SDK ,快速的接入各种硬件设联网神器备,通过设备应用宝app官方下载接入数量、通信数据的流量应用宝app下载,以及提供各种业务层的服务来赚钱。
另外,还有一些下一梯队系统之家的公司,开发了自己的、专门针对物联网领域的平台。由于知名度不高,只能以合作开发项目的形式来吸引硬件设备的接入。
从开发的角应用分身度来看,物联网平台的开发 技术栈 主要是 后台开发 。由于这部分技术栈我不太熟悉,就不去深入讨论了。
物联网平台 最宝贵的就是数据 ,如何联网控制在哪里设置利用这些数据,这就是业务应用的事情了。
业务应用开发
所谓的业务应用,简单来说,就是通过调用物联网平台提供的 API ,实现设备管理、数据上报、命令下发等业务场景。
设备管理是在设系统流小说备接入基础上,提供了更丰富完备的设备管理能力,简化海量设备管理复杂性,提升管流程图模板理效率。
从物联网平台的 设备和数据 中,可以衍生出各种不同的流程图怎么画业务应用场景,这就要根据实际的系统功能来进行按需开发了。
比如:智开发者慧城市、智慧照明、智慧工业、车联网等行业应用。
涉及到的 技术栈 是: 前端 和 后端 开发。