Real World Instrumentation with Python

real world instrumentationDevelop your own applications to control your own instrumentation hardware.

Python's rapid development is already well known, and is versatile enough to be used in just about any situation, from mathematics to fully fledged graphical interfaces, but how do you control external hardware? How can you use Python to access a serial interface, talk to hardware on the desk, or even better, create our own interface? O'Reilly's Real World Instrumentation with Python explains all of that, and even more.

The first chapters deal with electronics, Python and C, Python extensions and industry-standard interfaces; refreshing your knowledge or offering a primer to these fields. Clear examples and step by step instructions make it easy for anyone. These chapters are heavily furnished, taking up about a quarter of the total book.

Interestingly, Python isn't the only programming language that this book gets into, there is also a chapter on C. C compliments Python very well, as Python is often compiled in CPython. Adding some C to your instrumentation programs can save the time that your Python programs need to be compiled while running. As some of the measurements can be taken in nanoseconds, that makes a big difference.

Things really start afterwards with the aptly-named chapter 8, "Getting Started". The author goes into detail on instrumentation data I/O, reading and writing the data to text and binary files. The final chapters talk about graphical interfaces, turning the command-line text output into rich graphical interfaces.

The book is full of clear illustrations, and step-by-step instructions that anyone can follow, from beginner to expert. The layout is very well thought out, and the author is clearly an expert in his domain.

The one downside of this book is the fact that only three devices are listed, but of course you can't list them all. Even if you don't have one of these devices, the examples are clear enough to understand how it works.

This book is an excellent self-contained foundation for any Python developer who wants to take one step further, and make the leap from software into hardware.