This document describes IPMI in great detail; how it works and what it does and does not do. It starts from the basics and moves into details. If you’ve heard about IPMI and want to find out more, this is the document for you. If you know something about IPMI but wish to find out more, you can gloss over the introductory text and dive more into the details.
This document also describes OpenIPMI and how to use that library. A basic understanding of IPMI is required to use OpenIPMI. However, OpenIPMI hides the details of IPMI like messages and data formats; if you do not care about those things you can skip those sections.
IPMI stands for Intelligent Platform Management Interface. Not a great name, but not too bad. It is intelligent (in a manner of speaking, anyway) because it requires a processor besides the main processor that is always on and maintaining the system. In most systems with IPMI, you can monitor and maintain the system even when the main processor is turned off (though the system must generally be plugged in).
Platform means that IPMI deals with the platform, not the software running on the platform. Software management is mostly out of the scope of IPMI
Management Interface means that the management system uses IPMI to talk to the system to monitor and perform maintenance on the platform. IPMI is mostly about monitoring, though it does have a few minor management functions. However, many companies and organizations have built more extensive management control using OEM extensions to IPMI.
The IPMI specification, of course, has the details, but they can be obscure. This document hopefully provides an easier to understand introduction to IPMI.