通过 SMBus 访问/监控电池状态

Posted

技术标签:

【中文标题】通过 SMBus 访问/监控电池状态【英文标题】:Accessing/monitoring battery status through SMBus 【发布时间】:2010-07-21 20:35:00 【问题描述】:

我目前正试图通过 SMBus 监控我的电池状态。

我有一个电池和一个不断输出电池状态的控制板。

这个控制板然后通过 I2C-USB 模块连接到我的主板。

我需要编写一个程序来识别 SMBus 连接并将电池状态传输给用户。

在处理智能电池和 I2C/SMBus 方面,我是初学者,我对如何解决这个问题有些迷茫。

任何建议的帮助将不胜感激。谢谢。

【问题讨论】:

【参考方案1】:

你的问题有点欠缺。什么样的I2C-USB模块?或者更确切地说,它是否带有 Linux 驱动程序?如果是这样,你可能不需要写一个。一个应用程序就可以了。您可以阅读有关 I2C 和 SMBus 的更多信息here。

基本上你需要的是控制板的I2C地址(一个字节)。当您拥有地址时,您(作为主机)使用其地址通过 I2C 总线向控制板发出读取命令并读取响应。如果有 I2C-USB 模块的驱动程序,这应该很简单。插入设备并 open() 设备(/dev/[i2c-usb-name] 其中 [i2c-usb-name] 是设备的名称)。然后按照驱动程序实现者的指南如何设置和通过该设备发送数据(通常使用 read()/write() 或 ioctl())。以下是有关从用户空间使用 I2C 的一些附加信息:http://www.mjmwired.net/kernel/Documentation/i2c(在左侧菜单中选择主题)。

如果您必须自己编写驱动程序,Linux 设备驱动程序初学者的第一站是LDD3。读一读,读起来很舒服。

【讨论】:

以上是关于通过 SMBus 访问/监控电池状态的主要内容,如果未能解决你的问题,请参考以下文章

通过 API 访问鼠标和键盘电池状态

Android之电池状态监控

锂电池组如何实现远程监控?

iOS:监控电池电量使用更多电池?应该自动保存吗?

最全面的系统监控软件《iStatistica 5.0》

如何在不耗尽电池的情况下监控 MPMoviePlayerController 播放进度?