本书主要介绍物联网和大数据技术领域的基础知识与技能,共5 章,第1 章为物联网和大数据简介,第2 章为物联网数据采集,第3 章为大数据基础环境部署与编程,第4 章为机器学习,第5 章为智慧家居传感器数据采集与展示系统。本书通过丰富的任务和实践帮助读者逐步掌握物联网和大数据技术的基础知识与技能,为进一步深入学习与应用物联网和大数据技术打下坚实基础。本书可以作为高等院校物联网工程、大数据技术及相关专业的教学用书,也可以作为计算机、电子通信等专业相关课程的参考用书。
陈海宝,博士,滁州学院计算机与信息工程学院副教授,网络工程专业负责人,网络与通信工程系主任。ACM中国理事会合肥分会执行委员会成员。主要研究方向是智能数据处理。共发表或录用论文30多篇,其中中国计算机学会(下简称 CCF)推荐A类、B类、C类期刊各1篇,B类、C类会议论文各1篇。拥有第一发明人授权专利1 项。主持安徽省自然科学基金青年项目1项、安徽省教育厅自然科学重点项目1项、安徽省高校优秀青年人才支持计划重点项目1项,参与安徽省自然科学基金项目1项、安徽省科技重大专项1项。
第1 章 物联网和大数据简介 .............................................................................................................. 1
任务1.1 认识物联网 ................................................................................................................... 1
1.1.1 物联网的定义 ............................................................................................................ 2
1.1.2 物联网架构 ................................................................................................................ 2
1.1.3 物联网的行业应用 .................................................................................................... 3
任务1.2 认识大数据 ................................................................................................................... 7
1.2.1 大数据的定义 ............................................................................................................ 8
1.2.2 大数据的特点 ............................................................................................................ 8
1.2.3 大数据技术的行业应用 ............................................................................................ 9
任务1.3 认识开源工具.............................................................................................................. 12
1.3.1 NodeMCU ................................................................................................................ 13
1.3.2 Arduino IDE ............................................................................................................. 15
1.3.3 EMQ X Broker ......................................................................................................... 16
1.3.4 Hadoop ..................................................................................................................... 18
1.3.5 Kafka ........................................................................................................................ 22
1.3.6 Flink .......................................................................................................................... 24
1.3.7 Flask ......................................................................................................................... 25
1.3.8 MySQL ..................................................................................................................... 27
1.3.9 ECharts ..................................................................................................................... 29
1.3.10 Grafana ................................................................................................................... 30
1.3.11 VS Code .................................................................................................................. 31
1.3.12 IntelliJ IDEA........................................................................................................... 32
1.3.13 Maven ..................................................................................................................... 33
小结 .............................................................................................................................................. 34
习题 .............................................................................................................................................. 34
第2 章 物联网数据采集 .................................................................................................................... 35
任务2.1 组建物联网环境 .......................................................................................................... 35
2.1.1 认识传感器 .............................................................................................................. 36
2.1.2 NodeMCU 连接传感器 ........................................................................................... 37
任务2.2 部署软件开发环境 ...................................................................................................... 37
2.2.1 安装配置EMQ X Broker ........................................................................................ 38
2.2.2 安装配置Arduino IDE ............................................................................................ 40
任务2.3 NodeMCU 编程 ........................................................................................................... 45
2.3.1 连接EMQ X Broker ................................................................................................ 45
2.3.2 读取传感器数据示例 .............................................................................................. 48
2.3.3 发布传感器数据示例 .............................................................................................. 50
小结 .............................................................................................................................................. 53
习题 .............................................................................................................................................. 53
第3 章 大数据基础环境部署与编程 ................................................................................................ 54
任务3.1 Linux 系统安装与Shell 编程 ..................................................................................... 54
3.1.1 虚拟化软件和操作系统安装 .................................................................................. 55
3.1.2 Linux 系统常用命令 ................................................................................................ 58
3.1.3 Shell 脚本编程 ......................................................................................................... 76
任务3.2 Hadoop 安装与HDFS 编程 ........................................................................................ 80
3.2.1 Hadoop 安装 ............................................................................................................ 81
3.2.2 配置Hadoop 运行方式 ............................................................................................ 84
3.2.3 HDFS 基本操作命令 ............................................................................................... 88
3.2.4 HDFS 编程实训 ....................................................................................................... 89
任务3.3 Kafka 安装与编程 ..................................................................................................... 100
3.3.1 Kafka 安装 ............................................................................................................. 101
3.3.2 Kafka 配置 ............................................................................................................. 104
3.3.3 Kafka 基本操作命令 ............................................................................................. 108
3.3.4 Kafka 编程实训 ..................................................................................................... 110
任务3.4 Flink 安装与编程 ...................................................................................................... 114
3.4.1 Flink 安装 ............................................................................................................... 115
3.4.2 Flink 配置 ............................................................................................................... 117
3.4.3 Flink 基本操作命令 ............................................................................................... 121
3.4.4 Flink 编程实训 ....................................................................................................... 123
小结 ............................................................................................................................................ 126
习题 ............................................................................................................................................ 126
第4 章 机器学习 .............................................................................................................................. 128
任务4.1 认识机器学习............................................................................................................ 128
任务4.2 监督学习编程............................................................................................................ 130
4.2.1 朴素贝叶斯算法 .................................................................................................... 130
4.2.2 决策树 .................................................................................................................... 143
4.2.3 支持向量机 ............................................................................................................ 147
4.2.4 逻辑回归 ................................................................................................................ 152
4.2.5 线性回归 ................................................................................................................ 156
4.2.6 KNN 算法 .............................................................................................................. 159
任务4.3 无监督学习编程 ........................................................................................................ 162
4.3.1 K-Means 算法 ........................................................................................................ 163
4.3.2 主成分分析 ............................................................................................................ 166
小结 ............................................................................................................................................ 170
习题 ............................................................................................................................................ 170
第5 章 智慧家居传感器数据采集与展示系统 .............................................................................. 172
任务5.1 安装和配置VS Code 并掌握使用方法 ................................................................... 173
5.1.1 安装和配置VS Code ............................................................................................. 173
5.1.2 VS Code 基本使用方法 ......................................................................................... 175
任务5.2 Flask 环境部署与基础编程 ...................................................................................... 178
5.2.1 安装Python3 .......................................................................................................... 179
5.2.2 安装Flask .............................................................................................................. 181
5.2.3 Flask 基本使用方法 ............................................................................................... 182
任务5.3 MySQL 安装配置与基础操作 .................................................................................. 190
5.3.1 安装配置MySQL .................................................................................................. 190
5.3.2 MySQL 基础操作 .................................................................................................. 191
任务5.4 智慧家居数据采集与处理 ........................................................................................ 196
5.4.1 采集传感器数据并上传至EMQ X Broker 代理服务器 ...................................... 196
5.4.2 订阅EMQ X Broker 数据并写入Kafka ............................................................... 199
5.4.3 将数据存储至关系数据库MySQL ...................................................................... 201
5.4.4 数据存储至分布式文件系统 ................................................................................ 206
5.4.5 应用机器学习算法进行数据趋势预测 ................................................................ 207
任务5.5 数据可视化展示 ........................................................................................................ 209
5.5.1 安装与配置Grafana .............................................................................................. 210
5.5.2 数据可视化展示 .................................................................................................... 212
小结 ............................................................................................................................................ 215
习题 ............................................................................................................................................ 216