发表于2024-12-22
互联网串口通信――全世界串行口,联网起来! pdf epub mobi txt 电子书 下载
本书的目的是向读者介绍如何把传统的串口通信在网络上实现,包括局域网和互联网。首先介绍串口RS-232和RS-485的出现和发展,串口通信的原理和通信及编程;然后介绍以太网和互联网的通信协议TCP/IP,以及它与串口之间的通信和编程;*后重点介绍几种通过网络实现串口通信的途径,包括使用浏览器、基于云路由器和即时通信软件、用Java的跨平台语言等。书中的大部分内容为作者多年从事串口通信的研究成果及市场分析,并且加上了美国的*新网络通信技术。难能可贵的是,本书首次把作者的具有专利技术的互联网串口通信技术的软件源代码,以及在美国的先进的研究成果予以公开,仅供读者学习和研究。
周云波,男,1966年10月出生,现居武汉。华中科技大学教师,博士。曾经在北京航天研究院学习和工作。从事过军工测控系统的研发、数字电路的教学与科研,串口通信的研究与开发,获得国家专利十多项,在国内外杂志发表论文十多篇。
目 录
第1章 串口通信接口介绍 1
1.1 串口RS-232介绍 2
1.1.1 RS-232接口的电气特性及物理结构 3
1.1.2 异步通信与同步通信及其格式 4
1.1.3 RS-232传输电缆长度 5
1.1.4 RS-232的实际应用 5
1.1.5 RS-232接口的缺点及克服 7
1.2 RS-485和RS-422简介 8
1.2.1 什么是RS-485接口 8
1.2.2 什么是RS-422接口 9
1.3 串口RS-422与RS-485的工程应用 10
1.3.1 RS-422与RS-485传输线上匹配的一些说明 11
1.3.2 RS-422与RS-485的接地问题 11
1.3.3 RS-422与RS-485的网络失效保护 12
1.3.4 串口RS-485的新发展 14
1.4 USB串口通信产品的发展 15
1.4.1 第一代产品:USB/RS-232转换器 15
1.4.2 第二代产品:USB/RS-485/RS-422转换器 16
1.4.3 第三代产品:光电隔离USB/RS-232/485/422转换器 17
1.4.4 第四代产品:USB/串口光纤转换器 18
1.4.5 第五代产品:USB网络串口转换器 18
1.4.6 USB虚拟串口的评论 21
1.5 用单片机I/O口软件模拟串口及实现远程通信 22
1.5.1 TTL电平转换成差分电平的纯软件方法 22
1.5.2 软件串行口的实现原理 23
1.5.3 软件串行通信的编程 24
第2章 串口通信的软件编程 27
2.1 串口调试助手软件的使用 27
2.1.1 一个串口的自己发送自己接收 27
2.1.2 一台计算机的两个串口之间的通信 28
2.1.3 两台计算机的两个串口之间的通信 29
2.2 串口通信与扩展的调试软件 29
2.2.1 4232A框内的串口扩展功能 37
2.2.2 DIZ4232框内的串口扩展功能 38
2.2.3 无串口扩展功能的简化的串口通信软件 40
2.3 带串口自动打开等功能的串口调试软件 40
2.4 超高速的串口调试软件 59
2.4.1 如何判断USB/串口转换器本身是否支持921.6 kbps波特率 59
2.4.2 如何实现USB/串口转换器的921.6 kbps波特率通信 60
第3章 TCP/IP通信软件编程 62
3.1 TCP/IP通信的硬件连接 62
3.2 TCP/IP测试工具软件的使用 65
3.3 简单的VB的Winsock聊天程序实例 68
3.4 用VC++编写的Winsock聊天程序实例 75
第4章 通过局域网实现串口通信 84
4.1 基于局域网的纯软件串口即时通信 84
4.2 通过以太网/串口转换器实现串口通信 107
4.3 串口信号通过以太网传输 112
4.4 通过Wi-Fi/串口转换器实现串口通信 114
4.5 以太网串口通信产品的发展方向 118
4.5.1 有线以太网向无线升级 118
4.5.2 百兆向千兆以太网升级 120
4.5.3 串口从电口到光纤的升级 120
4.5.4 以太网从电口到光纤的升级 121
4.5.5 单串口向多串口的发展 122
4.5.6 虚拟串口软件的标准化 122
第5章 通过浏览器实现串口通信 124
5.1 基于浏览器的远程串口控制器 125
5.2 基于浏览器的云串口通信软件 128
5.3 基于浏览器的Java串口编程原理简介 130
5.4 基于浏览器的云串口通信的网页源代码及解释 131
5.5 IE浏览器通过MSCOMM控件与串口外设通信的工程实例 142
5.6 基于云串口服务器的互联网串口通信前景 144
第6章 通过路由器实现互联网串口通信 148
6.1 基于路由器的互联网串口通信的原理 148
6.2 已预先内置DDNS域名的云无线路由器 150
6.2.1 功能特点 150
6.2.2 硬件连接 151
6.2.3 上网机器的设置 151
6.2.4 无线网络配置 152
6.2.5 虚拟服务(端口映射)和DMZ 152
6.2.6 路由器软件功能界面 152
6.3 基于专门云路由器的互联网串口通信的实现 153
6.3.1 本地计算机的设置 153
6.3.2 以太网/串口转换器的设置 154
6.3.3 云串口通信测试及虚拟串口 154
6.4 基于需要安装花生壳DDNS的无线路由器 156
6.4.1 域名申请,并将其与无线路由器绑定 156
6.4.2 检测动态域名是否正常 156
6.4.3 端口映射 158
6.4.4 串口联网设备的配置 158
6.4.5 启动服务器,等待串口联网设备的连接请求 159
6.5 利用无线路由器本身的串口 159
6.5.1 用OpenWrt修改无线路由器的程序 159
6.5.2 用OpenWrt烧写无线路由器的程序 170
6.5.3 基于AR9331的OpenWrt 路由器核心模块 177
第7章 用即时通信软件实现互联网串口通信 179
7.1 基于即时通信软件的串口控制器 180
7.2 好灵通即时通信:串口远程通信的革命 184
7.3 互联网版好灵通串口即时通信软件的代码及解释 185
7.3.1 主窗体[frmMain(Client.frm)]窗体的源代码 188
7.3.2 登录界面[frmLog(Log.frm)]窗体的源代码 199
7.3.3 登录成功之后的界面[frmLogin(Login.frm)]的代码 201
7.3.4 通信界面窗体[frmChat(Chat.fra)]的源代码 203
7.3.5 接收文件窗体[frmReceiveFile(ReceiveFile.frm)]的源代码 209
7.3.6 发送文件窗体[frmSendFile(SendFile.frm)] 213
7.3.7 自动调整界面大小的窗体[frmTip(Tip.frm)] 217
7.3.8 显示版本信息的窗体[frmTip(Tip.frm)] 219
7.4 用于互联网串口即时通信的USB/串口转换器 220
7.4.1 硬件和驱动程序安装 220
7.4.2 好灵通串口即时通信软件的配合使用 221
7.4.3 典型应用 223
7.5 Wi-Fi串口即时通信使物联网成为现实 224
第8章 智能手机或平板电脑的互联网 227
8.1 智能手机或平板电脑互联网串口通信的原理 227
8.2 智能手机或平板电脑的设置 228
8.3 互联网/串口转换器的设置 229
8.4 智能手机或平板电脑互联网串口通信测试 230
8.5 安卓智能手机的USB/串口转换器及互联网串口通信 230
8.6 带USB-OTG功能的部分平板电脑互联网串口通信 232
8.7 智能手机的蓝牙-串口转换器及互联网串口通信 233
8.7.1 为计算机蓝牙扩展无线串口(从模式) 235
8.7.2 为安卓智能手机蓝牙扩展无线串口(从模式) 235
8.7.3 为苹果智能手机蓝牙扩展无线串口 236
8.7.4 无线串口透明传输(一个主模式,另一个从模式) 237
8.7.5 BLU232的设置指令 237
8.8 基于FT312D的安卓智能手机USB转串口设计 238
8.8.1 FT312D接口芯片及其硬件连接 239
8.8.2 FT312D的USB转串口的软件开发 240
8.8.3 FT312D串口通信代码示例 241
8.9 智能手机的基于音频传输的互联网串口通信 243
第9章 用Java实现互联网串口通信 246
9.1 使用Javax.comm对串口通信进行编程 246
9.1.1 Javax.comm简介 246
9.1.2 下载 247
9.1.3 安装 247
9.1.4 API 247
9.1.5 实例 248
9.1.6 安装Java Communications API 252
9.1.7 硬件的准备 252
9.1.8 Comm API基础 252
9.1.9 通信方式 254
9.1.10 完整的程序 257
9.2 使用Java Socket对TCP/IP通信进行编程 263
9.2.1 Java关于TCP/IP通信的Socket添加库介绍 263
9.2.2 简单的客户端到服务器单方向TCP/IP信息传输 264
9.3 本地串口通过TCP/IP 传输到远端串口 275
9.3.1 将串口读入数据输出到TCP/IP 275
9.3.2 将TCP/IP得到的数据传输到串口 280
9.4 基于Linux服务器的互联网串口通信 283
9.4.1 Linux环境的设定与连接 283
9.4.2 连接 283
9.4.3 远端文件的视觉化传输 285
参考文献 287
前 言
串行口简称串口,可以说,人类文明史就是一部串行通信史。所谓有文明的标志就是有文字记载,而文字只能一个字一个字地写和读,这就是一种串行通信。相对于文字和声音是串行的,图像就算是并行的。我们不能一目十行地阅读文字,也不能同时听多个声音并加以识别,却能够一眼看尽全幅图像的上下左右。与文字信息相比,人类文明历史上几乎没有留下图像信息。耳朵听到的声音在每一时刻只能有一个音符或者发音,连贯起来就是音乐或者语音,这就是我们在接收串行信息。我们讲话,每一瞬间只能讲一个语音,这就是我们在发送串行信号。乐谱或者文字就是串行通信的信息。今天我们为了便于理解串行通信技术,经常打比方就像我们在讲话沟通一样。比如,只能有一个人讲话(只能有一个主机或服务器),可以有多个人听(多个从机或客户端)。讲话之前,先称呼人名,这里的人名就相当于从机或客户端的地址。讲完一段话需要不时停顿,就相当于信号的空闲状态。
中国古代的“狼烟”信号是最早的典型的二进制串行通信,在长期的停顿信号无狼烟(可以理解为0-无敌情)的间隔后,突然点燃狼烟(可以理解为信号1-有敌情),这就有效地传递了一位二进制信息:1代表有狼烟,同时也代表有敌情。但是在烽火戏诸侯这个故事中,周幽王为了让褒姒开心,取悦褒姒,点燃了烽火台,将众多诸侯都戏弄了一番,果然褒姒觉得有趣,就哈哈大笑起来,后来由于褒姒因为觉得很有意思,就多次点燃烽火台戏弄众多诸侯,造成后来诸侯们都不相信周幽王的“信号”了。这是因为把编码信号弄混乱了,本来是1表示“有敌情”换成了1表示“无敌情”,导致信号混乱而无法正常通信。古希腊的马拉松为了传递一个简单的信息1(我们赢了),连续跑了40多公里而累倒了。千年后,爱迪生用火车的汽笛来远程传输二进制信号,用长音(代表1)和短音(代表0)组合可以传输英文字母的ASCII字符信息。至今我们仍然能够听见用轮船的汽笛声表示到港或离港等信息。现在我们在互联网上看到的文字、语音、图像等信息仍然是通过串行通信来传输的,有时候网速很慢地打开一个图像,才慢慢地显示清晰,你就会懂得什么是串行通信。
互联网是当今的高新技术。人类文明的未来不一定就是现在定义的互联网,但一定是更加紧密的互联关系。早期的人类局限在一个部落内的交流,一般不会超过400个人,这也是我们今天的人所能够记得的人名的上限。但是今天借助互联网,在我们的朋友圈和朋友的朋友圈等,我们已经大大地拓展了我们互联的人数。今天世界人口大约70亿,假设平均每人认识100个,理论上只要经过5个人的朋友圈的接力就可以到1005=100亿,也就是可以认识全世界的人。人类发展的历史也是越来越人口密集,同时分工更细、联系更加紧密的过程,如果这种联系可以称为网络,那么人类的未来还是更加紧密的互联网络。本书的副标题借用马克思《共产党宣言》扉页上的一段文字“全世界无产者,联合起来!”我改写为“全世界串行口,联网起来!”
可以说,互联网等网络串口通信把人类文明的未来与历史联系了起来,但是本书还远没有写尽这个宏伟的过程。作者只是把串行口的通信从需要专门的布线到借助互联网进行通信的发展过程进行了一个简单的“串行”的描述。串行口通信在最近几十年内造就了多个世界五百强的企业或者业界巨头:Bell、Motorola、IBM、Hayes、MAXIM等。由于本书引用或涉及了许多公司或个人的产品和软件,比如CAYEE、ZLG、BOSHIKA、zhaojun、张海瑞等,我们一并表示感谢,感谢大家的支持和帮助。如果本书能够在串行通信的历史上留下一点小小的火花,我们就已经很满足了。如果有建议或者意见,欢迎联系作者:592905661@qq.com(周云波)和Swchou435@gmail.com(Shiwei Zhou)。
作 者
2017年7月
互联网串口通信――全世界串行口,联网起来! pdf epub mobi txt 电子书 下载