資料介紹
軟件簡介
java 鏈路層封包協(xié)議, 實(shí)現(xiàn)數(shù)據(jù)包完整性校驗(yàn) 可用于無線模塊(紅外/zigbee/433Mhz)實(shí)現(xiàn)TCP/IP通信
說明
-
沒有重傳確認(rèn)功能, 發(fā)送不保證對方一定收到包,亦不保證順序。需要結(jié)合 tun/tap 才能實(shí)現(xiàn)TCP通信
-
如果收到包,則可保證包數(shù)據(jù)完整性(使用md5算法校驗(yàn)和)
-
配合 tun/tap 使用,可實(shí)現(xiàn)多終端全雙工通信, 建議MTU設(shè)置為256以下,惡劣環(huán)境下需設(shè)置更低的值
-
雖然433Mhz, 紅外功耗低,但傳輸速率也較低,因此不適合用來瀏覽互聯(lián)網(wǎng),建議用在物聯(lián)網(wǎng)少量數(shù)據(jù)傳輸場景
user-program -> tun/tap -> rawip4j -> wireless(zigbee, 433Mhz, Infrared-ray) -> (THE AIR) -> wireless -> rawip4j -> tun/tap -> user-program
public?static?void?main(String[]?args)?throws?IOException,?InterruptedException?{ //?定義隊(duì)列用于存儲接收到的包?received?packet?queue final?LinkedBlockingQueue?queue?=?new?LinkedBlockingQueue<>(); //?通過?rxtx?獲取設(shè)備的InputStream?和?OutputStream //TODO?get?the?InputStream?&?OutputStream?from?SerialPort?devices //?you?can?use?librxtx-java?(aptitude?install?librxtx-java) //?or?http://mvnrepository.com/artifact/org.rxtx/rxtx?(untested) InputStream?ins?=?null; OutputStream?outs?=?null; /*?***********************************************************************************************************************?*/ //?開始讀取包,讀到的包將放入隊(duì)列中,這個方法是永不返回的,因此要新開線程執(zhí)行 //?start?a?thread?to?receive?packet?into?the?queue new?Thread(new?Runnable()?{ @Override public?void?run()?{ try?{ RxdUtil.readloop(ins,?queue); }?catch?(IOException?|?InterruptedException?e)?{ e.printStackTrace(); } } }).start(); /*?***********************************************************************************************************************?*/ ????//?新開線程處理接收到的包 //?start?a?received?packet?handler?thread new?Thread(new?Runnable()?{ @Override public?void?run()?{ while(true){ try?{ final?byte[]?data?=?queue.take(); System.out.println("received?packet:?"?+?new?String(data)); }?catch?(InterruptedException?e)?{ e.printStackTrace(); } } } }).start(); /*?***********************************************************************************************************************?*/ //?發(fā)送包,不保證對方一定接收到包,但如果接收到,則能保證包的數(shù)據(jù)完整性 ??? ? //?chksumlength:?校驗(yàn)和字節(jié),可以設(shè)置為2-16,越大越安全,?建議8 //?send?a?data?packet //?chksumlength:?use?md5?to?checksum?a?packet,?the?value?can?be?2-16,?recommend?8 new?PacketFrame((byte)8,?"hello,?rawip4j".getBytes()).write(outs); /*?***********************************************************************************************************************?*/ TimeUnit.SECONDS.sleep(Long.MAX_VALUE); }
效果圖
433MHz模塊9600波特率, 距離20米,隔2墻1窗1門,ping丟包率5%, wget 600bytes/s
?
- Twitter4j Twitter的Java客戶端API
- Evalon4J Java接口文檔生成工具
- iot4j IoT Java客戶端包
- SAE J1939協(xié)議標(biāo)準(zhǔn)文檔中英文合集 60次下載
- 一種新型的未知鏈路層協(xié)議幀切割算法 5次下載
- J1939協(xié)議理解 13次下載
- Java程序設(shè)計(jì)之網(wǎng)絡(luò)編程J2ME的詳細(xì)資料概述 3次下載
- Java程序設(shè)計(jì)教程之Java語言的基礎(chǔ)知識概述 36次下載
- 數(shù)據(jù)鏈路層選擇重傳協(xié)議優(yōu)化 55次下載
- 數(shù)據(jù)鏈路層SAE_J1939-21 62次下載
- JAVA教程之89SSL及HTTPS協(xié)議 7次下載
- 分離載荷近距協(xié)議的數(shù)據(jù)鏈路層仿真研究 12次下載
- 基于J1939協(xié)議的組合儀表的設(shè)計(jì)與實(shí)現(xiàn)
- 基于可靠鏈路層模型的節(jié)能路由協(xié)議
- 數(shù)據(jù)鏈路層.ppt 0次下載
- ICMPv4協(xié)議—互聯(lián)網(wǎng)控制報(bào)文協(xié)議 518次閱讀
- 簡單了解Java的新特性 835次閱讀
- log4j日志框架分析 975次閱讀
- 網(wǎng)絡(luò)封包分析軟件——Wireshark抓包教程 1187次閱讀
- 基于802.11協(xié)議數(shù)據(jù)鏈路層的MAC子層實(shí)現(xiàn)的節(jié)能機(jī)制研究 1551次閱讀
- Deeplearning4j框架中的庫,企業(yè)大數(shù)據(jù)應(yīng)用程序中的深度學(xué)習(xí) 7303次閱讀
- java入門經(jīng)典書籍推薦 1.9w次閱讀
- 一文看懂?dāng)?shù)據(jù)鏈路層和網(wǎng)絡(luò)層的區(qū)別 7.1w次閱讀
- 數(shù)據(jù)鏈路層設(shè)備有哪些 2.4w次閱讀
- 數(shù)據(jù)鏈路層和傳輸層的區(qū)別是什么 2.6w次閱讀
- 數(shù)據(jù)鏈路層常用成紙法有哪些_數(shù)據(jù)鏈路層的作用 2043次閱讀
- 數(shù)據(jù)鏈路層到底是什么_數(shù)據(jù)鏈路層工作原理是怎樣的 3w次閱讀
- 關(guān)于java的一些基礎(chǔ)知識解析 4661次閱讀
- 解析J-Link、J-Trace、Open JTAG原理以及其區(qū)別 1.8w次閱讀
- 數(shù)據(jù)鏈路層發(fā)送與接收的處理過程及涉及到的模塊 9944次閱讀
下載排行
本周
- 1Keysight B1500A 半導(dǎo)體器件分析儀用戶手冊、說明書 (中文)
- 19.00 MB | 4次下載 | 免費(fèi)
- 2使用TL431設(shè)計(jì)電源
- 0.67 MB | 2次下載 | 免費(fèi)
- 3BT134雙向可控硅手冊
- 1.74 MB | 2次下載 | 1 積分
- 4一種新型高效率的服務(wù)器電源系統(tǒng)
- 0.85 MB | 1次下載 | 1 積分
- 5LabVIEW環(huán)形控件
- 0.01 MB | 1次下載 | 1 積分
- 6PR735,使用UCC28060的600W交錯式PFC轉(zhuǎn)換器
- 540.03KB | 1次下載 | 免費(fèi)
- 751單片機(jī)核心板原理圖
- 0.12 MB | 1次下載 | 5 積分
- 8BP2879DB支持調(diào)光調(diào)滅的非隔離低 PF LED 驅(qū)動器
- 1.44 MB | 1次下載 | 免費(fèi)
本月
- 1開關(guān)電源設(shè)計(jì)原理手冊
- 1.83 MB | 54次下載 | 免費(fèi)
- 2FS5080E 5V升壓充電兩串鋰電池充電管理IC中文手冊
- 8.45 MB | 23次下載 | 免費(fèi)
- 3DMT0660數(shù)字萬用表產(chǎn)品說明書
- 0.70 MB | 13次下載 | 免費(fèi)
- 4UC3842/3/4/5電源管理芯片中文手冊
- 1.75 MB | 12次下載 | 免費(fèi)
- 5ST7789V2單芯片控制器/驅(qū)動器英文手冊
- 3.07 MB | 11次下載 | 1 積分
- 6TPS54202H降壓轉(zhuǎn)換器評估模塊用戶指南
- 1.02MB | 8次下載 | 免費(fèi)
- 7STM32F101x8/STM32F101xB手冊
- 1.69 MB | 8次下載 | 1 積分
- 8基于MSP430FR6043的超聲波氣體流量計(jì)快速入門指南
- 2.26MB | 7次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935119次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
- 1.48MB | 420061次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233084次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191367次下載 | 10 積分
- 5十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183335次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81581次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費(fèi)下載
- 0.02 MB | 73807次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65987次下載 | 10 積分
評論
查看更多