【0】嵌入式TCP/IP协议——————Art-Net协议详解
- 特点
- Art-Net是一种基于TCP/IP协议栈的以太网协议,目的在于使用标准的网络技术在广域网内传递大量的DMX512数据
- 基于UDP协议传输
- 每个数据包512个字节
- 端口号固定为:0x1936
- 网络名称固定为: ‘A’ ’r’ ’t’ ’-’ ’N’ ’e’ ’t’ 0x00
- 通常使用静态IP地址,不使用DHCP
- 双向模式
- Madrix——>节点——>灯具
- 控台——>Madrix——>节点——>灯具
- 常见端口为:8或者16
- MAC地址:利用烧录器的滚码,保证不会重复
- 术语
- 节点:将Art-Net数据转换成DMX512数据的设备称之为节点
- 端口地址(Port-Address):端口地址是一个15位数包括Net+Sub-Net+Universe
- 网络(Net):一组16个连续子网或256个连续数据包被称为网络,总共用128个网络
- 子网(Sub-Net):一组16个连续的数据包被称为一个子网(不要与子网掩网混淆)
- 数据包(Universe):数据包大小固定为512,44帧/秒
- Kiloverse:一组1024个数据包
- 控制器(Controller):中央控制器或者监控设备(灯光控制台)被称为控制器
- IP地址:定义IP的一部分,代表了网络地址和哪一部分代表节点地址
- 端口:固定为0x1936,程序中用十进制表示:6454
- 定向广播(Directed Broadcast):新增设备第一次连接,控制器不知道节点的网络数目,也不知其IP地址,定向广播地址允许控制器发送ArtPoll到网络上所有节点,节点收到ArtPoll包后返回一个ArtPollReply包,包含节点信息
- 限制性广播(Limited Broadcast):Art-Net数据包不该被广播到受限广播的地址255.255.255.2555
- 控制器(Controller):通用术语,描述一个Art-Net设备与产生控制数据的首要任务,例如:照明控制台
- 媒介服务(Media Server):术语,描述能够产生基于“mx”媒介扩展到Art-Net,比如音频输入、控制输入
- 以太网实现:
- 所有通信都是基于UDP完成
- 协议操作
- 节点有一个从他的以太网MAC地址获取的独一无二的IP地址,端口号:0x1936
- IP地址
- Art-Net协议可工作在DHCP或者静态IP管理地址方案,通常情况下,Art-Net产品默认使用A类IP地址方案
- IP地址配置——DHCP
- 在ArtPollReply数据包中,节点回复是否使用DHCP,
- IP地址配置——静态地址
- 采用A类地址允许在一个封闭的网络内,重要的是确保了Art-Net数据没有被路由到英特网上
- MAC地址:48位指定数量U:V:W:X:Y:Z,U:V:W被注册到特定的组织,X:Y:Z由该组织分配
- 网络拓扑结构:
- 点对点:
- 控制器对设备
- Art-Net数据包定义
- ArtPoll:数据包策略
- 作用:
- 发现其他控制器、节点和媒体服务器,ArtPoll仅由一个控制器发送,设备对此数据包做出回应
- 发送和接收数据包应在3S内完成,超时认为节点己断开
- ArtPoll包定义
- 操作码
- OpPoll:0x2000,这是一个ArtPoll包,没有其它数据被包含在这个UDP包中
- OpPollReply:0x2100,这是一个ArtPollReply包,包含设备状态信息
- OpOutput/OpDmx:0x5000,这是一个ArtDmx数据包,它包含零起始码DMX512信息的单一全集
- ArtPollReply包
ArtPollReply数据包定义:太长不贴出来了
ArtDmx 数据包策略
ArtDmx是用于传输DMX512数据的数据包
- 总结
- Art-Net是基于UDP的,相对简单,移植好LWIP的UDP例程就能收到数据
- LWIP例程网上很多,随便找个卖开发板的就有;
- 运用好抓包工具
【0】嵌入式TCP/IP协议——————Art-Net协议详解相关推荐
- TCP/IP 协议栈及 OSI 参考模型详解
TCP/IP 协议栈及 OSI 参考模型详解 转载地址:http://www.codeceo.com/article/tcp-ip-osi-model.html OSI参考模型 OSI RM:开放系统 ...
- TCP/IP 协议栈及 OSI 参考模型详解--云平台技术栈04
导读:之前发布了云平台技术栈(ps:点击可查看),本文主要说一下其中的tcp/ip和网络! 来源:王东裕 http://wangdy.blog.51cto.com/3845563/1588379 OS ...
- 后端开发【一大波有用知识】tcp/ip定时器与滑动窗口详解
为什么udp有包长,而tcp没有包长. 首先,send()发送一次发送1k,发送一次缓冲区满了就会返回-1.2k发送出去后缓冲区被清空,send()才会被再次调用.最大传输片会打印四个包发送.而最大传 ...
- TCP/IP编程之accept函数详解
accept函数由TCP服务器调用,用于从已完成连接队列返回下一个已完成连接.如果已完成连接队列为空,那么进程被投入睡眠(假定套接字默为默认的阻塞方式) 函数原型: ACCEPT(2) Linux P ...
- TCP/IP编程之select函数详解
前述: linux下的I/O复用模型目前很多都已经不用select函数了,而是用epoll,但是为什么还需要了解select编程呢,其实是从两个方面考虑的:一是为了通过select去理解epoll,而 ...
- wireshark的使用教程--用实践的方式帮助我们理解TCP/IP中的各个协议是如何工作的
wireshark的使用教程 --用实践的方式帮助我们理解TCP/IP中的各个协议是如何工作的 wireshark是一款抓包软件,比较易用,在平常可以利用它抓包,分析协议或者监控网络,是一个比较好的 ...
- 08_使用TCP/IP Monitor监视SOAP协议
[SOAP定义] SOAP 简单对象访问协议,基于http传输xml数据,soap协议体是xml格式. SOAP 是一种网络通信协议 SOAP 即Simple Object Access ...
- 网络:TCP/IP各层的协议
教程书上虽然介绍了这些协议,但是就单个协议分别介绍的,很容易忘了这个协议属于那一层,以及属于底层哪个协议. 上图TCP/IP各层的协议很多,一张图就可以记住了. 应用层协议 0. 运行 在TCP\U ...
- java socket ip_JAVA 网络编程 TCP/IP、Socket 和协议设计
[JAVA 网络编程 TCP/IP.Socket 和协议设计] TCP/IP 协议简介 IP 首先我们看 IP(Internet Protocol)协议.IP 协议提供了主机和主机间的通信. 为了完成 ...
- OSI 七层模型和TCP/IP模型及对应协议(详解)
OSI 七层模型和TCP/IP模型及对应协议(详解) 查看全文 http://www.taodudu.cc/news/show-6185847.html 相关文章: OSI7层网络模型协议精析 OSI ...
最新文章
- 李铁:《非诚勿扰》与虚弱的中国人——写的太好了
- python语言的整数类型是什么-Python|你必须知道的基本数据类型之一:Number类型...
- mysql 缓存监控_MySQL监控性能的一些方法总结
- 部署DNS之辅助区域
- A、B、C、D、E类IP地址都是怎么划分的?
- 如果不知道做什么,那应该做什么呢?
- Mysql安装和常用命令及问题汇总
- Notice: Undefined variable: id in D:\phpStudy18\PHPTutorial\WWW\sqli-labs-master\Less-32\index.php o
- 语言取10的整数倍_C语言面试题(一)
- Spring Boot使用自定义的properties
- 高效记忆/形象记忆(13)110数字编码表 71-80
- sgu 309 Real Fun
- comet 简单了解
- python自然语言处理学习笔记一
- 【SVAC】国家视频编解码标准SVAC的特色和优势
- 斗破苍穹-牛仔版美杜莎
- 目前最火的人工神经网络,神经网络软件有哪些
- python实现qq登录界面_Python实现QQ界面
- pinbox: 我用过最好的收藏工具
- 操作系统课程设计-二级文件系统,Windows平台版本,c语言
热门文章
- UI设计师必备技能——点击进入的网页设计全攻略
- 素数筛法(python实现)
- matlab绘制符号函数的ezplot函数
- java菜鸟驿站_RxJava菜鸟驿站(一)
- element-ui对话框fullscreen.lock使用
- 【unity】编辑模式预览Animator动作,2种实现。 其中一种 playback模式是Cinema Director用的会使Unity Crash
- php 仓库出入库管理软件,出入库管理软件_仓库出入库管理软件【免费版】-太平洋下载中心...
- 铃木雅臣晶体管电路设计学习笔记1
- chromium 47 Chrome浏览器启动命令行参数
- iframe 透明参数