年薪60万的物联网工程师应该掌握这5项技能

物联网
物联网是新一代信息技术的重要组成部分,也是"信息化"时代的重要发展阶段。那么,作为物联网工程师需要具备什么技能呢?

什么是物联网?

[[270615]]

物联网是新一代信息技术的重要组成部分,也是"信息化"时代的重要发展阶段。其英文名称是:"Internet of things(IoT)"。顾名思义,物联网就是物物相连的互联网。这有两层意思:其一,物联网的核心和基础仍然是互联网,是在互联网基础上的延伸和扩展的网络;其二,其用户端延伸和扩展到了任何物品与物品之间,进行信息交换和通信,也就是物物相息。

物联网通过智能感知、识别技术与普适计算等通信感知技术,广泛应用于网络的融合中,也因此被称为继计算机、互联网之后世界信息产业发展的第三次浪潮。物联网是互联网的应用拓展,与其说物联网是网络,不如说物联网是业务和应用。因此,应用创新是物联网发展的核心,以用户体验为核心的创新2.0是物联网发展的灵魂。

活点定义:利用局部网络或互联网等通信技术把传感器、控制器、机器、人员和物等通过新的方式联在一起,形成人与物、物与物相联,实现信息化、远程管理控制和智能化的网络。物联网是互联网的延伸,它包括互联网及互联网上所有的资源,兼容互联网所有的应用,但物联网中所有的元素(所有的设备、资源及通信等)都是个性化和私有化。

物联网其实是互联网的一个延伸,互联网的终端是计算机(PC、服务器),我们运行的所有程序,都是计算机和网络中的数据处理和数据传输,除了计算机外,没有涉及任何其他的终端(硬件)。

物联网的本质还是互联网,只不过终端不再是计算机(PC、服务器),而是嵌入式计算机系统及其配套的传感器。这是计算机科技发展的必然结果,为人类服务的计算机呈现出各种形态,如穿戴设备、环境监控设备、虚拟现实设备等等。只要有硬件或产品连上网,发生数据交互,就叫物联网。

物联网的定义是:利用二维码、RFID、红外感应器、GPS、等各种感知技术和设备,使任何物体与网络相连,全面获取现实世界的各种信息,完成物与物、人与物的信息交互、以实现对物体的智能化识别、定位、跟踪、管理和控制。

既然如此,让我们看看需要做些什么:现在每个家庭都会使用WiFi,WiFi是由无线路由器发射出来的。一个无线路由器,可以说就是一个局域网(LAN)。只要把那些电子设备连到家里的WiFI,就可以通过终端控制他们了。可是,现在我们常见的能连上WiFi的设备,只有手机和电脑。电视机、空调和电灯都是连不到WiFI的东西。

那么,怎样把电灯连到网络呢,这个时候就需要修改电路了——在电灯这个电路里面加一个网络模块。说起来简单做起来难,现在家用电灯都是日光灯什么的,里面还有什么镇流器。这个时候,就需要有相关专业知识才行了。当然现在也有大功率LED灯了,其发光亮度堪比日光灯,至于能不能替代日光灯成为主流产品,拭目以待。

电灯说完了,下面谈谈终端。一般人可能理解不了终端是什么意思。对内行人来说,就是客户端(Client);对外行人我就用手机电脑这些名词代替。想要手机要控制电灯,就需要有一个APP,APP怎么开发啊?安卓手机可以用Android SDK,开发语言是Java;苹果手机是Xcode,开发语言是Objective-C。

那我们能不能用电脑控制呢?可以啊,我们可以用网页来控制,这是Web开发。相对的,有客户端就有服务器(server),那个怎么给灯泡里弄一个服务器呢?这个时候就需要给灯泡嵌入一个芯片了,灯泡与芯片结合,就是一个嵌入式系统了。

嵌入式系统,就是以应用为中心,以计算机技术为基础,软硬件可裁剪的专用计算机系统。嵌入式这一领域,可以分为嵌入式硬件和嵌入式软件。比如,我思考着搭一个电路,使电灯这个电路受于芯片的控制,这就是嵌入式硬件;电路搭建好了,我就想着在芯片上写一个小小服务器,或者说就写个小程序,可以用手机通过WiFi来控制该芯片,这就是嵌入式软件。什么?你觉得WiFi学起来太难?那就使用蓝牙呗。蓝牙和WiFi都是同一种东西,无线局域网(WLAN)。

由于我们是在局域网内监控,当你离开了局域网就不能监控它们了。这个时候就需要把设备连到外网(WAN),需要知道更多的网络知识,于是,云就产生了。什么云服务、云平台、云计算、云存储,哎呀,我不是很懂这些,我只听说过云计算是物联网的基础。以上,就是为什么我说网络知识是基础。

物联网测试工程师需要掌握的5项技能

[[270616]]

1. 适应灰盒测试

