我是Yocto项目的新手。最近,我成功地为Raspberry Pi 3B建立了核心图像--最小的波基图像。但是现在我想用BMP280 I2C传感器数据来读取Raspberry PIP3B上的I2C数据。有人能告诉我怎么做吗?
连接: VCC引脚连接到Raspberry Pi板上的pin 17。GND引脚连接到Raspberry Pi板的pin 9。SCL引脚连接到树莓Pi板的(GPIO3) pin 5。SDA引脚连接到树莓Pi板的(GPIO2) pin 3。
发布于 2022-03-10 12:56:07
关于这个话题有很多博客和维基。
来自用户空间的
您可以使用Python
,如下链接所提供的那样:
来自内核空间的
您可以在内核配置中激活BMP280驱动程序并为其创建一个片段文件,然后注意用户空间教程将不会像内核驱动程序占用I2C总线那样工作,因此您需要从驱动程序的属性文件中获取数据。
bitbake linux-raspberrypi -c menuconfig
使用bmp280
按钮查找/
。
将模块激活为M
或*
,这取决于您是否希望将驱动程序包含到内核映像中或作为单独的内核模块(.ko)。
保存配置,并:
bitbake linux-raspberrypi -c diffconfig
您将得到一个片段文件fragment.cfg
:
CONFIG_BMP280=m
CONFIG_BMP280_I2C=m
CONFIG_BMP280_SPI=m
获取fragment.cfg
文件路径并运行:
recipetool appendsrcfile -w <path/to/meta-custom> linux-raspberrypi <path/to/fragment.cfg>
重建linux-raspberrypi
和图像。
在闪烁新图像并连接BMP280之后,insmod
/modprobe
驱动程序。
然后,您需要查找BMP280驱动程序的sys文件并从中获取数据。
未来构想:
如果您要制作一个总是插入BMP280的产品,我建议您更改设备树文件,这样您就可以控制驱动程序的参数,并确保在启动时加载它。
有关如何执行此操作的更详细信息,请检查此链接,该链接正在讨论通过(片段,设备)添加新硬件。
这是一个法语网站,但你可以把它翻译成非常有用的信息。
https://stackoverflow.com/questions/71420671
复制相似问题