Python控制Linux(OrangePi 香橙派) I2C

第一步:打开 i2c 的配置

香橙派(OrangePi)开启i2c的方法是在 /boot/orangepiEnv.txt 中设置 overlays=i2c0 i2c1 就可以同时打开 i2c0 和 i2c1 的配置, 也可以只打开1个。
重启香橙派后生效。

overlays=i2c0 i2c1

其它Linux系统的配置方法我就不知道了。

第二步:安装i2c-tools

终端命令如下:

sudo apt update
sudo apt install i2c-tools

安装完,在板上i2c接口随便连接一个i2c设备,在终端输入命令:

sudo i2cdetect -y 0

(其中 0 表示 i2c0,若是i2c1 需要修改为 i2cdetect -y 1)
如果能检测到连接的 i2c 设备的地址,就说明 i2c 能正常使用,并且连接设备成功
如下图,我的i2c设备地址是0x68
在这里插入图片描述

第三步:安装smbus2

终端命令如下:

sudo pip install smbus2

安装成功提示:

Collecting smbus2
  Downloading smbus2-0.4.2-py2.py3-none-any.whl (11 kB)
Installing collected packages: smbus2
Successfully installed smbus2-0.4.2

若安装失败,到官网下载安装包:https://pypi.org/project/smbus2/#files
下载页面选择smbus2-0.4.2-py2.py3-none-any.whl下载,
然后复制.whl文件到Linux(香橙派)
.whl文件所在目录下,终端执行:

sudo pip install smbus2-0.4.2-py2.py3-none-any.whl

第四步:测试

Python的smbus2控制i2c非常简单,只要import smbus2并实例化SMBus对象之后,直接调用其读写函数就可以了。
我这边连接的设备是DS3231M,一个时钟模块,设备地址是0x68
Python代码如下:

# I2C_test.py

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值