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

    【Linux】SocketCAN设备调试与开发(模拟器)

    大家都知道,车辆底盘系统是通过CAN进行通信的,而常见的有USB-CAN和SocketCAN两种,前者是通过USB口接入PC的,代表的有周立功、创芯等(较便宜),后者是通过网口接入PC的,代表的有Kvaser 的丰富资料外,在Linux端只需安装net-tools和SocketCAN驱动,然后就可以使用utils的命令去控制。 对于没有SocketCAN设备的童鞋来说,ICSim为我们研究开发提供了一种可能,同时可以练习can-utils操作,另外,使用模拟器可以隔离硬件环境,防止硬件受损。 CAN-Utils Linux 内核中内置了 SocketCAN、can-utils、vcan等工具链,作用是发送和接收 CAN 数据,对数据进行编码或解码。 Linux通过SocketCAN在内核中内置CAN支持,使得编写自己的附加程序变得很容易。你可以与can总线交互,就像你与任何其他网络交互一样,即通过套接字socket。

    1.7K10编辑于 2024-07-24
  • 来自专栏全栈程序员必看

    CAN总线应用开发接口

    由于系统将CAN设备作为网络设备进行管理,因此在CAN总线应用开发方面,Linux提供了SocketCAN接口,使得CAN总线通信近似于和以太网的通信,应用程序开发接口更加通用,也更加灵活。 此外,通过https://gitorious.org/linux-can/can-utils网站发布的基于SocketCAN的can-utils工具套件,也可以实现简易的CAN总线通信。 下面具体介绍使用SocketCAN实现通信时使用的应用程序开发接口。 1. 初始化 SocketCAN中大部分的数据结构和函数在头文件linux/can.h 中进行了定义。 struct sockaddr_can addr; struct ifreq ifr; s = socket(PF_CAN, SOCK_RAW, CAN_RAW); //创建SocketCAN

    1.6K20编辑于 2022-09-06
  • 来自专栏小点点

    车联网安全入门——CAN总线逆向(ICSim)

    介绍 ICSim 是一个用于模拟车辆仪表集群的工具,专门为 SocketCAN 设计。SocketCAN 是 Linux 内核中的一个模块,用于支持控制器局域网(CAN)接口。 与 SocketCAN 集成:ICSim 与 Linux 的 SocketCAN 接口集成,允许用户通过标准的 SocketCAN 工具与模拟器进行通信和调试。

    86710编辑于 2024-06-05
  • 来自专栏韦东山嵌入式

    Linux应用开发【第十三章】CAN编程应用开发

    基础应用编程 13.4.1 socketcan概述 13.4.2 socketcan基本知识点 13.4.2.1 CAN设备操作 13.4.2.2 什么是Socket套接口 13.4.2.3 Socket 图13.3.2.4-1 报文发送结果查看 图13.3.2.4-2 报文接收情况查看 13.4 Linux socketcan基础应用编程 13.4.1 socketcan概述 ​ socketcan是在 /socketcan_send 如果运行时提示权限不允许,可以使用chmod命令设置权限: Chmod 777 socketcan_send 运行后串口查看打印信息如下: 然后再观察Vehcile Spy3 关于linux socketcan的应用编程框架我们已经在“14.4 linux socketcan基础应用编程”详细讲解了,我们现在就基于“14.4.5 socketcan接收和发送实例”进行本章案例应用编程 (1)linux can编程框架准备 使用案例“04_socketcan_recv_send”代码,复制文件夹改名为“06_socketcan_ecu_application”。

    6.9K81编辑于 2021-12-15
  • 来自专栏技术汇总专栏

    CAN总线与嵌入式系统通信:实时性和可靠性的平衡

    这是一个Python示例,演示了如何在树莓派上使用SocketCAN库进行CAN通信。 import can# 初始化CAN总线bus = can.interface.Bus(channel='can0', bustype='socketcan')# 创建一个CAN消息msg = can.Message 使用BeagleBone Black和SocketCAN进行CAN通信在BeagleBone Black上进行CAN通信通常需要使用SocketCAN。 这是一个示例,演示了如何在BeagleBone Black上使用SocketCAN库进行CAN通信。

    1.6K00编辑于 2023-12-09
  • 来自专栏云深之无迹

    YoloV5如何输出检测结果给外界使用?

    一开始就是一个大无语的事件,在源码里面有一个代码的注释,套娃无止境~ 合着这一篇文就是无限Copy呗,吐了 由于系统将 CAN 设备作为网络设备进行管理,因此在 CAN 总线应用开发方面, Linux 提供了SocketCAN SocketCAN 中大部分的数据结构和函数在头文件 linux/can.h 中进行了定义。CAN 总线套接字的创建采用标准的网络套接字操作来完成。

    2.6K20编辑于 2022-11-29
  • 来自专栏小点点

    车联网安全入门——ICSim模拟器使用

    介绍 ICSim 是一个用于模拟车辆仪表集群的工具,专门为 SocketCAN 设计。SocketCAN 是 Linux 内核中的一个模块,用于支持控制器局域网(CAN)接口。 与 SocketCAN 集成:ICSim 与 Linux 的 SocketCAN 接口集成,允许用户通过标准的 SocketCAN 工具与模拟器进行通信和调试。

    78010编辑于 2024-06-04
  • 来自专栏小点点

    车联网安全入门——CAN总线模糊测试

    介绍 ICSim 是一个用于模拟车辆仪表集群的工具,专门为 SocketCAN 设计。SocketCAN 是 Linux 内核中的一个模块,用于支持控制器局域网(CAN)接口。 与 SocketCAN 集成:ICSim 与 Linux 的 SocketCAN 接口集成,允许用户通过标准的 SocketCAN 工具与模拟器进行通信和调试。

    1.1K10编辑于 2024-06-05
  • 来自专栏机器人课程与技术

    ROS和CAN的一些资料

    ros_canopen: can_msgs | canopen_402 | canopen_chain_node | canopen_master | canopen_motor_node | socketcan_bridge  | socketcan_interface 3. ros_canopen github ? In addition to working with SocketCAN through ros_canopen6, it also works with multi-channel and PCIe

    2.3K30发布于 2019-01-23
  • 来自专栏AI-vell

    汽车黑客手册-章节简介

    第三章:SocketCAN汽车通信 演示如何在Linux上使用SocketCAN接口集成大量CAN硬件工具,以便你可以编写或使用一个工具,而不管你用的是什么设备 第四章:诊断和日志 介绍如何读取引擎代码 explores the wiring, voltages, and protocols that each bus uses. • Chapter 3: Vehicle Communication with SocketCAN shows how to use the SocketCAN interface on Linux to integrate numerous CAN hardware tools so that you

    1.5K20发布于 2018-10-27
  • 来自专栏Frank909

    自动驾驶 Apollo 源码分析系列,系统监控篇(二):Monitor模块如何监控硬件

    socket(AF_INET,SOCK_STREAM,0) 这说明 SocketCAN 和普通的 TCP/IP 是不一样的。 磁盘负债的比例计算公式是: usage = (当前I/O时间 - 上一次I/O时间)/监控间隔时长 总结 Apollo 归类到硬件监控的内容不多,只有 4 个,ESD CAN、GPS、SocketCAN 、Resource 监控本身的逻辑代码没有多少,更多借助于硬件本身的测试驱动方法,Monitor负责汇总 SocketCAN 的监控主要是在一个监控周期对它进行常规的 API 调用 System 健康问题被当成一个

    1.4K20编辑于 2022-05-10
  • 来自专栏FreeBuf

    CANard工具套件:CAN总线安全工具

    3.1 支持的适配器 CANard库当前支持Linux系统下的SocketCAN。因此,Linux环境下,所有SocketCAN支持的接口都可以通过CANard正常工作。 SocketCAN是Linux系统环境下CAN总线协议的一种实现方法。SocketCAN使用伯克利的socket接口和linux网络协议栈,使得CAN设备驱动可以通过网络接口来调用。

    3.3K100发布于 2018-02-06
  • 来自专栏全栈程序员必看

    ubuntu读取can口数据_嵌入式Linux下CAN接口调试[通俗易懂]

    Linux系统通过SocketCAN层提供CAN支持,使得可以使用类似操作socket API函数来操作CAN总线,具体关于SocketCAN说明请见这里。 b). can port is can1 can1 ID=0x1f data length=8 0x11 0x22 0x33 0x44 0x55 0x66 0x77 0x88 ————————– 5).总结 利用SocketCAN Linux系统通过SocketCAN层提供CAN支持,使得可以使用类似操作socket API函数来操作CAN总线,具体关于SocketCAN说明请见这里。 b). can port is can1 can1 ID=0x1f data length=8 0x11 0x22 0x33 0x44 0x55 0x66 0x77 0x88 ————————– 5).总结 利用SocketCAN

    6.1K30编辑于 2022-07-04
  • 来自专栏今日你学咗没

    养虾记|让小龙虾帮我控制七轴臂

    **连接与配置**-使用`create_agx_arm_config(robot="nero",comm="can",channel="can0",interface="socketcan")`创建配置 piper_x;channel如can0robot_cfg=create_agx_arm_config(robot="nero",comm="can",channel="can0",interface="socketcan AgxArmFactory.create_arm(robot_cfg)robot.connect()create_agx_arm_config(robot,comm="can",channel="can0",interface="socketcan poll_interval)defmain():robot_cfg=create_agx_arm_config(robot="nero",comm="can",channel="can0",interface="socketcan

    31410编辑于 2026-03-04
  • 来自专栏机器人课程与技术

    ROS2机器人笔记20-07-08

    多传感器驱动程序 正态分布变换(NDT)*用于定位和地图构建 体素网格和地面去除点云过滤 基于航点的路径规划* 使用LiDAR和雷达进行目标检测 基于A *规划器的路线规划*算法 高级主管/监视节点 使用SocketCAN

    1K31发布于 2020-07-09
  • 来自专栏Hello工控

    CAN bus vs. Ethernet

    在Linux上,一个流行的库选择是vcan内核模块和SocketCAN库。SocketCAN允许应用程序通过普通的UNIX原始套接字发送和接收数据。

    72510编辑于 2024-09-29
  • 来自专栏C++开发学习交流

    【C++】ROS:常用硬件驱动与功能包小结

    from can0 cansend can0 001#1122334455667788 //send data to can0 apt安装:sudo apt-get install ros-melodic-socketcan-bridge

    77110编辑于 2024-07-24
  • 来自专栏FreeBuf

    CAN总线简介:如何以编程方式控制汽车

    答案就是SocketCAN,这是一个由大众公司向Linux内核基金会研发的开源CAN驱动和网络栈协议集。 控制汽车空调系统(A/C系统) 接下来就是把A/C系统功能连接到我们运行于汽车内的微型PC,该PC为机器人操作系统(ROS),而幸运的是,利用前述提及的SocketCAN和ROS中的一个模块,就能很容易实现连接和操作 而且用socketcan_bridge方式可以将我们的CAN数据帧转换成ROS可接收的消息格式。完美!

    4.5K3222发布于 2018-02-28
  • 来自专栏跟Qt君学编程

    Qt 5.14版本更新细节

    [QTBUG-75204]SocketCAN:添加了配置参数QCanBusDevice::ProtocolKey,以使用协议系列PF_CAN中的另一个协议。 [QTBUG-54296]SocketCAN:如果libsocketcan可用,则可以在运行时获取和设置CAN总线比特率。

    4.1K10发布于 2019-12-25
  • 来自专栏车联网/IoT安全

    CAN总线安全之ICSim模拟器

    # 下载ICSim git clone https://github.com/zombieCraig/ICSim.git # 编译 cd ICSim sudo make can-utils是一款基于SocketCAN

    1.7K30编辑于 2023-10-12
领券