在物联网环境下,各种传感器、监测设备以及智能终端可以通过多种协议接入网络,用户对这些设备的使用方式和使用环境也无法确定,因此为了保证设备运行的稳定性和可靠性,测试人员需要对产品进行灰盒测试。 也就是说测试团队不仅需要像白盒测试那样验证应用程序的功能,还需要像黑盒测试那样深入其内部结构, 为了做到这一点, 测试人员必须尽可能多地收集与设备API、第三方服务以及连接协议等内容相关的信息,精心设计测试用例,以便于覆盖尽可能多的用例场景。

2. 嵌入式系统的知识

嵌入式开发一直是一个比较低调的技术领域,相对于Web开发和企业级开发而言,嵌入式开发似乎很少在互联网上发出声音。但是随着智能手环、智能手表和智能眼镜等穿戴式设备的兴起, “嵌入式”这一概念迅速地以燎原之势再次成为了当今科技界的热点之一。

但不可否认的是,虽然嵌入式概念至今已经过了长足的发展,到目前为止依然没有拥有像iOS和Android这样知名的、被良好维护的操作系统和支持工具。虽然流行的Ubuntu和Debian都为ARM架构的自带MMU(Memory Management Unit,内存管理单元)设备进行过安装包的开发,但是对于开发者而言依然需要掌握交叉编译等基础技能才能入门嵌入式开发,而作为这一领域的质量把控者,如果物联网测试人员没有一定的嵌入式知识,依然无法做好全面的测试工作。

3. 能执行有效的仿真

物联网实现了万物互联,其设备形形色色,规模空前庞大,协议各不相同,环境错综复杂,这意味着测试人员无法针对每一种设备,每一种协议,每一种使用环境构造全面的测试用例,即使理论上能够实现也需要付出极大的成本。为此,测试人员必须具备仿真的能力,常常需要在单一的物理设备上创建各种各样的虚拟设备和虚拟网络,从而模拟各种不同的用例场景,以达到测试的目的。仿真不仅能够节约时间和金钱,还具有物理环境所不具备的扩展性。

4. 处理数据峰值和突发的使用模式

在虚拟桌面基础设施领域有一种现象称为“启动风暴(Boot Storm)”:所有人都试图在同一时刻(通常是早晨)登录他们的VDI解决方案,以致于后端系统响应很慢,用户体验很差。那么对于物联网来说情况是怎样的呢?

很多情况下,我们会面临同样的问题。例如,在智能家居领域,用户上班后家里的各种联网设备基本处于关闭或者待机状态,这时候数据流很小,后端系统几乎没有压力,但是当用户回家之后,接入家庭WiFi网络的各种设备便会运转,例如电视机、电脑、Pad和手 机,正如这时候通常会产生用电峰值一样,数据峰值也会在此时产生,从而对后端系统造成极大的压力。同样的情况在智能交通领域也会存在,例如因为上下班而造成的堵车高峰,因为节假日而造成的高速瘫痪。 这对于大部分物联网测试团队而言都是新的挑战。

5. 无处不在的数据安全

物联网潜在的数据安全问题是众所周知的,但正如尼古拉斯·埃文斯在《Computer world》里所提到的:对于物联网供应商来说,安全通常是后考虑的问题。在物联网普及并渗透到人们的日常生活之前,或许可以这样做,但是随着大众对物联网的认可和使用程度越来越高,这已经成为了一个亟需解决的问题。如果说在物联网的发展前期,供应商需要通过创新吸引用户,那么在后期就必须通过稳定性和安全性留住用户。但现实情况是,面对规模如此庞大、种类如此丰富的设备、应用和服务,人们很难实现一种有效而又全面的防护策略。对物联网测试团队而言,这无疑具有极大的挑战 。

总而言之,物联网这东西,是在现有成熟的技术上发展而来的,绝对不是如电子、计算机、通信这些已经有独立的学科的技术了,物联网是前面三者的大融合!

责任编辑:赵宁宁 来源: 今日头条
相关推荐

2017-04-21 15:25:52

人工智能机器数字科学

2022-08-12 09:21:43

前端JavaScript代码

2018-12-29 15:10:22

工程师爬虫Python

2012-11-19 09:43:19

云计算架构师架构师云计算

2011-06-13 09:00:04

Android台湾

2017-03-30 16:03:06

Linux运维工程师技能

2016-12-20 08:32:11

2009-12-18 10:08:47

路由器协议

2021-03-31 22:25:46

运维工程师技能

2017-09-22 08:33:34

机器学习Web设计UI

2019-01-31 07:39:22

物联网数据科学网络连接

2021-09-08 09:27:52

软件工程师技能算法

2019-11-20 14:29:57

区块链人才招聘

2021-04-26 17:46:33

人工智能机器学习

2019-03-11 13:30:01

人工智能工程师机器学习

2021-03-26 09:11:23

技术研发工程师

2018-01-24 20:59:46

阿里巴巴Python面试题

2020-09-29 13:10:28

DevOps自动化技能

2020-04-09 15:11:15

物联网智能建筑技术

2019-11-11 05:28:14

物联网安全物联网IOT
点赞
收藏

51CTO技术栈公众号