tcp/ip协议&&CAN通信

python socket 编程

七层链路模型(Seven-Layer OSI Model)

物数网传会表应--物理层、数据链路层、网络层、传输层、会话层、表示层(负责数据格式的转换和加密解密操作)和应用层。
TCP/IP 协议的四个层:
应用层:应用层是 TCP/IP 协议中最高层,主要定义了各种应用程序的协议和数据格式。常见的应用层协议包括 HTTP、FTP、SMTP 等。

传输层:传输层为两台主机之间提供端到端的可靠数据传输服务,主要有 TCP(传输控制协议)和 UDP(用户数据报协议)两种协议。

网络层:网络层主要解决数据在网络中的传输问题,其中最核心的是 IP(网际协议),它定义了如何把数据包传送到目标主机。

链路层:链路层负责物理层面上的数据传输,它定义了如何将比特流组成帧并通过物理介质传送到下一个节点。常见的链路层协议有以太网、无线局域网等。

 

 比如request库底层都是调用socket的编程接口。有的消息没有现成的接口,需要自定义消息。

TCP进行通讯的程序双方,分为服务端和客户端。

TCP 协议进行通讯的双方,是需要先建立一个虚拟连接的。然后双方程序才能发送业务数据信息。

建立TCP虚拟连接是通过著名的 三次握手进行的

 

 

 

 

can驱动开发

CAN 最早是 由德国 BOSCH(博世)开发的,目前已经是国际标准(ISO 11898)

can:高速(1mb) 稳定(差分信号)灵活  多设备链接(理论上没有限制)

 

 

 根据消息优先级,进行仲裁执行

 

 

 

 

 

 

 

 

 

 

can 提供: 数据帧(如下)、遥控帧、错误帧、过载帧、间隔帧

 

 

 首先打开linux系统对can的支持,然后配置linux配置内核选项的工具

 

 

 

移植canutils

 ./autogen.sh //先执行 autogen.sh,生成配置文件

configure ./configure --target=arm-linux-gnueabihf --host=arm-linux-gnueabihf --disable-static --enable-shared 

make //编译 make install

 

 

开发板测试发送can数据

 

posted @ 2023-04-13 23:30  张喆坤  阅读(394)  评论(0编辑  收藏  举报