I need to communicate with some batteries ( BT-70791CK from BrenTronics). They use SMBus ver 1.1 for communication, but in datasheet of the batteries there is no information about the SMBus address they have or the baudrate. I asked them and they told me that this is the only document that they have. So I started to think that maybe I do not need to know SMBus addresses or baudrate for SMBus communication. My questions are
Can I still communicate with devices that use SMBus ver 1.1. without knowing their addresses or baudrates?
Is there any specific baudrate or SMBus address for batteries or for SMBus ver1.1?
In Case you or others are looking for these answers I will post a few links and a short description regarding the Smart Battery Data Specification v1.1 and System Management Bus (SMBus) v1.1.
Battery Address (Bren Tronics == 0x16) -> LinkMissing || I have seen a sheet with standard addresses for charger, battery, and other devices, but I can't seem to find it. Feel free to comment the link in YOU know where to find this and I will add it to the link above.
Smart Battery Data -> Here || This contains all the values/codes you can read/write to a smart battery that complies with SMBus v1.1. It also contains a small introduction on how you read / write to the battery, SMBus functions like Read Block or Read Word. To save some time, pay attention to the exceptions on how you read data from the Battery. almost all "codes" allows you to read a value from 2 bytes + CRC8 (3 bytes total, if your software will utilize a CRC8 check)
SMBus v1.1 -> Here || Smart battery data will show battery related operations, but it uses SMBus (Very close to I2C, but some important differences!) To implement Smart Battery Functions, you will need to understand SMBus and how I2C works.
I2C -> Here || Have a question about I2C? I strongly recommend this web page.
Bren Tronics Implementing the SMBus -> Here || This contains the most common mistakes when implementing SMBus. pay close attention to the maximum distance from master->slave without repeaters or other more clever ways to provide pull-up Voltage.
If any link is broken or for some reason the specification sheets is taken down from the "WWW". Tag me in the post, I do have the PDF-files stored offline.
If you need to find addresses on I2C, the RaspberryPI 3b+ has I2C GPIO. As long as you have the correct pull-up resistance, you can do like I have, and find the battery address using RPI.
Another thread on RaspberryPI + i2cDetect("AddressFinder") -> Here