欢迎光临
免费的PDF电子书下载网站

嵌入式网络那些事——STM32物联实战 PDF下载

编辑推荐

  骨灰级一线嵌入式专家“五木”呕心力作

  基于STM32实战环境,直观感受各层协议在嵌入式设备组网过程中的实际应用,学习TCP/IP不再是纸上淡兵

  实用的STM32学习资料,**鲜的实战例程,轻松诙谐,简单直白

  从协议栈原理及使用方法,到编程框架,讲解透彻

  从性能与稳定性测试,到问题定位与调试,干货多多

 ;

 ;

内容简介

本书面向网络TCP/IP协议初学者以及大量嵌入式网络开发人员,从当下流行的嵌入式网络协议栈LwIP的源代码入手,详细讲解TCP/IP协议的各层机制及其实现原理。同时,通过搭建简单的实验环境,本书还详细阐述LwIP在嵌入式设备组网过程中的移植过程、应用编程案例、编程框架、注意事项等。

本书共分为四大部分,第一部分讲解基于STM32平台下LwIP的移植过程,其中包括了LwIP代码组织结构与特点,以及LwIP裸机移植通用流程;第二部分,以LwIP源代码为基础,以网络数据包在协议栈内部的递交顺序做导向,结合TCP/IP协议基本知识,依次讲解LwIP内核各个模块的实现机制,包括数据包管理、网络接口管理、ARPIPICMPUDPTCP等;第三部分,讲解LwIP上层API实现机制,以及常见的网络应用程序结构以及编程方法,以及LwIP其他高级应用,如IGMPDNSDHCP等;第四部分,讲解内核调试、协议栈稳定性和性能、并发服务器设计等,以及LwIP在具体项目中的应用和实践过程,同时还包括了LwIP在实际应用中常见的问题及解决方法。

本书可作为TCP/IP学习者的快速入门及精通的指导书籍,还可作为广大嵌入式网络开发人员的参考手册。

 ;

作者简介

  朱升林非著名码农,法号及网名“老衲五木”,风靡网络的电子书《LwIP协议栈源码详解——TCP/IP协议的实现》及热卖图书《嵌入式网络那些事:LwIP协议深度剖析与实战演练》作者。对TCP/IP有丰富的实践经验和深入独到的理解,长期从事物联网热点技术如(ZigBeeWi-FiHF RFIDUHF RFID)的研究与应用。目前在国内某知名通信公司从事软件研发工作。

嵌入式网络那些事——STM32物联实战 PDF下载

目录

前言
第1章实验平台背后的故事
1.1嵌入式网络技术一统江湖
1.1.1嵌入式网络的发展现状
1.1.2嵌入式LwIP协议栈
1.2基于STM32的实验平台浅析
1.2.1STM32处理器的兴起
1.2.2实验平台简介
1.2.3网卡连接情况
1.3本书主要内容


第2章LwIP协议栈初体验
2.1庐山真面目之LwIP代码结构
2.1.1LwIP简介
2.1.2源代码结构
2.2怎样用SI阅读源代码
2.3千里之行从LwIP框架做起
2.3.1协议栈分层思想
2.3.2进程模型
2.3.3协议栈编程接口


第3章LwIP移植初探--无操作系统模拟层
3.1移植说明
3.2移植头文件
3.3网卡驱动编写
3.4安装系统时钟
3.5协议栈初始化
3.6查询接收数据包
3.7数据包中断接收
3.8如何定位Ping问题


第4章内核动力之源--内存管理
4.1内存管理背后的故事
4.1.1内存管理概述
4.1.2常见内存分配策略
4.2以不变应万变--动态内存池
4.2.1数据结构描述
4.2.2函数实现
4.3见招拆招--动态内存堆
4.3.1数据结构描述
4.3.2函数实现
4.4其他内存分配策略


