首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏Skemaloop

    协议驱动开发漫谈(一)

    协议驱动开发漫谈(一) 在前面的文章中,我们都把注意力关注在了具体的工具使用上,没有从方法论和必要性上讨论过协议驱动开发(Schema Driven Development)这种开发模式。 更严重的问题是由于接口定义不是强类型的,我们无法添加协议校验,也就无从得知一个接口的修改会不会导致服务不可用,为服务的快速上线增加了难度和风险。 Restful无法提供RPC接口。 我们的方案 我们通过引入SDD(即协议驱动开发)来解决以上提到的问题。

    84860编辑于 2022-04-04
  • 来自专栏韦东山嵌入式

    Linux系统驱动之SMBus协议

    必须用git工具下载: git clone https://e.coding.net/weidongshan/linux/doc_and_source_for_drivers.git 视频观看 百问网驱动大全 SMBus是基于I2C协议的,SMBus要求更严格,SMBus是I2C协议的子集。 SMBus有哪些更严格的要求?跟一般的I2C协议有哪些差别? 注意: 下面文档中的Functionality flag是Linux的某个I2C控制器驱动所支持的功能。 (回应位) Address(7 bits): I2C 7 bit address. (地址位,7位地址) Command Code (8 bits): Command byte, a data byte which often selects a register on

    3.2K20编辑于 2021-12-08
  • 来自专栏ffffffff0x

    工控协议:S7COMM协议分析(上)

    --- S7Comm S7Comm(S7 Communication)是西门子专有的协议,是西门子 S7 通讯协议簇里的一种。 S7 协议的 TCP/IP 实现依赖于面向块的 ISO 传输服务。 S7 协议被封装在 TPKT 和 ISO-COTP 协议中,这使得 PDU(协议数据单元)能够通过 TCP 传送。 S7Comm 以太网协议基于 OSI 模型,从 wireshark 协议分级可以看出排列。 S7Comm 协议包含三部分: Header Parameter Data 根据实现的功能不同,S7 comm 协议的结构会有所不同。 下一篇文章,我们将继续学习S7comm协议Userdata 协议拓展部分。 --- 本文作者 r0fus0d

    5.6K12发布于 2021-01-18
  • 来自专栏ffffffff0x

    工控协议:S7COMM协议分析(下)

    前言 在上一篇文章中,我们介绍了S7Comm协议的S7Comm Header和Job 和 Ack_Data机制。 本篇文章,我们将继续介绍S7Comm协议的Userdata 协议拓展并结合pcap流量包实际分析。 --- Userdata 协议拓展 UserData 用于编程/调试、读取 SZL、安全功能、时间设置,循环读取等。 读时间(Read clock); 请求 [13.png] 响应 [14.png] --- 总结 本文,我们分析了S7Comm协议的Userdata 协议拓展部分。 通过与pcap流量包的结合分析,可以更加直观的了解其原理和交互过程,学习S7Comm协议对于工控安全非常重要,在之后的文章里,我们还将继续学习modbus和Ethernet/IP协议相关内容。

    2.3K12发布于 2021-01-18
  • 来自专栏PHPer 进击

    网络协议 7 - UDP 协议:性善碰到城会玩

    基于 UDP 的“城会玩”的五个例子 城会玩 一:网页或 APP 的访问     网页和手机 APP 都是基于 HTTP 协议的,而HTTP 协议是基于 TCP 的,建立连接都需要多次交互,对于时延比较大的移动互联网来讲 “城会玩” 二:流媒体的协议     直播协议多使用 RTMP,这个协议就是基于 UDP 的。TCP 的严格顺序传输要保证前一个收到了,下一个才能确认。 Google 旗下的 Nest 建立 Thread Group,推出了物联网通信协议 Thread,就是基于 UDP 协议的。 “城会玩” 五:移动通信领域     在 4G 网络里,移动流量上网的数据协议 GTP-U 也是基于 UDP 的。因为移动网络协议比较复杂,而 GTP 协议本身就包含复杂的手机上线下线的通信协议。 参考: 百度百科-UDP 词条; 刘超-趣谈网络协议系列课;

    1.3K30发布于 2019-04-11
  • 来自专栏嵌入式项目开发

    Linux驱动开发-编写NEC红外线协议解码驱动

    NEC协议是众多红外线协议中的一种,以前广泛用在电视机,投影仪设备里,很早之前经常说的万能电视遥控器就是NEC协议的。 当前文章就介绍如何在Linux下通过红外线接收模块,编写一个NEC协议的红外线解码驱动,解析遥控器传输过来的各种控制指令,完成对应的动作响应;驱动里用到了外部中断接收数据,通过定时器计算间隔时间完成解码 NEC协议的特点如下: 单个码一共分为5各部分(没有算重复码): 引导码+用户码+用户反码+按键码+按键反码 对于接收方_引导码: 9ms的低电平+4.5ms的高电平。 驱动安装后,解码的效果: 3. 案例代码 驱动代码思路: 采用外部中断接收NEC的数据,在工作队列里完成协议解析,最终通过printk打印出来。 ,NULL); printk("驱动测试: 驱动卸载成功\n"); } module_init(tiny4412_hello_module_init); /*驱动入口--安装驱动的时候执行

    1.9K30编辑于 2022-04-08
  • 来自专栏用户1069690的专栏

    Centos7安装ODBC驱动

    以下是参考官方文档安装ODBC驱动的过程,跟官方教程是一毛一样,只是加上了每行命令的说明。 添加安装源到本机 curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/mssql-release.repo unixODBC-devel 最后,查看/etc/odbcinst.ini文件内容 cat /etc/odbcinst.ini 可以看到最后面有[ODBC Driver 17 for SQL Server]的配置,恭喜你,驱动安装完成

    4.5K30编辑于 2022-05-18
  • centos7卸载显卡驱动

    找到显卡驱动.run文件: sudo . rpm -qa |grep -i nvid|sort yum remove kmod-nvidia-* 记得卸载完要重启系统:sudo reboot 特别注意:请先确认自己系统版本是不是centos7,

    59200编辑于 2025-07-20
  • 来自专栏Java架构师必看

    usb协议开发_基于事件驱动的架构

    今天说一说usb协议开发_基于事件驱动的架构,希望能够帮助大家进步!!! 1. A设备和B设备无需交换电缆接口,即可通过主机交换协议(HNP)实现A、B设备之间的角色互换。同时,为了节省电源,OTG允许总线空闲时A设备判断电源。 此时,若B设备希望使用总线,可以通过会话请求协议(SRP)请求A设备提供电源。 B设备开始总线复位并具有总线控制权,主机交换协议完成。 2.2 SRP(会话请求)协议 对于主机,要求能响应会话请求;对于设备,仅要求能够发起SRP协议。 3.3 OTG驱动 OS_FS: 文件系统 USBD: USB核心 HCD: 主机控制器驱动 UDC: 设备端控制器驱动 OTG设备支持HNP和SRP协议。

    3K30编辑于 2022-06-15
  • 来自专栏后端开发随笔

    CentOS7安装Chrome及驱动

    目录 安装Chrome 安装Chrome驱动程序 环境:CentOS Linux release 7.4.1708 (Core) 安装Chrome ? 解决Chrome驱动: unzip chromedriver_92.0.4515.43_linux64.zip -d /usr/local/bin/ 查看Chrome驱动版本: [root@ccc ~] # chromedriver --version ChromeDriver 92.0.4515.43 (8c61b7e2989f2990d42f859cac71319137787cce-refs/branch-heads /4515@{#306}) 注意: 不要求Chrome与Chrome驱动的所有版本字段信息完全一致! 比如我的Chrome与Chome驱动的“主版本号.次版本号.内部版本号”信息为:92.0.4515。

    2.3K30发布于 2021-07-29
  • 来自专栏mukekeheart的iOS之旅

    OC学习7——类别、扩展和协议

    () 3 @property(nonatomic, strong) NSString *color; 4 -(void) drive:(NSString *)name; 5 @end 6 7 All rights reserved. 7 // 8 9 #import <Foundation/Foundation.h> 10 11 @protocol Women <NSObject> All rights reserved. 7 // 8 9 #import <Foundation/Foundation.h> 10 11 @protocol Man <NSObject> 12 All rights reserved. 7 // 8 9 #import <Foundation/Foundation.h> 10 #import "Women.h" 11 #import " All rights reserved. 7 // 8 9 #import "SuperMan.h" 10 #define MAX_CACHE_LINE 10 11 12 @implementation

    1.1K60发布于 2018-02-27
  • 来自专栏用户1692782的专栏

    手撕RTSP协议系列(7)——PLAY

    a946c352dd3ad04cf9830d5e72ffb11e", uri="rtsp://192.17.1.63:554/", response="9ea6c2659d3bce8d129ca3549ecc7fbf

    3.1K51发布于 2020-10-30
  • 来自专栏瓜农老梁

    Nacos7# Distro协议增量同步

    引言 本文接着撸Distro协议,上文中分析了在Nacos server启动时会进行全量数据同步和数据校验,具体数据即客户端注册节点信息含命名空间、分组名称、服务名称、节点Instance信息等。 一、内容提要 增量数据同步 在Nacos节点启动时通过事件驱动模式订阅了ClientChangedEvent、ClientDisconnectEvent和ClientVerifyFailedEvent事件 ClientVerifyFailedEvent事件 二、增量数据同步 将代码翻到DistroClientDataProcessor类中,该类继承了SmartSubscriber,遵循Subscriber/Notify模式,即事件驱动模式 request.getGroupName(), request.getServiceName(), true); switch (request.getType()) { // 注解@7 , String.format("Unsupported request type %s", request.getType())); } } 注解@7

    1.5K31发布于 2021-07-14
  • 来自专栏用户1692782的专栏

    手撕rtmp协议细节(7)——createStream

    创建完RTMP连接之后就可以创建或者访问RTMP流,对于推流端,客户端要向服务器发送一个releaseStream命令消息,之后是createStream命令消息,对于拉流端,则要发送play消息请求视频资源。我们先来看看推流端的消息流程,当发送完createStream消息之后,解析服务器返回的消息会得到一个stream ID, 这个ID也就是以后和服务器通信的 message stream ID, 一般返回的是1,不固定。

    2.4K30发布于 2020-05-26
  • 来自专栏FPGA技术江湖

    FPGA零基础学习:UART协议驱动设计

    UART协议驱动设计 作者:郝旭帅 校对:陆辉 本篇实现基于叁芯智能科技的SANXIN -B01 FPGA开发板,以下为配套的教程,如有入手开发板,可以登录官方淘宝店购买,还有配套的学习视频。 为了解决上述的问题,我们规定了通信协议。 在UART通信协议中,我们规定: 1. 在不通信时,发送高电平。 2. 发送信息时,应该首先发送起始位(1bit、低电平)。 发送数据位,由于是串行通信,规定从低位开始发,最后到高位(协议规定信息位可以为4、5、6、7、8)。 4. 校验位(1bit)。可以采用奇校验、偶校验、直接发1、直接发0、不发等5种情况。 5. 安装驱动 将开发板与电脑相连接,打开设备管理器。 在我们的开发板上,使用的USB <->UART的芯片就是CP2102,所以在此需要安装驱动。 打开04_串口驱动,安装CP210x_windows_drivers。 文件中有两个安装程序。

    1.2K30发布于 2020-12-30
  • 来自专栏FPGA技术江湖

    FPGA零基础学习:IIC协议驱动设计

    FPGA零基础学习:IIC协议驱动设计 本系列将带来FPGA的系统性学习,从最基本的数字电路基础开始,最详细操作步骤,最直白的言语描述,手把手的“傻瓜式”讲解,让电子、信息、通信类专业学生、初入职场小白及打算进阶提升的职业开发者都可以有系统性学习的机会 IIC协议驱动设计 作者:郝旭帅 校对:陆辉 本篇实现基于叁芯智能科技的SANXIN -B01 FPGA开发板,以下为配套的教程,如有入手开发板,可以登录官方淘宝店购买,还有配套的学习视频。 SDA和SCL为IIC协议中的时钟线和数据线。 WP为写保护端,当连接高电平时,该芯片只能够被读,不能够写入;当连接低电平或者空置时,该芯片可以被读写。 在有些兼容IIC协议接口的器件中,寻址范围较少,8bit足够表示,所以在设计时,设计出适合两种寻址方式的驱动。 SCL的实现采用计数器控制,根据规定好的频率,在合适的地方进行拉高或者拉低。 SDA根据协议和对应的脉冲进行发送对应的协议段。 架构设计和信号说明 本模块命名为iic_drive。 暂不连接的端口,在后续测试时,会有其他模块来控制或者读取。

    1.8K50发布于 2021-03-23
  • 来自专栏FPGA技术江湖

    FPGA零基础学习:IIC协议驱动设计

    IIC协议驱动设计 作者:郝旭帅 校对:陆辉 本篇实现基于叁芯智能科技的SANXIN -B01 FPGA开发板,以下为配套的教程,如有入手开发板,可以登录官方淘宝店购买,还有配套的学习视频。 SDA和SCL为IIC协议中的时钟线和数据线。 WP为写保护端,当连接高电平时,该芯片只能够被读,不能够写入;当连接低电平或者空置时,该芯片可以被读写。 所以IIC协议只能实现半双工通信。 在硬件电路中,一般是通过三态门来进行控制双向IO。 ? 此电路在FPGA的IO中也是存在的。下面来分析具体的工作原理。 在有些兼容IIC协议接口的器件中,寻址范围较少,8bit足够表示,所以在设计时,设计出适合两种寻址方式的驱动。 SCL的实现采用计数器控制,根据规定好的频率,在合适的地方进行拉高或者拉低。 SDA根据协议和对应的脉冲进行发送对应的协议段。 架构设计和信号说明 本模块命名为iic_drive。 ? ? 暂不连接的端口,在后续测试时,会有其他模块来控制或者读取。

    81010发布于 2020-12-30
  • 来自专栏FPGA技术江湖

    FPGA零基础学习:UART协议驱动设计

    FPGA零基础学习:UART协议驱动设计 本系列将带来FPGA的系统性学习,从最基本的数字电路基础开始,最详细操作步骤,最直白的言语描述,手把手的“傻瓜式”讲解,让电子、信息、通信类专业学生、初入职场小白及打算进阶提升的职业开发者都可以有系统性学习的机会 UART协议驱动设计 作者:郝旭帅 校对:陆辉 本篇实现基于叁芯智能科技的SANXIN -B01 FPGA开发板,以下为配套的教程,如有入手开发板,可以登录官方淘宝店购买,还有配套的学习视频。 发送数据位,由于是串行通信,规定从低位开始发,最后到高位(协议规定信息位可以为4、5、6、7、8)。 校验位(1bit)。可以采用奇校验、偶校验、直接发1、直接发0、不发等5种情况。 安装驱动 将开发板与电脑相连接,打开设备管理器。 在我们的开发板上,使用的USB <->UART的芯片就是CP2102,所以在此需要安装驱动。 打开04_串口驱动,安装CP210x_windows_drivers。 文件中有两个安装程序。

    1.4K30发布于 2021-03-23
  • 来自专栏韦东山嵌入式

    Linux系统驱动之I2C协议

    I2C协议 参考资料: i2c_spec.pdf 1. 协议细节 如何在SDA上实现双向传输? 想让SDA输出高电平,双方都不驱动三极管(SDA通过上拉电阻变为高电平) 想让SDA输出低电平,就驱动三极管 从下面的例子可以看看数据是怎么传的(实现双向传输)。 举例:主设备发送(8bit)给从设备 前8个clk 从设备不要影响SDA,从设备不驱动三极管 主设备决定数据,主设备要发送1时不驱动三极管,要发送0时驱动三极管 第9个clk,由从设备决定数据 当它就绪后,就可以不再驱动三极管,这是上拉电阻把SCL变为高电平,其他设备就可以继续使用I2C总线了。 对于IIC协议它只能规定怎么传输数据,数据是什么含义由从设备决定。

    3.8K20编辑于 2021-12-08
  • 来自专栏EMQ 物联网

    新增 ABB COMLI 等 5 个工业协议驱动

    同时新增南向驱动 ABB COMLI,此驱动可通过串口连接 ABB 某些型号的 PLC。 新增驱动插件南向驱动 IEC61850此驱动在电力系统自动化中应用广泛,它由国际电工委员会 IEC 制定,定义了用于通信的数据模型、数据服务、通信协议等。 南向驱动 AB DF1由罗克韦尔自动化公司开发的串行通信协议,主要用于 PLC 和其他设备之间进行通信。 南向驱动环保 HJ-212中国环境监测网络中使用的一种通信协议,主要用于在环境监测设备之间进行数据交换,如环境中各种污染物的浓度等。 此协议在中国环境监测领域有着广泛的应用,包括大气监测、水监测、土壤监测等各个方面。南向驱动 ABB COMLI由 ABB 公司开发的一种串行通信协议,主要用于在其 PLC 和其他设备之间进行通信。

    54820编辑于 2023-04-07
领券