内容推荐 本书从物联网的相关技术点、网络通信协议、嵌入式开发等方面,系统地阐述了物联网开发必备的知识。 本书分为3篇,基础篇(第1~5章)系统讲述物联网的发展历史、技术、对物联网行业的未来预测,以及单片机和嵌入式网络开发;提高篇(第6~9章)主要讲解嵌入式实时系统,以RT-Thread为例,介绍了驱动开发、应用开发、网络开发三大模块,以及目前主流的云平台开发技巧,包括阿里云物联网平台、OneNET等;实战篇(第10~11章)从零开始搭建两个实用的物联网项目——环境信息采集系统和智能安防系统,助力读者快速进入物联网领域。 本书适合想快速进入物联网行业的技术人员阅读,也可作为高年级本科生和研究生学习物联网的参考书籍。 作者简介 连志安,广州旗点智能科技有限公司创始人,vnRTOS内核作者(国产开源RTOS实时内核),CSDN博客专家。精通物联网开发、WiFi、蓝牙、ZigBee、LoRa、NB-IoT、4G、5G等技术。曾在CVTE、康佳、长虹担任软件开发、项目管理等工作,并有7年的嵌入式研发工作经验,熟悉单片机、RTOS、嵌入式Linux、ARM架构、MIPS架构等,负责过Android TV、智能网关、路由器、智能家居、安防报警器等项目开发。 目录 第1章 物联网概述 1.1 物联网行业的发展 1.1.1 发展历程 1.1.2 规模与渗透度 1.2 物联网的核心技术 1.2.1 传感器技术 1.2.2 组网技术 1.2.3 嵌入式系统技术 1.2.4 云计算 1.3 物联网行业展望 1.3.1 产业驱动 1.3.2 行业数据预测 1.3.3 物联网产业布局 1.3.4 产业图谱 1.4 物联网面临的挑战 1.4.1 信息安全 1.4.2 云计算的可靠性问题 1.4.3 协议问题 1.4.4 能源问题 第2章 物联网体系架构 2.1 物联网基本架构 2.1.1 USN架构 2.1.2 M2M架构 2.1.3 感知层 2.1.4 网络层 2.1.5 应用层 2.2 嵌入式技术应用 2.2.1 单片机技术 2.2.2 嵌入式RTOS 2.2.3 嵌入式Linux 2.3 组网技术 2.3.1 蓝牙 2.3.2 WiFi 2.3.3 ZigBee 2.3.4 3G/4G/5G 2.3.5 NB-IoT 2.3.6 LoRa 2.3.7 各种组网技术比较 2.4 学习路线 第3章 TCP/IP 网络通信协议 3.1 OSI七层模型 3.2 TCP/IP 3.2.1 TCP/IP具体含义 3.2.2 IP 3.2.3 TCP和UDP 3.2.4 HTTP 3.2.5 MQTT 3.2.6 MAC地址 3.2.7 NAT 3.3 网络通信过程 3.3.1 发送过程 3.3.2 接收过程 3.4 socket套接字 3.4.1 socket和TCP/IP的关系 3.4.2 创建socket套接字 3.4.3 bind函数 3.4.4 connect函数 3.4.5 listen函数 3.4.6 accept函数 3.4.7 read和write函数 3.4.8 close函数 第4章 单片机开发 4.1 初识STM32F407芯片 4.1.1 单片机介绍 4.1.2 STM32F407芯片 4.2 搭建开发环境 4.2.1 硬件平台 4.2.2 软件开发环境 4.2.3 Keil MDK软件的安装 4.2.4 Keil MDK新建工程 4.2.5 J-Link驱动安装 4.3 GPIO口操作 4.3.1 LED硬件原理图 4.3.2 STM32F407的GPIO口介绍 4.3.3 STM32标准外设库 4.3.4 代码分析 4.3.5 代码编译下载 4.3.6 小结 4.4 中断 4.4.1 STM32中断向量表 4.4.2 中断控制器 4.4.3 小结 4.5 EXTI外部中断 4.5.1 按键功能分析 4.5.2 代码分析 4.5.3 小结 4.6 定时器 4.6.1 STM32定时器 4.6.2 代码分析 4.6.3 SysTick定时器 4.6.4 小结 4.7 USART串口 4.7.1 数据格式 4.7.2 串口实验 4.7.3 代码分析 4.7.4 小结 4.8 I2C总线 4.8.1 I2C元器件地址 4.8.2 I2C时序 4.8.3 模拟I2C 4.8.4 小结 4.9 SPI总线 4.9.1 SPI 4种工作模式 4.9.2 STM32的SPI配置 4.9.3 小结 4.10 LCD显示屏 4.10.1 LCD分类 4.10.2 LCD接口类型 4.10.3 MCU接口驱动原理 4.10.4 代码分析 4.10.5 小结 第5章 LwIP 5.1 初识LwIP 5.1.1 LwIP介绍 5.1.2 源码简析 5.1.3 系统框架 5.2 网卡驱动 5.2.1 STM32F407以太网控制器 5.2.2 网卡驱动流程 5.3 LwIP初始化 5.4 API 5.4.1 RAW API 5.4.2 NETCONN API 5.4.3 BSD API 5.5 LwIP实验 5.5.1 RAW API TCP服务器实验 5.5.2 RAW API TCP客户端实验 5.5.3 RAW API UDP服务器实验 5.5.4 RAW API UDP客户端实验 5.5.5 NETCONN API实验 第6章 RT-Thread开发 6.1 初识RT-Thread 6.1.1 RT-Thread介绍 6.1.2 RT-Thread源码获取 6.1.3 Env工具 6.1.4 menuconfig 6.1.5 编译RT-Thread源码 6.2 RT-Thread线程开发 6.2.1 裸机和操作系统 6.2.2 RT-Thread线程 6.3 GPIO开发 6.3.1 I/O设备模型框架 6.3.2 相关API 6.3.3 实验 6.4 串口开发 6.4.1 FinSH控制台 6.4.2 相关API 6.4.3 实验 6.5 I2C设备开发 6.5.1 相关API 6.5.2 I2C使用示例 6.6 SPI设备开发 6.6.1 相关API 6.6.2 SPI设备使用示例 6.7 硬件定时器开发 6.7.1 相关API 6.7.2 定时器设备使用示例 6.8 RTC功能 6.8.1 相关API 6.8.2 功能配置 6.8.3 代码示例 第7章 RT-Thread网络开发 7.1 LwIP使用 7.1.1 menuconfig配置 7.1.2 网卡配置 7.1.3 IP地址配置 7.1.4 LwIP实验 7.2 NETCONN API开发 7.2.1 相关API说明 7.2.2 TCP服务器 7.2.3 TCP客户端 7.2.4 UDP实验 7.3 BSD socket API开发 7.3.1 socket API说明 7.3.2 代码示例 7.4 JSON 7.4.1 JSON语法 7.4.2 cJSON 7.4.3 cJSON API 7.5 MQTT 7.5.1 |