物联网,英文为 “Internet of Things”,顾名思义物物相连的互联网。本质上,物联网的核心及基础仍然是互联网,只是终端不再是计算机,而是嵌入式计算机系统及其配套的传感器,其用户端延伸和扩展到了物品与物品之间,进行信息交换和通信,也就是物物相息。
对于标准的物联网系统,可以分为四层:感知识别层、网络构建层、管理服务层和综合应用层。
对于以下知识点总结,如果你有好的总结及优化建议,欢迎发送邮件至[email protected],技术之路,我们共同进步。
感知识别层:采集信息
感知层由各种传感器构成,负责信息采集和信号处理。通过感知识别技术,让物品“开口说话、发布信息”,这是物联网区别于其他网络的最独特部分。感知识别层位于物联网四层模型的最底端,是所有上层结构的基础。
感知层知识点涉及:
- 芯片
- 嵌入式系统
- 通信芯片
- 定位芯片
- 传感器
- 物理传感器
- 化学传感器
- 生物传感器
- RFID
- 摄像头
- 控制器
- CPU
- MCU
- MPU
- SOC
- CPLD
- FPGA
- PowerPC
- DSC
- 无线模组
- 通信模组
- WiFi/蓝牙/Zigbee/蜂窝移动/NB-IoT
- 定位模组
- GNSS/天线
- 通信模组
通过感知层感知到了信息,那么接下来如何让信息发送出去并得以利用?这就要通过网络构建层。
网络构建层:传输数据
网络是物联网最重要的基础设施之一。网络构建层在物联网四层模型中连接感知识别层和管理服务层,具有纽带作用,它负责向上层传输感知信息和向下层传输命令,简而言之就是传输数据。
这个层面上就是利用了互联网、移动通信网、卫星通信网等基础网络设施,对来自感知识别层的信息进行接入和传输。
网络构建层知识点涉及:
- 通信网络
- 2/3/4/5G
- NB-IoT
- SIM 卡
- ZigBee
- LoRa
- WiFi
- 蓝牙
- NFC
- 红外
- Thread
管理服务层:信息整合与利用
在高性能网络计算机的环境下,管理服务层能够将网络内海量的信息资源通过计算机整合成一个可互联互通的大型智能网络。管理服务层主要解决数据如何存储(数据库与海量存储技术)、如何检索(搜索引擎)、如何使用(数据挖掘与机器学习)、如何不被滥用(数据安全与隐私保护)等问题。
管理服务层位于感知识别和网络构建层之上,处于综合应用层之下,是物联网的智慧源泉。人们通常把物联网应用冠以“智能”的名称,如智能电网、智能交通、智能物流等,而其中的智慧就来自于这一层。
管理服务层知识点涉及:
- 应用开发平台
- 协议
- HTTP
- MQTT
- CoAP
- 通信协议
- TCP/IP
- UDP 协议
- 连接管理平台
- 设备管理平台
- 系统及软件开发
综合应用层:用户接口
综合应用层是物联网系统的用户接口,通过分析处理后的感知数据,为用户提供丰富的特定服务。
具体来看,这些所谓的智能,其实真正是基于感知识别层收集到的、网络构建构建层传输的、管理服务层挖掘利用的信息,然后再把特定信息反馈给基层物体完成指定命令以此实现。
综合应用层知识点涉及:
- 物联网智能终端
- To B 类
- 车载类
- 监控类
- 调度类
- To C 类
- 可穿戴设备
- 智能家居
- 消费电子
- To B 类
- 系统集成应用服务
- To B 类
- 公共服务
- 垂直行业
- To C 类
- 智慧生活
- To B 类
如今的物联网正逐步渗透到各个行业中,不可否认,它变得越来越重要。预计到 2020 年,物联网解决方案将带来 1.7 万亿美元的市场,作为开发者,从事物联网开发为时不晚,从上面的知识点中可以对 IoT 开发有一定的了解。除此之外,本文还总结一些国内外优秀且免费 IoT 课程,希望对大家的 IoT 学习之路有所帮助。
国内
课程围绕基于云平台的应用程序开发及部署展开,内容包括 MQTT 与物联网;安装 NodeRed;IoT 实战:用 Node-red 创建一个可视化应用,以后内容会逐步更新。通过本课程的学习,大家可以初步了解 Bluemix 在物联网方面的应用。
本次课程主要对 Qualcomm Dragonboard410c 开发板应用做深度讲解。包括相关原理、平台搭建以及相关配套工具使用。培训中会详细演示几个应用场景,包括:红外测距,超声测距,语音识别等新技术的实现。
物联网行业的发展给嵌入式硬件开发、云服务开发带来了新的安全挑战。最近美国Dyn攻击事件,揭示了物联网安全处在一个非常低的级别,属于安全的重灾区。如何提高物联网的安全,如何落地实践是很重要的事情。
本课程通过基础知识讲解后,再手把手教大家用 WRTnode2R+新的物联网开发方法+挖掘机开发一个智能挖掘机。
国外
IoT 工程师
- 雾网络和物联网 教学方:普林斯顿大学
雾联网是一种同样支持物联网(loT)的架构,例如“connected wearables”。大胆的全新用户界面越来越接近大众可以承受的零售价位,于是不禁会提出“眼镜和手表的架构选择”的问题,从命名到计费,从会话管理到资源优化。雾联网利用传感器网络、P2P和MANET研究的以往经验,结合设备、网络系统和数据科学的最新发展,重塑计算和联网生态系统中的“力量平衡”。本课程深入探索雾网络,解读雾背后的架构和在物联网中具体应用。
- 物联网:多媒体技术 教学方:加州大学圣地亚哥分校
“内容”是促成无线互联网成功的特征当中最突出的一个特征。如 Snapdragon™ 处理器等移动平台配备有特殊的硬件和软件功能,使得多媒体内容的采集、处理和渲染效率更高、成本更低。在这门课程中,你将学习在 iTunes、谷歌市场(Google Play)、YouTube、Netflix 等平台上使用的音频视频编解码器的原理,并将学习用于优化内容质量和媒体带宽的文件格式和编解码器设置,并将它们应用到一个基本的媒体播放器应用的开发中去。
- 物联网和增强现实新兴技术 教学方:延世大学
本课程讲解涉及 IoT(物联网)和 AR(增强现实)的新兴技术。目前,IoT 和 AR 技术已经存在,可用服务也已经能够找到。然而,IoT 和 AR 技术的发展空间要远远大于目前水平,正因如此,非常有必要了解这些技术能够给我们带来什么,以及这些技术的原理。
IoT 企业家
- 物联网 教学方:伦敦国王学院
这门免费的在线课程,解释了物联网(IoT)和“机器到机器”(M2M)技术的工作原理以及如何利用它来创造一个成功的产品或公司。
- 拆解物联网 教学方:Udemy
本课程包括学术研究、商业案例研究以及结合网络学习的最佳案例。
- 物联网和智能服务将如何改变世界 教学方:Open SAP
通过这个课程的学习,你讲了解物联网的关键术语及趋势,同时探索物联网和智能服务的潜在作用及价值。
IoT 软件
- 物联网开发者指南 教学方:IBM
这是一个入门级课程,介绍了物联网的开发及部署解决方案。从可靠的设备上捕捉数据并利用许多可用的服务将数据发送至云平台。
- 物联网软件架构 教学方:EIT Digital
本课程将教你如何设计满足 IoT 系统需求的验证系统,IoT 系统需求包括安全、可相互操作、具有修改和可伸缩性。此外,你还将了解一流软件架构方法,进而设计复杂的 IoT 及其他应用程序。
- 基于 Azure 处理试试数据流 教学方:微软
该数据分析课程让大家了解如何使用微软 Azure 技术,如 Event Hubs、 IoT Hubs 和 Stream Analytics 搭建实时物联网解决方案。
IoT 硬件
- 使用仿真软件建模与仿真 教学方:莱茵曼应用技术大学
本门 MOOC 讲解了如何使用 Simulink 进行建模与仿真。
- 物联网:设备的传感器和驱动 教学方:加州法学圣地亚哥分校
在本课程中,你将学习传感器和驱动连接到 DragonBoard™ 410c 的知识点。另外,学习开发软件来获取感知数据,然后处理数据并驱动步进马达、LED 等。
- 物联网与嵌入式系统概论 教学方:加州大学欧文分校
“物联网”的爆炸式增长正在改变世界,典型的物联网部件的价格的快速下降,又使人们足不出户就能创造新的设计和产品。这是本专项第一门课程,你将了解物联网在在社会中的重要性,当前典型的IoT设备有哪些部件,以及IoT今后的趋势。课程还将讲解IoT设计的考虑因素、制约因素,以及现实世界与你的设备之间的接口。你还将学习如何在硬件和软件之间进行设计上的权衡。课程还将涉及网络搭建的关键组件,以确保学生了解如何将他们的设备连接到互联网。
Arduino & Raspberry Pi
- Arduino 接口 教学方:加州大学欧文分校
通过这个课程学习如何以及何时使用不同类型的传感器,并且让它们与 Arduino 相连接。
- Arduino 平台和 C 语言程序设计 教学方:加州大学欧文分校
Arduino 是一个开源的计算机硬件/软件平台,致力于构建能够感知和控制它们周围的物理世界的数字化设备和交互式对象。在本课程中,你将学习 Arduino 平台的原理,包括物理主板、库和 IDE(集成开发环境)等。你还将了解“防护板”(Shields),它是指插入到 Arduino 主板上的相对比较小的电路板,用于执行其他功能,如光/热感应、GPS 跟踪,或提供用户界面显示。课程还将介绍如何使用 C 语言为 Arduino 编程,以及如何通过软件接入主板上的针脚来控制外部设备。
- 树莓派(Raspberry Pi)平台及其 Python 程序设计 教学方:加州大学欧文分校
树莓派(Raspberry Pi)是一种体积小、价格实惠的单板计算机,你将使用它来设计和开发有趣而又实用的物联网设备,并在这个过程中学习编程和计算机硬件知识。此外,你将学习如何设置树莓派的环境,安装和运行 Linux 操作系统,并在树莓派上编写和执行一些基本的 Python 代码。你还将学习如何使用面向树莓派的基于 Python 的 IDE(集成开发环境)以及如何在该设备上跟踪和调试 Python 代码。