第1章 Arduino初步 1
1.1 认识Arduino 1
1.1.1 Arduino概述 1
1.1.2 Arduino主控板类型 1
1.1.3 Arduino安装 3
1.1.4 Arduino启动 10
1.1.5 烧录简单程序 12
1.2 本机通信 14
1.2.1 认识串口 14
1.2.2 认识串口监视器 15
1.2.3 主机与Arduino互动 16
1.3 软串口通信 21
1.3.1 配置一个软串口 21
1.3.2 配置两个软串口 23
1.4 I2C通信 24
1.4.1 I2C通信简介 24
1.4.2 I2C通信协议 25
1.4.3 I2C通信试验设想 26
1.5 SPI通信 28
1.5.1 SPI通信简介 28
1.5.2 SPI通信协议 29
1.5.3 SPI通信试验设想 30
1.6 用Python控制Arduino 34
1.6.1 上位机与下位机 34
1.6.2 上位机操纵软件Python 34
1.6.3 Python安装与启动 35
1.6.4 Pyserial安装 35
1.6.5 启动Arduino IDE作为下位机进行通信调试 36
1.6.6 启动Python并进行初步通信调试 37
1.6.7 趣味拓展:随论坛在线人数变化的灯 38
第2章 红外专题 40
2.1 红外遥控系统概述 40
2.1.1 红外线常识 40
2.1.2 红外遥控系统组成 41
2.1.3 红外发射管 42
2.1.4 红外接收管与接收头 44
2.2 红外遥控原理 46
2.2.1 NEC协议之38kHz载波 47
2.2.2 NEC协议之PPM调制 47
2.2.3 NEC协议组成 49
2.3 万能红外遥控器制作 50
2.3.1 程序模拟发射红外遥控信号 50
2.3.2 通过IRremote库采集与发射红外遥控信号 53
2.3.3 通过逻辑分析仪采集分析与发射信号 56
第3章 蓝牙专题 60
3.1 初识蓝牙 60
3.1.1 蓝牙简介 60
3.1.2 蓝牙协议 60
3.1.3 蓝牙优势 61
3.1.4 蓝牙应用 61
3.1.5 蓝牙系统状态 63
3.1.6 蓝牙地址 64
3.1.7 蓝牙与WiFi 65
3.1.8 蓝牙与ZigBee 65
3.2 蓝牙通信 66
3.2.1 常见蓝牙模块及选购要点 66
3.2.2 蓝牙模块与Arduino电路连接 67
3.2.3 Arduino通信控制示例程序 67
3.2.4 计算机与蓝牙通信 68
3.2.5 手机与蓝牙通信 74
3.3 蓝牙指令设置 75
3.3.1 蓝牙指令设置常识 75
3.3.2 USB转TTL串口模块设置蓝牙指令 76
3.3.3 Arduino程序设置蓝牙指令 82
3.3.4 蓝牙模块HC-05主从互联 84
第4章 网络专题 86
4.1 初识网络 86
4.1.1 网络概述 86
4.1.2 MAC地址 86
4.1.3 Internet地址 87
4.1.4 Client/Server 91
4.2 有线网络通信 93
4.2.1 初识有线网络模块 94
4.2.2 网页访问简单原理 95
4.2.3 访问网页 96
4.2.4 Web服务器 98
4.2.5 异地访问 101
4.3 无线网络WiFi通信 102
4.3.1 初识WiFi模块 102
4.3.2 ESP8266最小系统搭建 104
4.3.3 ESP8266指令初步调试 105
4.3.4 ESP8266进阶调试指令 110
4.3.5 ESP8266访问网页 113
4.3.6 Web控制LED灯闪烁 118
4.3.7 ESP8266使用心得 119
第5章 近距离通信专题 120
5.1 RFID 120
5.1.1 初识RFID 120
5.1.2 RDM6300 124
5.1.3 结语及练习 129
5.2 NFC 129
5.2.1 初识NFC 129
5.2.2 RC522 132
第6章 无线自组网专题 136
6.1 nRF24L01模块自组网 136
6.1.1 线路连接 137
6.1.2 简单收发通信 137
6.1.3 一对多通信 141
6.2 315MHz、433MHz无线模块自组网 142
6.2.1 使用rcswitch库 143
6.2.2 使用改造红外库控制315MHz无线模块 145
6.2.3 影响传输效果的因素 146
参考文献与网站 148