资料介绍
软件简介
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协议标准文档中英文合集 60次下载
- 一种新型的未知链路层协议帧切割算法 5次下载
- J1939协议理解 13次下载
- Java程序设计之网络编程J2ME的详细资料概述 3次下载
- Java程序设计教程之Java语言的基础知识概述 36次下载
- 数据链路层选择重传协议优化 55次下载
- 数据链路层SAE_J1939-21 62次下载
- JAVA教程之89SSL及HTTPS协议 7次下载
- 分离载荷近距协议的数据链路层仿真研究 12次下载
- 基于J1939协议的组合仪表的设计与实现
- 基于可靠链路层模型的节能路由协议
- 数据链路层.ppt 0次下载
- ICMPv4协议—互联网控制报文协议 518次阅读
- 简单了解Java的新特性 835次阅读
- log4j日志框架分析 975次阅读
- 网络封包分析软件——Wireshark抓包教程 1187次阅读
- 基于802.11协议数据链路层的MAC子层实现的节能机制研究 1551次阅读
- Deeplearning4j框架中的库,企业大数据应用程序中的深度学习 7303次阅读
- java入门经典书籍推荐 1.9w次阅读
- 一文看懂数据链路层和网络层的区别 7.1w次阅读
- 数据链路层设备有哪些 2.4w次阅读
- 数据链路层和传输层的区别是什么 2.6w次阅读
- 数据链路层常用成纸法有哪些_数据链路层的作用 2043次阅读
- 数据链路层到底是什么_数据链路层工作原理是怎样的 3w次阅读
- 关于java的一些基础知识解析 4661次阅读
- 解析J-Link、J-Trace、Open JTAG原理以及其区别 1.8w次阅读
- 数据链路层发送与接收的处理过程及涉及到的模块 9944次阅读
下载排行
本周
- 1山景DSP芯片AP8248A2数据手册
- 1.06 MB | 532次下载 | 免费
- 2RK3399完整板原理图(支持平板,盒子VR)
- 3.28 MB | 339次下载 | 免费
- 3TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 4DFM软件使用教程
- 0.84 MB | 295次下载 | 免费
- 5元宇宙深度解析—未来的未来-风口还是泡沫
- 6.40 MB | 227次下载 | 免费
- 6迪文DGUS开发指南
- 31.67 MB | 194次下载 | 免费
- 7元宇宙底层硬件系列报告
- 13.42 MB | 182次下载 | 免费
- 8FP5207XR-G1中文应用手册
- 1.09 MB | 178次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33566次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21549次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6656次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537798次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420027次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191187次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183279次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多