注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络操作系统OpenWrt智能路由系统开发:跟hoowa学智能路由

OpenWrt智能路由系统开发:跟hoowa学智能路由

OpenWrt智能路由系统开发:跟hoowa学智能路由

定 价:¥79.00

作 者: 王伟,孙冰,刘龙 著
出版社: 人民邮电出版社
丛编项: i创客
标 签: 计算机?网络 网络与数据通信

购买这本书可以去


ISBN: 9787115477118 出版时间: 2018-03-01 包装: 平装
开本: 小16开 页数: 230 字数:  

内容简介

  本书汇集了各类基于OpenWrt系统的路由器、物联网、智能家居方向的技能和行业内知名企业的技术经验。本书区别于传统嵌入式系统书籍,并没有一上来介绍那些晦涩的软硬件知识,本书所介绍的内容门槛更低,更适合读者循序渐进地完成学习。书中使用更轻松的表达方式,让读者开开心心便可以完成智能路由器的开发。由于路由器大量采用了开源操作系统,哥伦比亚大学法学院教授Eben Moglen向路由器厂商提出了开源路由器系统部分的要求,这样,2004年OpenWrt诞生了White Russian版,之后每一两年便发布一个新的版本。现今,OpenWrt系统在智能路由器行业已是事实性标准,大量的芯片厂商及路由器厂商(包括小米、极路由、极企科技等知名互联网科技企业)均采用该系统作为路由器或智能家居控制中心,即使宣称没有使用OpenWrt的厂商,也多是在该系统基础之上进行了业务定制。OpenWrt作为开源组织采取松散管理,很难找到一份比较系统的专业技术文档用于爱好者学习。因此2012年由hoowa发起、众多技术“大神”参与的“跟hoowa学智能路由”在线培训开始启航,本书所有内容均原滋原味来源于此。本书遵循“学中做,做中学”的理念,将内容分为19章,读者可以跟着本书内容,边学边做,终完成一个智能路由器的开发。本书主要从OpenWrt这个系统的角度来介绍,但书中内容不局限于路由器本身,通过阅读本书,读者可以掌握智能家居、智能玩具、工业控制等各类不同设备的玩法。本书适合计算机或电子类相关学生、从事IT行业的人员、智能设备或OpenWrt系统的发烧友、各智能设备厂商员工阅读。

作者简介

  孙冰 1982年出生于辽宁省营口市。从小学4年级开始接触互联网,作为第 一批中国互联网弄潮儿,2001年只身到中关村从事Unix/Linux系统开发。2003年成立Perl语言中国协会,致力于Perl语言推广工作,在CSDN开设开源专家博客。2008年创建中国第 一个开源语音通信项目Freeiris。极企科技联合创始人、GLG集团专家顾问、雷锋网专栏撰稿人。王伟副教授。自2009年起,主要从事嵌入式系统软硬件开发相关教学与科研工作,近年来发表中外文学术论文十余篇,出版嵌入式系统开发相关书籍一部,翻译著作一部。多次指导学生参加省级及国-家级专业竞赛,取得优异成绩。从事嵌入式Linux、单片机相关教学工作多年,有较丰富的嵌入式开发经验。刘龙副教授。东北师范大学毕业,自2005年起从事嵌入式Linux系统研究以来,发表中文核心级别以上论文十余篇,参与或主持横纵向项目5项,带领学生取得国-家级比赛奖项若干。从事嵌入式Linux方面教学工作多年,曾设计过多款嵌入式产品,具有较丰富的系统开发经验。

图书目录

