IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> python的CANOpen -> 正文阅读

[开发工具]python的CANOpen

我是在虚拟机中用VSCode配置anaconda环境,并利用anaconda创建的虚拟环境(python38:是python3.8版本)

1、首先进入python虚拟环境(pyhton38)

  1. 首先进入python虚拟环境(pyhton38)
    在这里插入图片描述
    pip list 查看目前的虚拟环境python38安装的库
    在这里插入图片描述

2. 创建一个文件夹pyCanopen,

下面的操作都在这个文件夹下执行。

mkdir pyCanopen

3. 安装virtualenv库,并创建python项目环境

这个库可以为各项目提供一个独立的虚拟运行环境,互不干扰。

pip install virtualenv

//创建python项目的虚拟环境,命名为venv
virtualenv venv

在这里插入图片描述

激活项目环境

source venv/bin/activate

在这里插入图片描述

4. 安装canopen库

pip install canopen

查看安装的库
在这里插入图片描述

5. 创建一个虚拟can设备,叫vcan0

$ sudo modprobe vcan	//加载vcan模块
$ sudo ip link add dev vcan0 type vcan	//添加vcan0网卡
$ sudo ip link set up vcan0		//开启vcan0

在这里插入图片描述
查看vcan0

ifconfig -a

在这里插入图片描述

sudo ip link set dev can0 down		//关闭can0
sudo ip link del dev can0		//删除can0

6. CAN 通信测试工具 canutils

6.1. 安装can-utils
can-utils工具有5个独立的程序:

  • canconfig:
    用于配置CAN总线接口的参数,主要是波特率和模式;
  • candump:
    从CAN总线接口接收到的所有数据重新发送到CAN总线接口;
  • canecho:
    把CAN总线接口接收到的所有数据重新发送到CAN总线接口;
  • cansend:
    往指定的CAN总线接口发送指定的数据;
  • cansequence:
    往指定的CAN总线接口自动重复递增数字,也可以指定接收模式并校验检查接收的递增数字。
sudo apt-get install can-utils

//监控van0
 candump -t d vcan0

在这里插入图片描述
在这里插入图片描述

7. 写一个test代码

其中用到的CANopenSocket.eds,可以找下下载下来,放到代码同一目录中。

#!/usr/bin/python3
import time
import canopen

running = True

# def sigint_handler(singnum,frame):
#     global running
#     print("")
#     running = False
#     exit(0)
if __name__ == '__main__':
    network = canopen.Network()
    network.connect(bustype = 'socketcan', channel = 'vcan0')

    node = network.create_node(6, 'CANopenSocket.eds')
    node.nmt.send_command(0)
    node.nmt.state = 'PRE-OPERATIONAL'
    node.nmt.start_heartbeat=(1000)

    while running:
        print("hello")
        pass
  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2021-12-28 23:12:24  更:2021-12-28 23:13:06 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 12:31:53-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码