第5章网络数据包--内核血液
5.1数据包管理的必要性
5.1.1LwIP的分层特点
5.1.2协议进程模型
5.2数据包管理原理大揭密
5.2.1数据包结构pbuf
5.2.2pbuf的类型
5.2.3数据包申请函数
5.2.4数据包释放函数
5.2.5其他数据包操作函数


第6章网络抽水机--网络接口管理
6.1引言
6.2接口管理的始与末
6.2.1数据结构
6.2.2函数实现
6.3特殊的网络接口--环回
6.3.1实现原理
6.3.2应用程序环回通信实战
6.4如何动态更改IP地址
6.4.1重要函数
6.4.2实战程序


第7章漫漫鹊桥路--ARP协议
7.1ARP协议之扫盲篇
7.1.1物理地址与网络地址
7.1.2ARP协议的本质
7.2关键数据结构
7.2.1ARP表
7.2.2ARP报文
7.3ARP之数据包引进来
7.3.1以太网数据包递交
7.3.2ARP数据包处理
7.3.3ARP攻击
7.3.4ARP缓存表的更新
7.4ARP之数据包走出去
7.4.1ARP层数据处理总流程
7.4.2广播包与多播包的发送
7.4.3单播包的发送


第8章互联网身份证--网际协议(IP)
8.1IP协议之扫盲班
8.1.1概述
8.1.2IP地址
8.1.3特殊IP地址
8.1.4子网划分与子网掩码
8.1.5网络地址转换(NAT)
8.1.6单播、多播与广播
8.2什么是IP数据报
8.2.1数据报组成结构
8.2.2数据结构
8.3IP数据报之走出去
8.3.1发送数据报
8.3.2数据报分片
8.4IP数据报之引进来
8.4.1数据报接收
8.4.2分片重装数据结构
8.4.3分片重装函数
8.4.4分片插入与检查


第9章互联网医生--ICMP协议
9.1ICMP扫盲班
9.1.1ICMP协议
9.1.2报文交付
9.1.3报文类型
9.1.4报文格式
9.1.5差错报文
9.1.6查询报文
9.2ICMP实现大起底
9.2.1数据结构
9.2.2发送差错报文
9.2.3ICMP报文的处理
9.2.4ping命令
9.2.5ICMP洪水
9.3如何发送Ping请求
9.3.1实现原理--raw_pcb
9.3.2发送ping请求
9.3.3测试结果


第10章RawAPI无招胜有招之UDP篇
10.1UDP协议扫盲班
10.1.1传输层协议
10.1.2UDP协议
10.1.3端口号
10.1.4UDP报文的交付
10.1.5UDP报文格式
10.1.6UDP伪首部与校验和
10.2UDP数据结构详解
10.2.1报文首部结构
10.2.2控制块
10.3UDPRAW编程秘籍
10.3.1使用UDP编程
10.3.2新建控制块
10.3.3绑定控制块
10.3.4连接控制块
10.3.5其他控制块操作函数
10.4UDPRAW编程初体验
10.4.1UDP编程秘诀
10.4.2回送程序
10.4.3测试结果
10.4.4回调编程的缺陷
10.5内核报文处理细节
10.5.1报文的发送
10.5.2报文接收与递交
10.6挑战更复杂的UDP应用
10.6.1使用TFTP传送文件
10.6.2应用程序实现
10.6.3TFTP测试结果


