0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

深入探究物联网系统中的开发工作

GReq_mcu168 来源:道哥分享 作者:道哥分享 2021-06-25 16:03 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

物联网系统

设备端的开发

不需要网关的设备

需要网关的设备

WiFi类设备

物联网平台开发

业务应用开发

物联网的概念已经被炒了好多年了,奇怪的是:市场中对这个概念的反应总是不愠不火。

随着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,实现设备管理、数据上报、命令下发等业务场景。

设备管理是在设备接入基础上,提供了更丰富完备的设备管理能力,简化海量设备管理复杂性,提升管理效率。

从物联网平台的设备和数据中,可以衍生出各种不同的业务应用场景,这就要根据实际的系统功能来进行按需开发了。

比如:智慧城市、智慧照明、智慧工业、车联网等行业应用。

涉及到的技术栈是:前端和后端开发。

编辑:jq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 物联网
    +关注

    关注

    2939

    文章

    47324

    浏览量

    407966
  • 5G
    5G
    +关注

    关注

    1366

    文章

    49070

    浏览量

    590128
  • 智慧路灯
    +关注

    关注

    3

    文章

    920

    浏览量

    18377
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Lora基站在联网应用的重要性

    的环境条件下工作,并且可以长时间运行。最后,Lora基站可以实现对Lora网络的管理和监控,为联网应用提供了可靠的网络支持。   总之,Lora基站是
    发表于 12-03 07:09

    芯源半导体在联网设备具体防护方案

    控制:结合设备身份认证结果,芯源半导体安全芯片支持细粒度的访问控制。联网系统可以根据设备的身份、权限等级等信息,限制设备对系统资源的访问。例如,在工业
    发表于 11-18 08:06

    学习联网怎么入门?

    的关键步骤。学习联网需要进行实践操作,通过实践操作掌握联网的相关技术和应用。可以通过购买联网
    发表于 10-14 10:34

    学习联网可以做什么工作?

    健康、智能制造等领域。以下是一些常见的职业方向: 联网工程师:从事物联网系统的设计、开发、测试、维护和升级等
    发表于 10-11 16:40

    联网蓝牙模块有哪些优势?

    之间的互联互通。这使得在联网应用,多个设备可以协同工作,从而提高了系统的整体效率。总之,
    发表于 06-28 21:49

    多协议联网关的方案测试-基于米尔全志T536开发

    整体工程的创建,并传输到编译环境主机中进行编译。把工程项目传到主机交叉编译环境: 然后直接make 进行编译: 很顺利的编译成功。 5. 开发http服务程序 在联网
    发表于 06-20 15:44

    联网的应用范围有哪些?

    在生活的一个小小体现。 从技术层面看,联网融合了多种技术,包括传感器技术、网络通信技术、大数据与云计算技术等。传感器负责采集各种物理量、化学量等信息,如温度传感器感知环境温度,压力传感器检测物体受力
    发表于 06-16 16:01

    【米尔-全志T536开发板试用体验】- 多协议联网关的开发测试

    联网网关设备,通常采用web的管理界面,用户监控系统应用的工作状态,以及进行的必要的配置和设置等
    发表于 06-10 11:48

    联网未来发展趋势如何?

    技术将为人们带来更加安全、便捷和舒适的居住环境。 工业互联网:工业互联网联网行业的热门领域。通过将传感器、设备和计算机
    发表于 06-09 15:25

    联网工程师为什么要学Linux?

    依赖Linux的安全启动机制。 三、职业需求与就业优势 1)岗位技能硬性要求 企业招聘,约70%的联网开发岗位明确要求具备Linux
    发表于 05-26 10:32

    智慧消防联网平台

    本人想建立一个联网智慧消防平台,想找懂技术的有合伙意愿的共同投资开发,有感兴趣的联系我13633612945
    发表于 04-15 22:18

    为什么选择蜂窝联网

    。虽然需要支付订阅费用,但却能保证广泛的覆盖范围、可扩展性、内置服务质量、可靠性和无懈可击的安全性。这样,您就可以专注于特定联网产品的开发,而无需部署和维护与在非授权频段运行的其他 LPWAN 技术相关
    发表于 03-17 11:42

    联网数据台与数字孪生的关系

    在数字化快速发展的时代,联网数据台与数字孪生作为关键技术,各自发挥着重要作用,且二者之间存在着紧密而复杂的关系。深入探究它们之间的联系,
    的头像 发表于 02-27 13:41 687次阅读
    <b class='flag-5'>物</b><b class='flag-5'>联网</b>数据<b class='flag-5'>中</b>台与数字孪生的关系

    宇树科技在联网方面

    与上下游企业开展合作,共同构建产业生态系统。上游方面,与电机、减速器、轴承等零部件供应商紧密合作,确保产品的质量和供应稳定性;下游方面,与系统集成商、应用开发商等合作,将机器人产品应用于不同的
    发表于 02-04 06:48

    联网就业有哪些高薪岗位?

    系统的数据安全和隐私保护,这一岗位的需求也在逐年上升。  随着联网行业的蓬勃发展,这些高薪岗位将持续吸引着大量求职者。然而,高薪并不是唾手可得的,对于求职者而言,还需要具备扎实的技术功底、丰富的实践经验和持续学习的精神。只有
    发表于 01-10 16:47