資料介紹
軟件簡介
java 鏈路層封包協議, 實現數據包完整性校驗 可用于無線模塊(紅外/zigbee/433Mhz)實現TCP/IP通信
說明
-
沒有重傳確認功能, 發送不保證對方一定收到包,亦不保證順序。需要結合 tun/tap 才能實現TCP通信
-
如果收到包,則可保證包數據完整性(使用md5算法校驗和)
-
配合 tun/tap 使用,可實現多終端全雙工通信, 建議MTU設置為256以下,惡劣環境下需設置更低的值
-
雖然433Mhz, 紅外功耗低,但傳輸速率也較低,因此不適合用來瀏覽互聯網,建議用在物聯網少量數據傳輸場景
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?{ //?定義隊列用于存儲接收到的包?received?packet?queue final?LinkedBlockingQueue?queue?=?new?LinkedBlockingQueue<>(); //?通過?rxtx?獲取設備的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; /*?***********************************************************************************************************************?*/ //?開始讀取包,讀到的包將放入隊列中,這個方法是永不返回的,因此要新開線程執行 //?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(); /*?***********************************************************************************************************************?*/ //?發送包,不保證對方一定接收到包,但如果接收到,則能保證包的數據完整性 ??? ? //?chksumlength:?校驗和字節,可以設置為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協議標準文檔中英文合集 79次下載
- 一種新型的未知鏈路層協議幀切割算法 5次下載
- J1939協議理解 13次下載
- Java程序設計之網絡編程J2ME的詳細資料概述 3次下載
- Java程序設計教程之Java語言的基礎知識概述 36次下載
- 數據鏈路層選擇重傳協議優化 55次下載
- 數據鏈路層SAE_J1939-21 62次下載
- JAVA教程之89SSL及HTTPS協議 7次下載
- 分離載荷近距協議的數據鏈路層仿真研究 12次下載
- 基于J1939協議的組合儀表的設計與實現
- 基于可靠鏈路層模型的節能路由協議
- 數據鏈路層.ppt 0次下載
- PCIE數據鏈路層架構解析 406次閱讀
- 簡單了解Java的新特性 1290次閱讀
- log4j日志框架分析 1148次閱讀
- 網絡封包分析軟件——Wireshark抓包教程 1374次閱讀
- 基于802.11協議數據鏈路層的MAC子層實現的節能機制研究 1768次閱讀
- Deeplearning4j框架中的庫,企業大數據應用程序中的深度學習 7459次閱讀
- java入門經典書籍推薦 1.9w次閱讀
- 一文看懂數據鏈路層和網絡層的區別 7.2w次閱讀
- 數據鏈路層設備有哪些 2.4w次閱讀
- 數據鏈路層和傳輸層的區別是什么 2.6w次閱讀
- 數據鏈路層常用成紙法有哪些_數據鏈路層的作用 2228次閱讀
- 數據鏈路層到底是什么_數據鏈路層工作原理是怎樣的 3w次閱讀
- 關于java的一些基礎知識解析 4800次閱讀
- 解析J-Link、J-Trace、Open JTAG原理以及其區別 1.8w次閱讀
- 數據鏈路層發送與接收的處理過程及涉及到的模塊 1w次閱讀
下載排行
本周
- 1DD3118電路圖紙資料
- 0.08 MB | 1次下載 | 免費
- 2AD庫封裝庫安裝教程
- 0.49 MB | 1次下載 | 免費
- 3PC6206 300mA低功耗低壓差線性穩壓器中文資料
- 1.12 MB | 1次下載 | 免費
- 4網絡安全從業者入門指南
- 2.91 MB | 1次下載 | 免費
- 5DS-CS3A P00-CN-V3
- 618.05 KB | 1次下載 | 免費
- 6海川SM5701規格書
- 1.48 MB | 次下載 | 免費
- 7H20PR5電磁爐IGBT功率管規格書
- 1.68 MB | 次下載 | 1 積分
- 8IP防護等級說明
- 0.08 MB | 次下載 | 免費
本月
- 1貼片三極管上的印字與真實名稱的對照表詳細說明
- 0.50 MB | 103次下載 | 1 積分
- 2涂鴉各WiFi模塊原理圖加PCB封裝
- 11.75 MB | 89次下載 | 1 積分
- 3錦銳科技CA51F2 SDK開發包
- 24.06 MB | 43次下載 | 1 積分
- 4錦銳CA51F005 SDK開發包
- 19.47 MB | 19次下載 | 1 積分
- 5PCB的EMC設計指南
- 2.47 MB | 16次下載 | 1 積分
- 6HC05藍牙原理圖加PCB
- 15.76 MB | 13次下載 | 1 積分
- 7802.11_Wireless_Networks
- 4.17 MB | 12次下載 | 免費
- 8蘋果iphone 11電路原理圖
- 4.98 MB | 6次下載 | 2 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935127次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉換器 PCB layout 設計
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191390次下載 | 10 積分
- 5十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183342次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81588次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73815次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65989次下載 | 10 積分
評論