python实现简单can数据的收发

简介: 注意:1,bitrate 100000 通信速率一定要设置你所用的,不然数据接发都会失败,2,每次程序运行完,记得关闭can,如果每次运行都打开一次,会崩的,3,arbitration_id这里设置成自己的报文id

一:通过终端实现can数据的收发


将MCP2515与SN65HVD230双芯片组合模块的CAN0_H与CAN1_H,CAN0_L与CAN1_L相连


1:安装can-utils:


sudo apt-get install can-utils


2:打开一个终端,用来接收数据


candump can0


3:打开另一个终端,用来发送数据


cansend can1 000#11.22.33.44


如图所示


bb97d58faf754d1181aa2484cbc68faf.png


二:通过代码实现can数据的收发


注意:1,bitrate 100000 通信速率一定要设置你所用的,不然数据接发都会失败,2,每次程序运行完,记得关闭can,如果每次运行都打开一次,会崩的,3,arbitration_id这里设置成自己的报文id


发送端:


import time
import os
import can
import threading
#连接can0
can0 = can.interface.Bus(channel = 'can0', bustyp = 'socketcan_ctypes')
msg = can.Message(arbitration_id=0x123, data=[0, 1, 2, 3, 4, 5, 6, 7], extended_id=False)
#一直循环发送数据
a = 1
while a == 1 :
    # 设置CAN0通信扩展板
    os.system('sudo ip link set can0 type can bitrate 100000')
    os.system('sudo ifconfig can0 up')
    can0.send(msg)
    print(msg)
    time.sleep(3)
    #关闭can
    os.system('sudo ifconfig can0 down')


接收端:


import time
import os
import can
import threading
#连接can1
can1 = can.interface.Bus(channel = 'can1', bustyp = 'socketcan_ctypes')
#一直循环接收数据
a = 1
while a == 1 :
# 设置CAN1通信扩展板
    os.system('sudo ip link set can1 type can bitrate 100000')
    os.system('sudo ifconfig can1 up')
    msg = can1.recv(3.0)
    print(msg)
    #关闭can
    os.system('sudo ifconfig can1 down')
目录
打赏
0
0
0
0
1
分享
相关文章
如何在Python中高效实现CSV到JSON的数据转换
在实际项目中,数据格式转换是常见问题,尤其从CSV到JSON的转换。本文深入探讨了多种转换方法,涵盖Python基础实现、数据预处理、错误处理、性能优化及调试验证技巧。通过分块处理、并行处理等手段提升大文件转换效率,并介绍如何封装为命令行工具或Web API,实现自动化批量处理。关键点包括基础实现、数据清洗、异常捕获、性能优化和单元测试,确保转换流程稳定高效。
141 83
利用Python自动化处理Excel数据:从基础到进阶####
本文旨在为读者提供一个全面的指南,通过Python编程语言实现Excel数据的自动化处理。无论你是初学者还是有经验的开发者,本文都将帮助你掌握Pandas和openpyxl这两个强大的库,从而提升数据处理的效率和准确性。我们将从环境设置开始,逐步深入到数据读取、清洗、分析和可视化等各个环节,最终实现一个实际的自动化项目案例。 ####
423 10
Python 请求微店商品详情数据 API 接口
微店开放平台允许开发者通过API获取商品详情数据。使用Python请求微店商品详情API的主要步骤包括:1. 注册并申请API权限,获得app_key和app_secret;2. 确定API接口地址与请求参数,如商品ID;3. 生成签名确保请求安全合法;4. 使用requests库发送HTTP请求获取数据;5. 处理返回的JSON格式响应数据。开发时需严格遵循微店API文档要求。
Python爬虫实战:一键采集电商数据,掌握市场动态!
这个爬虫还挺实用,不光能爬电商数据,改改解析规则,啥数据都能爬。写爬虫最重要的是要有耐心,遇到问题别着急,慢慢调试就成。代码写好了,运行起来那叫一个爽,分分钟几千条数据到手。
从零开始:用Python爬取网站的汽车品牌和价格数据
在现代化办公室中,工程师小李和产品经理小张讨论如何获取懂车帝网站的汽车品牌和价格数据。小李提出使用Python编写爬虫,并通过亿牛云爬虫代理避免被封禁。代码实现包括设置代理、请求头、解析网页内容、多线程爬取等步骤,确保高效且稳定地抓取数据。小张表示理解并准备按照指导操作。
从零开始:用Python爬取网站的汽车品牌和价格数据
python语言采集淘宝商品详情数据,json数据示例返回
通过淘宝开放平台的API接口,开发者可以轻松获取商品详情数据,并利用这些数据进行商品分析、价格监控、库存管理等操作。本文提供的示例代码和JSON数据解析方法,可以帮助您快速上手淘宝商品数据的采集与处理。
从集思录可转债数据探秘:Python与C++实现的移动平均算法应用
本文探讨了如何利用移动平均算法分析集思录提供的可转债数据,帮助投资者把握价格趋势。通过Python和C++两种编程语言实现简单移动平均(SMA),展示了数据处理的具体方法。Python代码借助`pandas`库轻松计算5日SMA,而C++代码则通过高效的数据处理展示了SMA的计算过程。集思录平台提供了详尽且及时的可转债数据,助力投资者结合算法与社区讨论,做出更明智的投资决策。掌握这些工具和技术,有助于在复杂多变的金融市场中挖掘更多价值。
47 12
实战指南:通过1688开放平台API获取商品详情数据(附Python代码及避坑指南)
1688作为国内最大的B2B供应链平台,其API为企业提供合法合规的JSON数据源,直接获取批发价、SKU库存等核心数据。相比爬虫方案,官方API避免了反爬严格、数据缺失和法律风险等问题。企业接入1688商品API需完成资质认证、创建应用、签名机制解析及调用接口四步。应用场景包括智能采购系统、供应商评估模型和跨境选品分析。提供高频问题解决方案及安全合规实践,确保数据安全与合法使用。立即访问1688开放平台,解锁B2B数据宝藏!
Python爬取某云热歌榜:解析动态加载的歌曲数据
Python爬取某云热歌榜:解析动态加载的歌曲数据

热门文章

最新文章