物联网核心技术丛书 物联网系统开发 树莓派JavaScript编程指南
作者:(墨西哥)鲁本 奥利瓦 拉莫斯( Ruben Oliva Ramos)著 杨悦伦 译
出版时间: 2018年版
内容简介
本书首先介绍了如何设置一个中心网络服务器作为设备的连接中心。之后,进一步介绍了搭建网页服务来实现已连接设备之间的高层次通信。利用Arduino和树莓派Zero作为终端设备,本书展示了设备之间如何通信,如何实现各种任务,以及如何用JavaScript从一个中心设备进行控制。后,本书创建了一个复合的APP来控制设备,这些设备可以通过网页或智能手机运行。
目录
目 录 Contents
译者序
关于作者
前言
第1章 初识树莓派Zero1
1.1 设置树莓派Zero1
1.1.1 准备SD卡2
1.1.2 安装Raspbian操作系统2
1.1.3 利用串口控制电缆调试树莓派Zero3
1.1.4 使用COM串口测试和通信4
1.2 联网与远程控制树莓派7
1.2.1 连接以太网络7
1.2.2 用SSH接入树莓派Zero8
1.2.3 连接Wi-Fi10
1.3 如何安装无线工具10
1.4 测试通信13
1.5 更新package库14
1.6 远程桌面16
1.7 自定义网络服务器18
1.8 测试PHP安装19
1.9 总结21
第2章 连接树莓派Zero22
2.1 数字信号输入:传感器DS18B2022
2.1.1 硬件要求22
2.1.2 硬件连接23
2.2 自定义单线协议24
2.2.1 软件自定义25
2.2.2 在屏幕上显示读数26
2.3 用模数转换器MCP3008输入模拟信号26
2.4 树莓派GPIO引脚头28
2.5 连接RTC32
2.6 设置DS3231模块35
2.7 测试RTC37
2.8 I2C设备设置37
2.9 最终测试RTC38
2.10 总结39
第3章 接入传感器——测量现实事物40
3.1 读取流水传感器来计算水的体积41
3.1.1 硬件连接41
3.1.2 读取传感器信号41
3.2 用Arduino读取和统计脉冲42
3.3 根据统计的脉冲数量计算水流速度43
3.4 计算水的流速和体积44
3.5 测量煤气浓度48
3.6 用传感器测量酒精浓度50
3.7 用传感器监测火焰51
3.8 测量植物湿度53
3.9 测量容器中的水量55
3.10 测量温度、湿度和光照,并把数据显示到LCD屏幕上57
3.10.1 硬件和软件要求57
3.10.2 测试传感器59
3.10.3 在LCD上显示数据60
3.11 用PIR传感器监测物体运动62
3.12 用簧片开关监测门是否被打开63
3.13 用指纹传感器管理进门人员64
3.13.1 硬件设置64
3.13.2 保存指纹65
3.13.3 测试传感器69
3.14 总结71
第4章 控制连接的设备72
4.1 利用Node.js制作一个简单的网络服务器72
4.2 利用Restful API和Node.js让树莓派控制一个继电器73
4.2.1 JSON 结构74
4.2.2 aREST API指令74
4.2.3 在树莓派Zero上安装Node.js74
4.3 从浏览器用aREST指令控制继电器75
4.4 将电脑上的Node.js设置成网络服务器77
4.4.1 下载Node.js78
4.4.2 安装Node.js78
4.4.3 用Node.js设置网络服务器端口808080
4.5 用Arduino Wi-Fi扩展板和Node.js监控温度、湿度和光照81
4.6 用Arduino以太网扩展板和Node.js监控温度、湿度和光照87
4.6.1 Arduino以太网扩展板的应用代码87
4.6.2 设置设备的Node.js90
4.7 总结91
第5章 在你的安全系统中添加网络摄像头92
5.1 Arduino和树莓派间的互动92
5.1.1 在Raspbian系统下安装Arduino IDE93
5.1.2 远程连接树莓派93
5.1.3 用图像接口执行Arduino93
5.2 Raspbian系统下的Arduino界面94
5.2.1 准备工作95
5.2.2 选择串口95
5.2.3 从图形界面下载程序96
5.3 从树莓派Zero控制一个Arduino的输出口97
5.4 用Python控制Arduino98
5.5 将TTL串口摄像头连接到Arduino,并将图像保存到micro SD卡99
5.6 用TTL串口摄像头监测运动101
5.7 用树莓派控制快照拍摄102
5.8 用网页控制摄像头104
5.8.1 通过PHP启动Python脚本104
5.8.2 Python脚本代码105
5.9 在安全网络中监控USB摄像头106
5.9.1 设置Arduino YUN106
5.9.2 从MJPG-STREAMER服务器监控108
5.9.3 用树莓派监控USB摄像头108
5.10 总结109
第6章 搭建网络监视器和用仪表盘控制设备110
6.1 设置MySQL数据服务器110
6.1.1 安装MySQL111
6.1.2 安装PHP的MySQL驱动113
6.1.3 测试PHP和MySQL113
6.2 安装phpMyAdmin管理数据库115
6.2.1 设置Apache服务器116
6.2.2 从远程控制面板进入phpMyAdmin118
6.2.3 展示Arduinobd数据库118
6.2.4 从Arduino的以太网扩充板发送数据到网页服务器119
6.3 MySQL的Datalogger121
6.3.1 脚本语言编程121
6.3.2 测试连接122
6.4 数据库查询123
6.4.1 脚本软件123
6.4.2 展示特定数据的脚本124
6.4.3 查询记录的温度125
6.5 LED的控制和调光126
6.5.1 软件要求126
6.5.2 测试LED127
6.5.3 从界面控制LED128
6.6 控制直流电机129
6.7 用电路控制灯132
6.8 其他电气用具135
6.8.1 控制门锁135
6.8.2 控制浇水136
6.9 从任何地方远程访问树莓派Zero136
6.9.1 如何访问并设置路由器137
6.9.2 设置动态DNS139
6.9.3 创建No-ip.org账号140
6.10 控制灯并且测量电流消耗141
6.11 从已经连接的设备和传感器上控制与监视Arduino、Wi-Fi和以太网扩展板147
6.11.1 编写控制和监控设备的单一接口代码147
6.11.2 为监视和控制添加设备148
6.12 总结150
第7章 用物联网仪表盘搭建监视设备151
7.1 可以检测噪声的监听麦克风151
7.2 管理交流灯调光器的电流153
7.2.1 硬件要求153
7.2.2 软件代码154
7.3 用RFID卡控制访问156
7.3.1 硬件要求156
7.3.2 软件要求157
7.3.3 软件代码157
7.4 监测烟雾160
7.5 用树莓派Zero