第 1章 路由器概述\t1
1.1 传统路由器\t1
1.2 智能路由器\t1
1.3 传统路由器与智能路由器的区别\t2
第 2章 OpenWrt介绍\t3
2.1 什么是OpenWrt\t3
2.2 哪些产品用了OpenWrt\t3
2.3 OpenWrt是如何支持路由器CPU的\t4
第3章 智能路由器硬件\t5
3.1 MIPS架构\t5
3.2 国内常见路由器的配置\t5
3.3 常见路由器芯片厂商\t6
3.4 本书智能路由硬件\t7
3.4.1 本书硬件的由来\t7
3.4.2 MT7620芯片\t7
3.4.3 MR808开发板简述\t8
3.4.4 AXWRT系统\t11
第4章 智能路由开发环境搭建\t12
4.1 小企鹅的力量\t12
4.2 准备学习工具\t13
4.3 安装VirtualBox虚拟机\t13
4.4 在虚拟机中安装Centos\t17
4.4.1 创建新虚拟主机\t17
4.4.2 配置新虚拟机\t18
4.4.3 安装Centos系统\t20
4.5 SSH远程登录\t23
4.5.1 SSH的作用\t23
4.5.2 启动网卡\t23
4.5.3 查看当前IP\t24
4.5.4 SSH连接\t24
4.6 WinSCP文件传输\t25
4.6.1 SCP协议\t25
4.6.2 安装WinSCP客户端\t26
4.6.3 创建到Linux的连接\t28
4.6.4 文件传输\t29
第5章 基本知识\t30
5.1 向系统下达命令\t30
5.2 时间命令\t30
5.2.1 查看当前日期\t30
5.2.2 查看当前日历\t31
5.3 关机和重启\t31
5.3.1 立即安全关闭系统\t31
5.3.2 重新启动系统\t31
5.3.3 强制将缓存写入存储器\t31
5.4 权限机制\t31
5.4.1 文件权限\t32
5.4.2 所有者\t32
5.4.3 文件容量\t32
5.4.4 文件日期\t32
5.4.5 可执行文件\t32
5.4.6 隐含文件\t33
5.4.7 修改所有人\t33
5.4.8 修改所有组\t33
5.4.9 修改文件权限\t34
5.5 文件与目录管理\t34
5.5.1 路径概念\t34
5.5.2 特殊目录\t35
5.5.3 变换目录\t35
5.5.4 查看当前所在目录是哪个\t35
5.5.5 创建目录\t36
5.5.6 删除目录\t36
5.5.7 列表文件和目录\t36
5.5.8 复制文件或目录\t37
5.5.9 删除文件或整个目录\t38
5.5.10 移动或更名\t38
5.6 文件分析\t39
5.6.1 查看文件内容\t39
5.6.2 分行查看\t39
5.6.3 查看文件后几行\t39
5.6.4 查看启动信息\t40
5.7 更多指令\t40
5.8 Vi编辑器\t40
5.8.1 Vi介绍\t40
5.8.2 Vi的命令\t40
5.8.3 Vi的3个状态\t41
5.8.4 Vi编辑操作\t41
5.9 基础Shell编程\t43
5.9.1 何为Shell编程\t43
5.9.2 Shell的运行方式\t44
5.9.3 Hello World!\t44
5.9.4 变量\t44
5.9.5 运算符\t47
5.9.6 注释语法\t53
5.9.7 字符串\t54
5.9.8 条件判断\t54
5.9.9 循环表达\t56
5.9.10 输入/输出重定向\t58
5.9.11 使用黑洞,一劳永逸\t59
第6章 OpenWrt刷机\t61
6.1 通过串口进入系统\t61
6.1.1 操作板子注意事项\t61
6.1.2 连接串口步骤\t61
6.2 认识U-Boot\t63
6.3 U-Boot的TFTP刷机\t64
6.3.1 TFTP的准备\t64
6.3.2 TFTP刷机流程\t65
6.3.3 可能遇到的问题\t67
6.4 U-Boot的Web刷机\t67
6.4.1 触发按钮准备\t67
6.4.2 可能遇到的问题\t69
第7章 分区、外网与OPKG\t70
7.1 了解分区\t70
7.1.1 查看系统MTD分配\t72
7.1.2 查看系统MTD的分区\t72
7.1.3 将非文件系统分区读出来\t72
7.2 文件系统\t73
7.2.1 透明挂载/根目录\t73
7.2.2 基本系统演示\t74
7.2.3 第 一次接入网络\t75
7.3 软件包管理OPKG\t77
7.3.1 OPKG语法格式\t77
7.3.2 软件包的内核依赖问题\t78
7.3.3 OPKG的配置\t78
7.3.4 关于OPKG软件包\t79
第8章 UCI命令系统\t80
8.1 UCI命令\t80
8.2 UCI的文件和流程\t80
8.3 UCI的文件语法\t81
8.3.1 config节点语法格式\t81
8.3.2 option选项语法格式\t82
8.3.3 list列表选项语法格式\t82
8.3.4 UCI的语法容错\t82
8.3.5 UCI无法容忍的语法\t82
8.4 UCI命令读写配置\t82
8.4.1 读取类语法\t83
8.4.2 写入类语法\t83
8.5 综合实例\t84
8.5.1 语法测试\t85
8.5.2 举例开启Wi-Fi\t86
第9章 智能路由配置\t88
9.1 网络配置文件\t88
9.1.1 查看网络配置\t88
9.1.2 查看当前网络\t89
9.1.3 查看br-lan桥状态\t90
9.1.4 查看内核日志\t91
9.1.5 网口VLAN\t91
9.2 配置WAN口外网\t91
9.2.1 动态获取IP选项\t92
9.2.2 静态IP语法\t92
9.2.3 PPPOE拨号上网语法\t93
9.2.4 WAN口设置\t94
9.2.5 WAN口设置\t94
9.3 配置LAN口服务\t95
9.4 配置无线网络\t97
9.4.1 无线查看命令\t99
9.4.2 实现无线中继\t99
9.5 DHCP服务\t102
9.6 如何连接外网\t105
第 10章 防火墙与UPnP\t106
10.1 防火墙命令\t106
10.2 防火墙配置\t106
10.2.1 defaults默认配置\t107
10.2.2 zone域配置\t107
10.2.3 forwarding转发配置\t108
10.2.4 rule规则\t109
10.2.5 direction端口转发\t110
10.3 实现UPnP\t111
10.3.1 安装UPnP\t111
10.3.2 配置UPnP\t112
10.3.3 UPnP命令\t114
第 11章 时区、服务、SSH与SCP\t115
11.1 信息和时区\t115
11.2 服务管理\t118
11.3 SSH远程登录\t118
11.3.1 SSH配置\t118
11.3.2 SSH登录\t119
11.4 SCP文件复制\t121
11.4.1 安装SCP客户端\t121
11.4.2 SCP操作\t123
第 12章 存储器扩展\t124
12.1 实现原理\t124
12.2 存储器选型\t124
12.3 初始化存储器\t125
12.3.1 存储器软件包\t125
12.3.2 识别存储器\t126
12.3.3 存储器分区\t126
12.3.4 存储器格式化\t128
12.4 存储器扩容设置\t129
12.4.1 rootfs_data数据迁移\t129
12.4.2 获得存储器UUID\t130
12.4.3 自动挂载配置\t130
12.4.4 存储区自动挂载\t132
12.4.5 swap交换区自动挂载\t133
12.4.6 关于挂载的注意事项\t134
第 13章 网络存储与文件共享\t135
13.1 Windows文件共享实现\t135
13.1.1 创建文件夹/pub\t135
13.1.2 安装Samba\t135
13.1.3 Samba配置说明\t135
13.1.4 配置共享目录\t137
13.1.5 Windows连接方法\t137
13.2 FTP文件共享实现\t139
13.2.1 安装Pure-FTPD\t139
13.2.2 Pure-FTPD配置说明\t139
13.2.3 配置Pure-FTPD\t140
13.2.4 创建FTP账户\t141
13.2.5 FTP穿越防火墙\t142
13.2.6 WinSCP做FTP客户端\t143
13.2.7 浏览器作FTP客户端\t144
第 14章 智能路由器媒体中心\t145
14.1 USB声卡驱动支持\t145
14.1.1 媒体播放条件\t145
14.1.2 选择合适的USB声卡\t145
14.1.3 安装声卡驱动\t145
14.1.4 设置默认音量\t146
14.1.5 用命令行播放MP3\t147
14.2 安卓手机远程播放音乐\t147
14.2.1 MP介绍\t147
14.2.2 安装MPD服务\t148
14.2.3 安卓系统安装客户端\t151
14.2.4 关于安卓手机播放音乐\t153
14.3 DLNA数字媒体服务器\t153
14.3.1 DLNA介绍\t154
14.3.2 安装配置MiniDLNA\t154
14.3.3 Inotify与overlay的冲突\t156
14.3.4 启动服务\t157
14.3.5 DLNA客户端\t157
14.3.6 DLNA其他功能\t159
14.4 苹果AirPlay播放音乐\t159
14.4.1 AirPlay介绍\t159
14.4.2 安装与配置Shairport\t159
14.4.3 辅助配置和检查\t161
14.4.4 使用终端播放\t162
第 15章 智能路由器编程工具\t163
15.1 Web+PHP建站系统\t163
15.1.1 PHP语言\t163
15.1.2 Web服务\t164
15.1.3 PHP测试代码\t167
15.2 SQLite3与MySQL数据库应用\t169
15.2.1 SQLite3数据库\t169
15.2.2 MySQL数据库\t173
15.3 Python、Lua与Ruby编程工具\t174
15.3.1 Python\t174
15.3.2 Lua\t175
15.3.3 Ruby\t175
第 16章 智能路由器服务软件\t177
16.1 VPN(PPTP)服务器与
客户端\t177
16.1.1 PPTP协议VPN服务器\t177
16.1.2 PPTP协议VPN客户端\t181
16.2 USB摄像头\t183
16.2.1 USB摄像头准备\t183
16.2.2 MJPG-streamer\t184
16.2.3 浏览器访问\t186
16.3 迅雷远程下载\t187
16.3.1 迅雷远程下载条件\t187
16.3.2 迅雷远程下载\t190
16.4 WiFiDog广告路由器\t192
16.4.1 WiFiDog功能服务\t192
16.4.2 WiFiDog验证界面\t195
第 17章 编译定制OpenWrt固件\t197
17.1 OpenWrt编译环境\t197
17.1.1 编译与交叉编译\t197
17.1.2 AxWRT与OpenWrt的
关系\t198
17.1.3 OpenWrt的版本关系\t199
17.1.4 准备编译环境\t199
17.2 OpenWrt固件生成\t200
17.2.1 编译流程\t200
17.2.2 获取AxWRT源代码\t200
17.2.3 获取软件包源代码\t201
17.2.4 OpenWrt菜单选项配置\t201
17.2.5 编译固件\t203
17.2.6 清理编译\t204
17.2.7 编译完成\t204
17.3 OpenWrt源码预设\t205
17.3.1 Feeds源\t205
17.3.2 OPKG自定义软件仓库\t206
17.3.3 预设编译参数文件\t206
17.3.4 OpenWrt文件夹的作用\t206
17.3.5 Target/Linux下平台预设文件\t207
17.4 OpenWrt官方版编译\t208
17.4.1 关于编译\t208
17.4.2 关于硬件支持\t209
第 18章 编译定制IPK软件包\t210
18.1 IPK软件包与OPKG命令\t210
18.2 IPK软件包规范\t210
18.2.1 Makefile格式与流程\t211
18.2.2 PKG_*任务的作用\t212
18.2.3 定义Build/*的作用\t213
18.2.4 定义Package/*的作用\t213
18.2.5 IPK软件包补充说明\t214
18.3 简易软件包mytest\t215
18.3.1 mytest软件包的制作\t215
18.3.2 mytest调试\t216
18.3.3 下载测试\t217
18.4 软件包示例xware\t218
18.5 软件包示例shairport\t219
第 19章 智能路由器外设应用实例\t221
19.1 OpenWrt的硬件支持\t221
19.1.1 DTS设备树\t221
19.1.2 GPIO总线\t223
19.2 OpenWrt对LED驱动的支持\t224
19.2.1 LED电路设计\t224
19.2.2 手动测试LED\t224
19.2.3 将LED注册为系统标准LED\t225
19.2.4 LED设置心跳功能\t226
19.2.5 将LED设置为WAN口状态\t226
19.3 OpenWrt对按钮驱动的支持\t226
19.3.1 按钮电路设计\t226
19.3.2 手动测试按钮\t227
19.3.3 将按钮注册为系统按钮\t228
19.3.4 编写脚本检测按钮时长\t228
19.4 OpenWrt对继电器驱动的支持\t229
19.4.1 继电器电路设计\t229
19.4.2 手动测试继电器\t230

本目录推荐