第11章RawAPI无招胜有招之TCP篇
11.1TCP协议大揭秘
11.1.1TCP的必要性
11.1.2TCP的特性
11.1.3连接的定义
11.1.4数据流编号
11.1.5滑动窗口
11.2TCP入门--报文
11.2.1报文格式
11.2.2TCP选项
11.2.3紧急数据
11.2.4强迫数据交互
11.2.5报文首部数据结构
11.3TCP基础--连接
11.3.1建立连接
11.3.2断开连接
11.3.3复位连接
11.3.4TCP状态转换图
11.3.5特殊的状态转换
11.4TCP核心--控制块
11.4.1控制块数据结构
11.4.2控制块链表
11.4.3接收窗口
11.4.4发送窗口
11.5TCPRAW编程秘诀
11.5.1控制块新建
11.5.2控制块绑定
11.5.3控制块侦听
11.5.4控制块连接
11.5.5发送数据
11.5.6关闭连接
11.5.7其他函数
11.6TCPRAW编程初体验
11.6.1TCP编程本质
11.6.2HTTP服务器
11.6.3打不死的客户端
11.7TCP输出处理细节放送
11.7.1报文段缓冲
11.7.2报文段构建
11.7.3报文段发送
11.8TCP输入处理细节放送
11.8.1TCP层函数调用流程
11.8.2报文输入
11.8.3TIME_WAIT状态的报文处理
11.8.4LISTEN状态的报文处理
11.8.5SYN攻击
11.8.6TCP状态机函数
11.8.7TCP数据输入
11.9可靠的传输服务
11.9.1超时重传与RTT估计
11.9.2慢启动与拥塞避免
11.9.3快速重传与快速恢复
11.9.4糊涂窗口与避免
11.9.5零窗口探查
11.9.6保活机制
11.9.7TCP定时器
11.10挑战更复杂的TCP应用
11.10.1Telnet服务器
11.10.2测试结果


第12章LwIP乾坤大挪移--操作系统
模拟层
12.1模拟层是怎样炼成的
12.1.1移植综述
12.1.2添加文件
12.1.3修改头文件lwipopts.h
12.1.4头文件sys_arch.h
12.1.5全局变量与初始化
12.1.6信号量函数
12.1.7邮箱函数
12.1.8创建新进程
12.1.9修改内核初始化函数
12.1.10移植结果测试
12.2SequentialAPI牛刀小试
12.2.1回显服务器
12.2.2Web服务器
12.2.3操作系统下的rawAPI


第13章SequentialAPI大显身手
13.1探秘内核定时事件
13.1.1定时结构
13.1.2定时链表
13.1.3内核进程
13.1.4处理定时事件
13.2论消息机制的重要性
13.2.1消息结构
13.2.2数据包消息
13.2.3协议栈API实现
13.2.4API消息
13.3协议栈接口全搜罗
13.3.1用户数据缓冲netbuf
13.3.2如何操作数据缓冲
13.3.3连接结构netconn
13.3.4内核回调接口
13.3.5协议栈API秘籍
13.4SequentialAPI大会战
13.4.1网页控制设备
13.4.2UDP性能测试
13.4.3TCP性能测试
13.4.4并发服务器


第14章万剑归宗之Socket编程
14.1套接字接口来龙去脉
14.1.1如何实现Socket
14.1.2套接字函数秘籍
14.2Socket实战大串烧
14.2.1智能的TCP客户端
14.2.2UDP时间服务器
14.2.3Winsock客户端设计
14.3基于Select的并发服务器
14.3.1神奇的Select函数
14.3.2Select原理全解析
14.3.3Select实战--并发服务器


第15章LwIP工程实战--物联网关
15.1项目背景
15.1.1中央空调系统与温控器
15.1.2新需求的出现
15.1.3要做什么与如何去做
15.2智能网络温控器
15.2.1温控器实现方案
15.2.2ModbusTCP服务器
15.3物联网关设计
15.3.1物联网关实现方案
15.3.2网关服务器
15.4现场调试与测试
15.4.1温控器测试
15.4.2物联网关测试


第16章天下之术皆为我用--LwIP高级篇
16.1外网访问之道--域名解析
16.1.1域名系统(DNS)
16.1.2DNS牛刀小试
16.1.3下载外网数据
16.2如何自动分配IP地址--DHCP
16.2.1DHCP大讲堂
16.2.2DHCP之实现详解
16.2.3是骡子是马--遛遛DHCP
16.3如何实现组播--Internet组管理
16.3.1IGMP协议大讲堂
16.3.2IGMP组播实践


