資料介紹
軟件簡(jiǎn)介
java 鏈路層封包協(xié)議, 實(shí)現(xiàn)數(shù)據(jù)包完整性校驗(yàn) 可用于無(wú)線模塊(紅外/zigbee/433Mhz)實(shí)現(xiàn)TCP/IP通信
說(shuō)明
-
沒(méi)有重傳確認(rèn)功能, 發(fā)送不保證對(duì)方一定收到包,亦不保證順序。需要結(jié)合 tun/tap 才能實(shí)現(xiàn)TCP通信
-
如果收到包,則可保證包數(shù)據(jù)完整性(使用md5算法校驗(yàn)和)
-
配合 tun/tap 使用,可實(shí)現(xiàn)多終端全雙工通信, 建議MTU設(shè)置為256以下,惡劣環(huán)境下需設(shè)置更低的值
-
雖然433Mhz, 紅外功耗低,但傳輸速率也較低,因此不適合用來(lái)瀏覽互聯(lián)網(wǎng),建議用在物聯(lián)網(wǎng)少量數(shù)據(jù)傳輸場(chǎng)景
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ì)列用于存儲(chǔ)接收到的包?received?packet?queue final?LinkedBlockingQueue?queue?=?new?LinkedBlockingQueue<>(); //?通過(guò)?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; /*?***********************************************************************************************************************?*/ //?開(kāi)始讀取包,讀到的包將放入隊(duì)列中,這個(gè)方法是永不返回的,因此要新開(kāi)線程執(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(); /*?***********************************************************************************************************************?*/ ????//?新開(kāi)線程處理接收到的包 //?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ā)送包,不保證對(duì)方一定接收到包,但如果接收到,則能保證包的數(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門(mén),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語(yǔ)言的基礎(chǔ)知識(shí)概述 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次閱讀
- 簡(jiǎn)單了解Java的新特性 835次閱讀
- log4j日志框架分析 975次閱讀
- 網(wǎng)絡(luò)封包分析軟件——Wireshark抓包教程 1187次閱讀
- 基于802.11協(xié)議數(shù)據(jù)鏈路層的MAC子層實(shí)現(xiàn)的節(jié)能機(jī)制研究 1551次閱讀
- Deeplearning4j框架中的庫(kù),企業(yè)大數(shù)據(jù)應(yīng)用程序中的深度學(xué)習(xí) 7303次閱讀
- java入門(mén)經(jīng)典書(shū)籍推薦 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ǔ)知識(shí)解析 4661次閱讀
- 解析J-Link、J-Trace、Open JTAG原理以及其區(qū)別 1.8w次閱讀
- 數(shù)據(jù)鏈路層發(fā)送與接收的處理過(guò)程及涉及到的模塊 9944次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
- 1.06 MB | 532次下載 | 免費(fèi)
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費(fèi)
- 3TC358743XBG評(píng)估板參考手冊(cè)
- 1.36 MB | 330次下載 | 免費(fèi)
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費(fèi)
- 5元宇宙深度解析—未來(lái)的未來(lái)-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費(fèi)
- 6迪文DGUS開(kāi)發(fā)指南
- 31.67 MB | 194次下載 | 免費(fèi)
- 7元宇宙底層硬件系列報(bào)告
- 13.42 MB | 182次下載 | 免費(fèi)
- 8FP5207XR-G1中文應(yīng)用手冊(cè)
- 1.09 MB | 178次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33566次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21549次下載 | 免費(fèi)
- 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書(shū))
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德?tīng)栔?/a>
- 0.00 MB | 6656次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191187次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183279次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論
查看更多