Wednesday, November 23, 2016

Internet of Things with Python and Intel IoT boards: New book

Internet of Things, also known as IoT, is changing the way we live and represents one of the biggest challenges in the IT industry. Developers are creating low-cost devices that collect huge amounts of data, interact with each other, and take advantage of cloud services and cloud-based storage. Makers all over the world are working on fascinating projects that transform everyday objects into smart devices with sensors and actuators.

A coffee cup is not a simple object anymore - it can send a message to your smartwatch indicating that the liquid inside has the right temperature so that you can drink it without worrying about checking whether it is too hot. In case you move the coffee cup before you receive the message, your wearable vibrates to indicate that you don't have to drink it yet.

You can check the coffee level of the coffee dispenser in your smartphone, and you won't have to worry about ordering more coffee: the coffee dispenser will automatically place an online order to request coffee when the coffee level is not enough to cover the rest of the day. You just need to approve the online order that the coffee dispenser suggests from your smartwatch. Based on certain statistical algorithms, the coffee dispenser will know the appropriate time to make the order.

What happens when more usual visitors arrive at the office? Their smartwatches or smartphones will communicate with the coffee dispensers and they will place orders in case the probable consumption of decaffeinated coffee increases too much. We have smart coffee cups, smart coffee dispensers, smartwatches, smartphones, and wearables. All of them take advantage of the cloud to create a smart ecosystem capable of providing us with all the different types of coffees we need for our day.

The Intel Galileo Gen 2 board is an extremely powerful and versatile minicomputer board for IoT projects. We can boot a Linux version and easily execute Python scripts that can interact with the different components included on the board. This book will teach you to develop IoT prototypes, from selecting the hardware to all the necessary stacks with Python, its libraries, and tools. In case you need a smaller board or an alternative, all the examples included in the book are compatible with Intel Edison boards, and therefore, you can switch to this board in case you need to. In case you need more power, you can use everything you learn in this book to work with the new Intel Joule boards.

Python is one of the most popular programming languages. It is open source, multiplatform, and you can use it to develop any kind of application, from websites to extremely complex scientific computing applications. There is always a Python package that makes things easier for us in order to avoid reinventing the wheel and solve problems faster. Python is an ideal choice for developing a complete IoT stack. My book covers all the things you need to know to transform everyday objects into IoT projects.

The idea for this book started while I was attending Intel Developer Forum 2015, in San Francisco, California, USA. I realized there was a need for a book to help developers build IoT projects with Intel boards and Python.

My book is organized in the following ten chapters:

Chapter 1, Understanding and Setting up the Base IoT Hardware
Chapter 2, Working with Python on Intel Galileo Gen 2
Chapter 3, Interacting with Digital Outputs with Python
Chapter 4, Working with a RESTful API and Pulse Width Modulation
Chapter 5, Working with Digital Inputs, Polling and Interrupts
Chapter 6, Working with Analog Inputs and Local Storage
Chapter 7, Retrieving Data From the Real World with Sensors
Chapter 8, Displaying Information and Performing Actions
Chapter 9, Working with the Cloud
Chapter 10, Analyzing Huge Amounts of Data with Cloud-Based IoT Analytics

You can read more information about the book by clicking on the book's cover: