發表於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 電子書 下載