分享

什么是物联网?学习物联网需要掌握那些东西?

 jingxin95 2018-12-10

这个回答是专门针对大一新生、对物联网感兴趣的同学的。

一、什么是物联网

物联网,英文是“Internet Of things”,简称IoT。物联网字面意思,就是物物相连的互联网,所以物联网仍是互联网的一个组成部分。它和互联网的主要区别是:互联网主要角色是人、电脑或移动设备、服务器,而物联网会有很多物品相连。物联网通常被认为是继计算机、互联网后信息产业发展的第三次浪潮。

事实上物联网并不是一个新鲜的概念,早在1990年施乐公司就曾研发过网络可乐贩售机。1999年,美国麻省理工学院(MIT)的Kevin Ash-ton教授首次提出了物联网的概念。

根据国际电信联盟(ITU)的定义,物联网主要解决物品与物品(Thing to Thing,T2T)、人与物品(Human to Thing,H2T)、人与人(Human to Human,H2H)之间的互连。

二、物联网的技术架构

物联网架构可分为三层:感知层、网络层、应用层。

感知层由各种传感器组成,将物体的数据,通过传感器收集后,由网络层传输出去。网络层包含互联网、云端、运营商网络、各种短距离局域网(如ZigBee等)。

应用层是物联网与用户的接口,一般以UI界面的形式展现。


三、物联网感知层关键技术

物品可能是电器(如洗衣机、冰箱)、物体(如门、窗)等。在物联网应用中,物品上有三项关键技术应用(一些非物联网的通用技术不作介绍,如模电、数电、射频、PCB布线等知识):

  1. 嵌入式系统技术

  2. 传感器技术

  3. 网络连接技术


1. 嵌入式系统技术

目前物联网行业的在嵌入式方面,arm架构是最主要的架构。对于要长期致力于嵌入式开发的同学来讲,arm是必须要学的。入门学习可以从stm32学习板开始,使用keil作为主要的开发工具。学习过程中要完全理解掌握开发板的各种用法、液晶屏和LED屏、数码管的控制使用等。一些常用的通讯,如:RS232、RS485、I2C需要学习掌握。

其它一些单片机,如51系列也可以进行学习,在物联网中也有较多应用。

如果非电子专业的,只是把物联网作为兴趣爱好,那嵌入式的学习可以选择一些简单上手的平台,如Arduino、树霉派等。


2. 传感器技术

物联网技术中,传感器应用极其广泛,学习过程中要把常用的传感器用法完全掌握,如:霍尔传感器、加速度传感器、压力传感器、人体红外感应传感器等。


3. 网络连接技术

不管是做物品端开发,还是服务器、APP等开发,网络连接技术都是必须深入学习。一般专业课都会有以太网、TCP/IP原理讲解,专业课的知识必须掌握,另外要学习一些基于TCP/IP的高级通讯协议,如HTTP协议、MQTT协议。

物联网还有一些专用的通讯协议需要学习,如:

  • Zigbee

  • NFC

  • WiFi

  • GPRS

  • USB

  • NB-IoT

  • RFID

  • 蓝牙

  • Lora

这些通讯协议并不是都要完全学习掌握,根据个人学习精力可以逐步安排学习。在使用开发板学习时,通常都包含这些组件,可以直接进行实验学习。


四、物联网云端开发关键技术

1. 网络后端开发技术

网络后端技术,目前国内流行的主要是Java、PHP、Python等。学习网络后端技术,以Java为例,需要学习掌握以下内容:

  • Java 常用开发框架(SSH、SpringMVC、SpringBoot等)

  • Java Web开发

  • Java 数据库基础操作

  • Java Socket通讯技术(Netty框架等)

  • 分布式开发与负载均衡

  • Java MQTT 服务端技术,有开源系统可以部署使用,以上几条都是基础,这一条是物联网需要的核心技术


2. 网络安全相关技术

  • 防火墙

  • 防重放

  • 防遇权

  • 防伪造


3. 大数据存储与分析技术

由于物联网常常会产生大量的数据,现在大数据的存储与分析在物联网行业得到了普遍的应用。国内大数据通常需要掌握以下技术:

  • 大数据平台的搭建与维护(如Hadoop、HBase、Cassandra等)

  • 大数据分析技术,如Hive、Spark、Storm、Elasticsearch等。



五、物联网移动端开发关键技术

国内现在物联网技术的应用,主要集中在家电物联网、远程抄表类应用,这个过程中移动端往往成为重要的展示设备,如果要学习移动端开发,主要要学习以下技术:

  • 安卓应用程序开发、iOS应用程序开发

  • HTML5 移动端开发,如angularJS、React、Vue等

  • MQTT 通讯协议


此回答有部分内容在我之前回答有更详细介绍,如Java后端开发技术、HTML前端开发技术等,有兴趣的同学可以点击查看。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多