从程序员的角度,来拆解物联网系统中的开发工作
物联网 的概念已经被炒了好多年了,奇怪的是:市场中对这个概念的反应总是 不愠不火 。
随着 5G 的迅速普及,不知道是否能够再次把这个领域带火起来。
但是不管怎样,很多大学已经把物联网这个专业给坐实了。
这篇文章,我们就从开发者的角度 ,来简单看一下物联网这个领域使用了哪些技术栈 、有哪些开发工作 。 物联网系统
这张图从开发者的角度 ,展示了一个物联网系统中的各种角色,包括它们之间的通信。
如果从软件开发 岗位 的角度来对这几个模块进行划分的话,这个系统中主要包括: 前端、后端开发:负责物联网平台和业务应用的开发;
嵌入式软件:主要是设备端的开发,这部分根据使用的不同技术(或者说硬件模块),又可以分为很多不同的子领域;
移动端开发:Android APP, iOS APP, H5 小程序,还有目前的鸿蒙系统APP。 设备端的开发
这里描述的设备,还是属于比较 狭隘 的范畴,仅仅包含了具有 通信功能的物理硬件实体 。
如果从 广义 的物联网来看,任何物品,只要能够接入网络,都可以称之为设备,或者称之为 thing。
比如:把一件衣服附上一个 电子标签 ,也是物联网的一个小分子。
我们这里,仍旧以传统意义上的设备来讲解,比如:智慧路灯,智能手表,智能家居里的门磁、报警器等等。
对设备端的开发进行分类的话,从 通信方式 这个角度来进行划分比较清晰。
一个设备要想接入到网络,肯定需要通信功能,包括: 有线 通信, 无线 通信。
在一些传统行业,或者对通信质量要求比较高的场景下,部署有线网络还是比较常见的,例如一些工业场景中。
对于一些民用领域, 大部分 还是以无线通信为主。 1. 不需要网关的设备
这一类设备,利用 2G/3G/4G 基站来进行数据的传输,产品的形态是:
也就是 单片机+通信模块 的方式。
通信模块包括:GPRS 模块、4G 模块、NB-IoT 等等。
在开发这一类产品的时候, 单片机 负责产品的功能部分; 通信模块 负责通信部分。
单片机与通信模块之间,在 硬件上 通过 UART 口通信居多,在 协议上 可以通过 AT 指令,或者其他的一些专有协议。
近几年,在传统的消费类电子产品上,添加一个通信模块,让产品达到连网的功能,还是比较流行的。
这一类的产品的软件开发工作,与一般的 单片机 开发并无两样。无非是增加了一些通过网络来上报数据,或者从网络接收控制指令。
只要熟悉所使用的 通信协议 即可。
上面的这种产品形态,需要对硬件进行重新设计,比较适合 从零开始 的产品开发。
那么对于那些已有的产品,如果想连接到物联网平台上,但是又不想重新设计,又该怎么办呢?
有需求就有供给!
比如:一些扫地机、吸尘器的厂商,由于找不到其他可以创新、突破的点,于是就开始内卷,纷纷加上连网的功能。
他们直接在产品中,添加一个 ESP8266 或者 ESP32 模组,就立刻升级成一个 智能产品 ,多么高大上。当然了, 价格也同样高大上起来了!
ESP8266 或者 ESP32 与一般的通信模组有一点不一样:它是一个 完整的单片机 ,只不过它们的主要用途就是专门用来 解决通信问题 ,而不是一般的功能控制。 2. 需要网关的设备
如果提到智能家居,可能大部分的人会想到一个词语 ZigBee ,这是一个局域网的 无线通信协议 ,大概在 2005 年左右就开始在智能家居中崭露头角了。
与 ZigBee 类似的无线通信协议还有: ZWave 、 RF433 、 BLE 等等。
它们的作用都是类似的:都是为了让多个设备能够 组网 ,节点之间以多跳的方式传输数据,达到通信的目的。
这些数据最终会汇总到一个叫做 网关 的设备,然后与云端的服务器进行通信。
这一类产品的开发,包括: 网关开发 和 设备开发 这两种。
网关的开发稍微复杂一些。从功能上来说,网关需要实现: 设备的管理(与物联网平台的设备管理不是一个概念);
规则引擎(在断网的状态下实现场景联动等功能);
通信协议转换(把物联网平台的通信协议转成设备私有协议);
有些网关中,还会集成不同的无线通信协议模块,比如:把 ZigBee 、 BLE 、 红外 等功能, 集成在一个网关中 ,这样的话,不同通信方式的设备就可以在一个系统中共存了。
此时,网关就要做更多的工作: 上行链路(连接到云平台):需要做到协议的统一,也就是说云平台才不关系下面到底是什么样的无线通信技术,云平台只会以统一的数据格式来表示每个设备;
下行链路(连接到设备):协议转换,把云平台发来的统一的数据格式,转换成不同的无线通信协议特有的数据格式;
设备的开发工作就相对纯粹一点了,它只需要处理某一种无线协议即可。
这一类设备的开发,一般都是使用相应的 通信模组 ,底层的协议栈都是提供好的。
开发者需要做的工作主要就是熟悉应用层的通信协议,完成指令的解析和数据上报工作。 3. WiFi 类设备
这一类产品最常见的就是各种品牌的 网络摄像头(IPCamera) ,比如:小米、360、萤石等等。
摄像头如果作为一个 单品 来使用,只要把家中的 WiFi SSID 和 密码 配置到摄像头中,就可以使用官方的 APP 来远程查看实时画面了。
如果把摄像头 集成 在一个智能家居的系统中,就需要二次开发。
摄像头厂家一般都会提供 SDK ,作为开发者需要做的事情就是:调用 SDK 中的 API 函数,获取实时画面、发送指令控制摄像头云台转动。
这里有一个底层的技术很有意思: P2P 网络穿透 。
我们买来一个网络摄像机,是 不可能 有一个独立的 IP 地址的。也就是说:其他设备(手机)是没办法通过 IP:PORT 的编程方式,直接连接到摄像头的。
但是为了实时画面的传输质量,为了减轻服务器的转发压力,手机最好可以直接与摄像头建立 TCP 通信。
此时, P2P 网络穿透给这种需求提供了可能。
在早期的时候,深圳有大批的摄像头厂商使用的都是 TUTK 这家公司的 P2P 网络穿透服务。
在 P2P Master (就是一台服务器)的协助下,实现移动端与摄像头之间的网络穿透,直接建立 TCP 连接。 物联网平台开发
物联网平台,作为连接业务应用和设备的 中间层 ,屏蔽了各种复杂的设备接口,实现设备的快速接入。
目前,做的比较大的就是那么几家巨头: 亚马逊 的 AWS 平台, 阿里云、腾讯、华为 的物联网平台。
以上这几家的 物联网平台 ,仅仅是他们的云平台中的一个组成部分。
它们的目标就是提供一个通用的通信标准和 SDK ,快速的接入各种硬件设备,通过设备接入数量、通信数据的流量,以及提供各种业务层的服务来赚钱。
另外,还有一些下一梯队的公司,开发了自己的、专门针对物联网领域的平台。由于知名度不高,只能以合作开发项目的形式来吸引硬件设备的接入。
从开发的角度来看,物联网平台的开发 技术栈 主要是 后台开发 。由于这部分技术栈我不太熟悉,就不去深入讨论了。
物联网平台 最宝贵的就是数据 ,如何利用这些数据,这就是业务应用的事情了。 业务应用开发
所谓的业务应用,简单来说,就是通过调用物联网平台提供的 API ,实现设备管理、数据上报、命令下发等业务场景。
设备管理是在设备接入基础上,提供了更丰富完备的设备管理能力,简化海量设备管理复杂性,提升管理效率。
从物联网平台的 设备和数据 中,可以衍生出各种不同的业务应用场景,这就要根据实际的系统功能来进行按需开发了。
比如:智慧城市、智慧照明、智慧工业、车联网等行业应用。
涉及到的 技术栈 是: 前端 和 后端 开发。
好了,今天的文章分享到这就结束了,要是喜欢的朋友,请点个关注哦!--我是简搭(jabdp),我为自己"带盐",感谢大家关注。
终于来了!国产DDR4内存条,你愿意多花钱支持国产吗?5月14日,内存条厂商光威在京东开始零售由国产长鑫颗粒打造的内存条。这也意味着长久由韩国统治的内存条市场得到了一点点的打破。1718年DDR4内存在韩国卖高价颗粒的情况下价格高达上
这位有大贡献的科学家为什么遭到世人唾弃?他是小托马斯米基利,生于美国。或许很多人不知道他的名字。小托马斯米基利一说到氟利昂或许大部分人知道,破坏大气层。但是在以前他是一个很伟大的发明,以前的冰箱用的制冷剂不仅有毒且易燃。
PICI为17感到遗憾,也祝愿4AM柏林顺利!昨天的PICI已经结束,4AM将和大航海家omg携手战柏林,在此先提前祝愿俩队获得好成绩面对欧美诸强也能打出风采!17shou不敢看结果着实令人心疼。电子竞技即有魅力也有他的残酷,
想超频AMD显卡但是不会?这里教你因为上篇文章所以专门写这一篇文章给那些想超频AMD显卡的但是不会的新手,我会尽量写的详细。首先要先安装好AMD显卡的驱动在系统托盘(也就是左下角系统时间左边)长这样如果没有请右击桌
AMD显卡性能不行?快超起来吧有关于AMD显卡的一句话在流传A卡战未来其实是源于AMD的对显卡的软件优化做的非常好。如果性能不够不妨进行超频。拿我的垃圾卡HD7850来说,预设频率都很低所以在A卡的鸡血驱动中全
推电影小个子的逆袭今天推荐一部电影,是狼叔的主演的一部2011年的电影铁甲钢拳。豆瓣评分8。2一部动作科幻励志电影。影片中共出现几了个机器人,第一个是大破烂伏击者被牛撞烂了第二个是卖儿子抚养权换来的
OPPO开发者大会装扮专场从设计力到品牌力赋能设计师价值升级10月27日,以开放互融致善创新为主题的2021OPPO开发者大会(ODC21),在上海世博中心举办,并首次为个性化装扮开设独立专场。会场上,OPPO主题商店团队分享了过去一年海内
安卓系统那些能提升使用体验的App,你的手机里有哪些?现在的App越来越臃肿,广告推送不断让人体验直线下降,那么在这种大环境下,还有哪些应该是清爽好用的呢,下面我就推荐几款应用,看看你的手机里有哪些吧。Via浏览器作为一名魅族用户,我
五月最具性价比的手机,低价比肩旗舰手机5月19日,iQOOZ1发布,2198的价格本身就具有强大的性价比,发布与京东618来了一个完美邂逅1998的价格买一个双卡双待的5G手机,拥有一个性能媲美麒麟990,骁龙865的
中关村数字经济产业联盟成立容联云担任副理事长单位近日,由北京市监督管理委员会指导下的中关村数字经济产业联盟(简称中数联盟)正式揭牌成立。中国电信京东集团担任联盟理事长单位,容联云等国内一批优秀企业担任联盟副理事长单位。中关村数字
郑州特大暴雨背后,因为泄洪造成的损失谁来赔?不知道给台风取名字的专家都出于什么心理,叫出来的名字一个个可爱无比,发起疯来却力大无穷。比如最近要到上海的大佬烟花,本来是后天要给上海带来大到暴雨。不成想,离中国还有一千公里,就远