第17章最后的战役
17.1如何配置协议栈
17.1.1内核配置文件opt.h
17.1.2如何提高TCP性能
17.2内核调试常用方法
17.2.1内核日志输出
17.2.2网络调试助手
17.2.3Wireshark抓包
17.3为了更好的明天
17.3.1常见移植问题
17.3.2常见应用问题
17.4故事结局
参考文献

 

 

前沿

  两三年前,当整个世界都在大力倡导物联网、宣扬物联网改变世界的时候,很多人还一直觉得它是很虚幻的东西。而如今,物联网技术却实实在在地出现在了我们的生活中。物联网涉及到一系列广泛的技术,并没有完全统一的标准,其本质是所有物体通过一定的方式连入互联网,能够共享自身的一些信息,这些信息或为用户使用,或成为用户远程控制设备的基础。物联网当前已经存在了多种纯熟的入网技术,比如Wi-Fi、以太网、ZigBee、GPRS/3G/4G等。不同的应用场合,根据产品成本和应用特性的考虑,设备可以选择不同的入网方法。
  当前在物联网领域,既有像华为这样的世界级大公司,也有像Sigfox这样的新型创业型公司。物联网的一个重要方向是上十亿百亿的小物体的互联,这些小设备入网并不以大数据量交换为目的,它们只是简单地上报自身状态,或者使用传感器完成某些简单检测功能,比如垃圾箱需要入网,在适当的时候上报自身的储存状态;售货机需要入网,以上报售货状态,是否需要补货;防盗门需要入网,可随时上报异常开关状态;珍惜动物需要入网,方便对它们进行跟踪保护,以免遭到非法捕杀等。类似于这样的小型设备入网需求不胜枚举,它们并不需要太大的数据量通信,或许每小时几百字节的数据就足以满足应用的要求。在这种需求下,使用传统的入网方法无论从成本上还是从实现上都是难以接受的(Wi-Fi的有效范围太小,移动网络价格太贵,功耗太大)。“物体的互联需要一张专门的无线互联网”,这是Sigfox公司提出的一个观点,它们正致力于为所有小物体入网构建一张专有的网络,这张网络可以和目前的2G/3G/4G网络相匹敌。Sigfox的设计中有一种基于超窄带技术的物联网基站,它能向设备提供超远距离的无线互联(10~20公里),以牺牲数据通信速率为前提,设备的无线功率损耗将降至最低,据Sigfox透露这样一款小型设备在一块普通电池的供应下能持续工作数年之久,而设备的每个模块成本可以降到几美元,每年的设备连接维护费也仅为1美元多一点。
  Sigfox成功地解决了小型设备入网的功耗和成本问题,为世界上数以亿计的设备连入互联网提供了完美的解决方案。“成为物体而非人的运营商”是Sigfox目前的发展方向,目前该公司已将技术提交给了欧洲电信标准协会,希望将其专有技术变成标准。值得指出的是,华为也正致力于远距离低功耗无线通信技术的研发,这点同Sigfox的技术不谋而合,这也许是未来小物体互联发展的热点。或许在不久的将来,我们就会见证另一个中国移动、中国电信的诞生。
  以此为契机,越来越多的小设备会连入互联网,尽管在物理层上各种入网方案存在差别,但在这之上,嵌入式设备入网需要使用标准的TCP/IP协议,目前业界可以使用的TCP/IP协议栈较少,嵌入式设备入网比较流行的解决方案主要是使用硬件TCP/IP芯片或者收费TCP/IP协议栈软件,这两种方案一定程度上增加了设备的成本,使用灵活性也受到一定限制,进而阻碍了嵌入式网络产品的大力发展。
  LwIP是TCP/IP协议的一种开源实现,具有丰富完善的功能,最新版本还支持DHCP、DNS等服务,适合于在32位的嵌入式处理器上使用。LwIP作为一款开源软件,可免费使用,能作为设备入网的一种比较完美的解决方案,由于其代码量小,特别适合于小型嵌入式领域使用。目前LwIP在国内已经有了一定的市场占有量,但是相关的资料仍然缺乏,缺少专业的书籍对协议栈原理、使用方法、编程框架、性能与稳定性测试、问题定位与调试等方面做详细说明,这影响了LwIP在物联网领域的广泛使用以及大量开发者进入嵌入式网络领域的脚步。
  笔者的《嵌入式网络那些事:LwIP协议深度剖析和实战演练》一书在一定程度上满足了开发者对LwIP相关知识的需求,在市场上也有很好的销量,得到了读者的好评。但是这本书还是存在一定的不足:一是书的开发平台目前已经停产,由于不是目前最流行的嵌入式处理器,因此该书的实验移植过程对很多读者来说理解有困难;第二,该书更注重于LwIP理论的讲解,以及对TCP/IP协议原理深入的学习,书中的实验相对较简单,这并不能满足广大开发者以及学校实验环境的需求。因此,笔者一直筹划推出本书作为第二版,主要在以下几方面做了改进:首先会在目前流行的STM32处理器上完成所有实验与测试,同时在应用上加入更多丰富实用的实战例程,并且对于很多编程方法抽象出程序框架,开发者只要在这个框架基础上做简单的改动,便可以完成自己的应用程序;其次对于有一定经验的LwIP开发者,可能更加关注于内核调试、协议栈稳定性和性能相关内容,本书也从这两方面着手,提出了一定的实验和方法,满足广大开发者的需求;再次,为了更方便初学者入门,本书丰富了socket标准接口编程方面的原理和实践内容,同时增加了并发服务器设计的相关知识,可以更好地满足如今在市场上越来越复杂的联网需求;最后,笔者从亲自参与并设计的一款物联网网关入手,从原理设计、需求分析、程序架构设计、程序调试等方面详细介绍LwIP在现实项目中的实战经验,希望可以给广大物联网开发工程师带来一定的参考意义。
  写本书的目的可以归纳为三点:第一,给需要使用LwIP的人一个借鉴和解决问题的方法,这也是当初《嵌入式网络那些事:LwIP协议深度剖析和实战演练》一书的写作初衷;第二,也是最基础的,写给那些需要学习TCP/IP的同学,TCP/IP的重要性就不在这里多说了,遥想笔者当年毕业找工作之季,辗转于各大公司的招聘面试场所,TCP/IP真的是面试官最青睐的问题,笔者也恰好因为在这方面有着独到的理解,因此顺利拿下了国内外众多知名企业的offer,所以本书也想告诉那些正在努力的同学,学习TCP/IP是绝对值得的,这是一条康庄大道;第三,也是最重要的,嵌入式网络离不开实践,本书以目前流行的STM32处理器作为实践平台,读者能在实验平台上实际运行、调试网络应用程序,更可以修改协议栈内核,修改的每一行代码都能在实验板上看出实际效果。
  网络编程大神们可以绕道了,这里没有IPSec,没有SSL,没有并发服务器,没有每秒上亿次的服务请求,我们玩的是低端玩意;神秘黑客们也可以绕道了,这里没有系统漏洞,没有文件系统,没有账号,玩不转木马,您都不屑于和我们较真。本书的使用者定位在嵌入式初学者、网络初学者以及对LwIP应用有兴趣或疑问的同学,你们一定可以在本书中找到想要的东西。
  本书背景
  TCP/IP技术是目前最流行的IT技术之一,也是当代互联网及相关技术应用、发展的基石。近年来,TCP/IP技术在各大高校俨然已成为学习和研究的热点;而另一方面,TCP/IP知识也成了各IT企业招聘时关注的重点问题。对于广大TCP/IP初学者来说,要真正掌握并精通TCP/IP协议其实是有难度的:首先,TCP/IP是个非常庞大的协议簇,其源代码一般只存在于各个大型操作系统内核中,协议的整体结构对于使用者来说不可见,学习者只能使用系统内部提供的API完成网络编程功能,但对协议内部的实现细节并不明了,这样TCP/IP的学习者只能停留在上层应用,如Socket编程的层次,而事实上,了解协议内部运作细节是编写高效可靠应用程序的基础;其次,目前市场上针对TCP/IP的书籍较少,而与TCP/IP协议内部机制相关的实验书籍就更加缺乏了,读者只能从书本上学到一些关于TCP/IP的基础理论知识,但很难将这些理论用于实际编程实践中,因为系统内核对于读者来说并不可见。
  目前,嵌入式产品连入互联网已成了越来越多企业关注的热点,这使得在嵌入式产品上移植TCP/IP协议成为一种必然的趋势。LwIP是应用于嵌入式领域的一款开源TCP/IP协议,它的实现同BSD的实现有很大的相似性,可以作为TCP/IP协议的典型代表,其功能完备,除了实现TCP/IP的基本通信功能外,其新版本还支持DNS、SNMP、DHCP、IGMP等高级应用功能。当前网络上关于LwIP的讨论很多,但市场上却鲜见相关书籍。
  本书特点
  理论与实践结合是本书编写的一个重要出发点,不但让读者掌握TCP/IP理论知识,而且让读者通过实验深入地理解并运用这些知识,达到学以致用的目的。首先,整个协议栈对读者来说全部可见,这样读者能对TCP/IP协议有宏观的把握,摒弃掉TCP/IP以往神秘的面纱;本书以网络数据包在协议栈内部的递交顺序为编写导向,思路明显,条理清楚,语言精简幽默,更利于读者对TCP/IP协议基本知识的理解;最后,本书内容大部分建立在读者开发经验之上,其中包括了很多LwIP在实际应用中遇到的问题及其解决方法,这对大部分刚接触LwIP的嵌入式开发人员来说,有很大的指导意义。
  概括来讲,本书具有如下特点:
  轻松诙谐的语言、简单直白的讲解能让读者摆脱阅读时的枯燥感觉,技术学习也可以很轻松。从LwIP协议栈移植到网络应用程序设计,内容由浅入深,知识点覆盖全面,特别适合于嵌入式初学人员。
  协议与实现的完美结合。着眼于TCP/IP基本理论,以LwIP源代码为基础,全面讲解TCP/IP协议的原理与具体实现,全部源代码对读者可见,TCP/IP不再神秘,讲解通俗,步骤详细。每个案例的开发步骤都是以通俗易懂的语言阐述,并穿插图片和表格。
  理论与实践并重。每章均配有实战例程,读者能直观感受到各层协议在嵌入式设备组网过程中的实际应用,学习TCP/IP不再是纸上谈兵。基于目前流行的STM32实验平台,可以帮助开发者快速上手嵌入式网络编程,本书的许多实验都可以抽象成一个基本的编程框架,学习者在学习的同时可以对框架进行填充裁剪等,基于框架快速完成应用程序开发。
  目的明确,实用性强。本书可以作为嵌入式网络开发人员的指导手册,提供的许多应用程序可以直接用在开发项目中,缩短开发周期,节省开发成本;本书还会介绍并发服务器设计、协议栈性能测试、协议栈调试手段等知识,可以帮助开发者处理项目调试遇到的各种问题。
  LwIP协议栈全部用C语言写成,所有代码对用户可见,用户可以宏观地把握整个协议的代码组织结构。在本书中,通过在实验板上移植、使用协议栈,读者可以清楚地知道TCP/IP协议内部各个机制的实现方法以及不同参数设置对协议栈内核性能的影响,比如:如何自行配置TCP发送超时间隔与重发次数以满足特定场合的需求,又如用户可否根据实际使用情况更改TCP状态机以提高内核效率等。通过各个实验,读者可以清楚地看到整个协议的运行过程,加深对协议的理解。
  组织结构
  本书以开源TCP/IP协议栈——LwIP的源代码为基础,详细为读者讲解TCP/IP协议的内部各层结构与实现细节,既包括ARP、ICMP、IGMP、IP、UDP、TCP等基本协议知识,也包括DHCP、DNS等高级应用知识,以LwIP为起点学习TCP/IP,将为广大读者各方面的学习创造捷径。同时,LwIP代码组织和实验平台搭建简单,读者可以方便地进行协议栈内部的相关实验。
  如何简单快速地在当前流行的STM32处理器上完成协议栈移植,如何快速上手协议栈应用编程,如何移植现有的通用网络应用程序是许多读者关心的重点。LwIP如何移植,有没有一套普遍适用的流程,各种编程接口的调用规则与实际使用例子,都是本书中将涉及到的内容。本书的许多应用程序代码可以为开发者提供一个普遍使用的程序框架,开发者只需要在这个基础上做简单改动就可以编写出适合自己的网络应用程序。对于有一定经验的LwIP开发者来说,可能更加关注于内核调试、协议栈稳定性和性能、并发服务器设计等方面的内容,也更期望看到LwIP在具体项目中的应用和实践过程,这些也都是本书将涉及的内容。
  TCP/IP技术是互联网技术发展的基础,在各软硬件IT企业招聘面试中,TCP/IP相关知识成为面试官青睐的问题,对于广大学子来说,精通TCP/IP相关知识无疑将为自己打开一道成功择业的大门。但目前很多人想学习TCP却无处下手,这也成为许多初学者面临的问题。通过本书,从基于STM32的网络实验入手,深入贯通TCP/IP理论及其应用,通过学习,读者可以对协议栈、TCP/IP细节有很好的把握;另一方面,嵌入式系统的组网技术是目前流行的技术,嵌入式网络方向也是未来的热点发展方向,本书将从嵌入式裸机出发,向读者讲解网络协议栈移植过程以及应用编程细节,同时也包括了一些开发过程中常见的各种问题及解决方法,因此,对LwIP应用开发者来说,本书将是一本重要的指导手册。
  编者与致谢
  本书由朱升林、欧阳骏、杨晶著,粟思科审。最后,笔者想感谢一年多来一直陪伴和帮助我的人,没有你们的帮助和付出,这本书不会这么顺利地完成,因为你们的存在,使得这段时光更加珍贵。
  感谢LwIP技术交流群中的上千位网友,是你们每天孜孜不倦的学习和讨论,让LwIP这款开源软件这几年在国内有了快速的成长和发展,谢谢你们的支持和肯定,大家的相互探讨也让我学到了很多东西。
  感谢我的家人,是你们的宽容和细心帮我克服了生活中的许多困难和难题,你们的默默支持和付出是我继续完成此书的最大动力。
  同时参与本书编写工作的还有:王治国、钟晓林、王娟、胡静、杨龙、张成林、方明、王波、陈小军、雷晓、李军华、陈晓云、方鹏、龙帆、刘亚航、凌云鹏、陈龙、曹淑明、徐伟、杨阳、张宇、刘挺、单琳、吴川、李鹏、李岩、朱榕、陈思涛和孙浩,在此一并表示感谢。
  配套服务
  感谢成都智造者科技有限公司为本书提供的STM32F103VET6-EV开发平台,该平台定位为物联网领域的首款综合性实验平台,本书基于该平台的以太网接口实现了嵌入式产品的以太网入网实战。此外,该平台预留的接口可方便地扩展该公司的其他物联网模块,如ZigBee模块、蓝牙模块、RFID模块等,能快速地实现物联网领域多种实践。
  本书中的所有实验代码读者可以通过中国水利水电出版社或万水书苑网站下载,网址为和以下方式获得。由于作者水平所限,网络技术日新月异,本书难免存在错误和不妥之处,恳请广大读者批评指证。我们为读者和用户尽心服务,围绕协议、产品和项目市场,探讨应用与发展,发掘热点与重点;开展相关教学工作。
  共同探讨一直是学习的一种高效方式,值得指出的是,本书最后一节的LwIP常见问题与解决方法就得益于众多网友的反馈,这里,再次对他们表示感谢。

 

