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数据