一、物联网的技术架构
物联网架构可分为三层:感知层、网络层、应用层。
感知层由各种传感器组成,将物体的数据,通过传感器收集后,由网络层传输出去。网络层包含互联网、云端、运营商网络、各种短距离局域网(如ZigBee等)。
应用层是物联网与用户的接口,一般以UI界面的形式展现。
二、物联网感知层关键技术
物品可能是电器(如洗衣机、冰箱)、物体(如门、窗)等。在物联网应用中,物品上有三项关键技术应用(一些非物联网的通用技术不作介绍,如模电、数电、射频、PCB布线等知识):

  • 嵌入式系统技术
  • 传感器技术
  • 网络连接技术
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 通讯协议