免费在线读

  理论与实践并重。每章均配有实战例程,读者能直观感受到各层协议在嵌入式设备组网过程中的实际应用,学习TCP/IP不再是纸上谈兵。基于目前流行的STM32实验平台,可以帮助开发者快速上手嵌入式网络编程,本书的许多实验都可以抽象成一个基本的编程框架,学习者在学习的同时可以对框架进行填充裁剪等,基于框架快速完成应用程序开发。
  目的明确,实用性强。本书可以作为嵌入式网络开发人员的指导手册,提供的许多应用程序可以直接用在开发项目中,缩短开发周期,节省开发成本;本书还会介绍并发服务器设计、协议栈性能测试、协议栈调试手段等知识,可以帮助开发者处理项目调试遇到的各种问题。
  LwIP协议栈全部用C语言写成,所有代码对用户可见,用户可以宏观地把握整个协议的代码组织结构。在本书中,通过在实验板上移植、使用协议栈,读者可以清楚地知道TCP/IP协议内部各个机制的实现方法以及不同参数设置对协议栈内核性能的影响,比如:如何自行配置TCP发送超时间隔与重发次数以满足特定场合的需求,又如用户可否根据实际使用情况更改TCP状态机以提高内核效率等。通过各个实验,读者可以清楚地看到整个协议的运行过程,加深对协议的理解。
  组织结构
  本书以开源TCP/IP协议栈——LwIP的源代码为基础,详细为读者讲解TCP/IP协议的内部各层结构与实现细节,既包括ARP、ICMP、IGMP、IP、UDP、TCP等基本协议知识,也包括DHCP、DNS等高级应用知识,以LwIP为起点学习TCP/IP,将为广大读者各方面的学习创造捷径。同时,LwIP代码组织和实验平台搭建简单,读者可以方便地进行协议栈内部的相关实验。
  如何简单快速地在当前流行的STM32处理器上完成协议栈移植,如何快速上手协议栈应用编程,如何移植现有的通用网络应用程序是许多读者关心的重点。LwIP如何移植,有没有一套普遍适用的流程,各种编程接口的调用规则与实际使用例子,都是本书中将涉及到的内容。本书的许多应用程序代码可以为开发者提供一个普遍使用的程序框架,开发者只需要在这个基础上做简单改动就可以编写出适合自己的网络应用程序。对于有一定经验的LwIP开发者来说,可能更加关注于内核调试、协议栈稳定性和性能、并发服务器设计等方面的内容,也更期望看到LwIP在具体项目中的应用和实践过程,这些也都是本书将涉及的内容。
  TCP/IP技术是互联网技术发展的基础,在各软硬件IT企业招聘面试中,TCP/IP相关知识成为面试官青睐的问题,对于广大学子来说,精通TCP/IP相关知识无疑将为自己打开一道成功择业的大门。但目前很多人想学习TCP却无处下手,这也成为许多初学者面临的问题。通过本书,从基于STM32的网络实验入手,深入贯通TCP/IP理论及其应用,通过学习,读者可以对协议栈、TCP/IP细节有很好的把握;另一方面,嵌入式系统的组网技术是目前流行的技术,嵌入式网络方向也是未来的热点发展方向,本书将从嵌入式裸机出发,向读者讲解网络协议栈移植过程以及应用编程细节,同时也包括了一些开发过程中常见的各种问题及解决方法,因此,对LwIP应用开发者来说,本书将是一本重要的指导手册。
  编者与致谢
  本书由朱升林、欧阳骏、杨晶著,粟思科审。最后,笔者想感谢一年多来一直陪伴和帮助我的人,没有你们的帮助和付出,这本书不会这么顺利地完成,因为你们的存在,使得这段时光更加珍贵。

  ……

嵌入式网络那些事——STM32物联实战 pdf下载声明

本pdf资料下载仅供个人学习和研究使用,不能用于商业用途,请在下载后24小时内删除。如果喜欢,请购买正版

pdf下载地址

版权归出版社和作者所有,下载链接已删除。如果喜欢,请购买正版!

链接地址:嵌入式网络那些事——STM32物联实战