1st Edition

Smart Computing with Open Source Platforms

ISBN 9780815359524
Published June 4, 2019 by CRC Press
262 Pages 66 B/W Illustrations

USD $69.95

Prices & shipping based on shipping country


Book Description

Focuses on the concept of open source prototyping and product development and designing sensor networks and covers IoT base applications

This book will serves as a single source of introductory material and reference for programming smart computing and Internet of Things (IoT) devices using Arduino with the use of Python

It covers number of comprehensive DIY experiments through which the reader can design various intelligent systems

Table of Contents


Chapter 1: Introduction to Open Source Hardware

    1. Open source Hardware concept
    2. Arduino Ecosystem and types
    3. Feature of Arduino Hardware
    4. Feature of Arduino Software
    5. How to setup
    6. Arduino development community and social coding
    7. Concept covered in this chapter

Chapter 2: Arduino Hardware

2.1 System Architecture

2.2 The Microcontrollers

2.3 Arduino Interrupts

2.4 Peripheral Device Interfacing

2.5 Concept covered in this chapter

Chapter3: Data types, Operators and Expressions

3.1 Primitive data types

3.2 User defined data types

3.3 Declaration of variable

3.4 Operators

3.5 Precedence and Associativity

3.6 Concept covered in this chapter

Chapter 4: Functions in Arduino

4.1 ‘setup ()’ and ‘loop ()’ functions

4.2 user defined functions

4.3 recursive function calls

4.4 Library

4.5 Concept covered in this chapter

Chapter 5: Conditional statements

5.1 ‘if-else’ conditional statements

5.2 ‘switch-case’ statement

5.3 Loops in Arduino

5.4 while() and do-while()

5.5 ‘loop()’ in Arduino

5.6 Concept covered in this chapter

Chapter 6: Arduino Input Systems

6.1 ‘pinMode()’ function

6.2 INPUT and INPUT_PULLUP configuration

6.3 ‘digitalRead()’ function

6.4 ‘analogRead()’ function

6.5 Inputs for Firmata Library

6.6 Input device interfacing

6.7 Concept covered in this chapter

Chapter 7: Arduino Output Systems

7.1 ‘digitalWrite()’ function

7.2 ‘analogWrite()’ function

7.3 An Input Output example

7.4 Concept Covered in this chapter

Chapter 8: Arduino with Processing

8.1 Overview of Processing Language

8.2 Code Structure

8.3 Libraries and Functions

8.4 Visualization of LDR output

8.5 Interaction with Arduino and Firmata

8.6 Mouse handling in processing

8.7 Colors in processing

8.8 Concept covered in this chapter

Chapter 9: Real life Code Examples

9.1 Automated Rail Gate Control

9.2 Arduino based heart rate monitoring system

9.3 LPG Leakage Detectors

9.4 Conclusion

9.5 Concept covered in this chapter

Chapter 10: Introduction to Python language

10.1 Features of Python language

10.2 Python Versions

      1. Python Installation
      2. Writing some basic programs
      3. Installation using pip

10.6 Concept covered in this chapter

Chapter 11: Operators, variable and expressions

11.1 Operators in Python

11.1.7 Assignment Operator

11.2 Clearing the screen of console

11.3 Concept covered in this chapter

Chapter 12: Decision and control flow

12.1 ‘if’ statement

12.2 ‘if elif else’ ladder=

12.3 Loops in Python

12.4 Concept covered in this chapter

Chapter 13: Functions in Python

13.1 Standard rule of definition

13.2 Function invocation

13.3 Keyword argument concept

13.4 Lambda function

13.5 Modules in Python

13.6 Package in Python

13.7 reload(), global() and local()

13.8 Concept covered in this chapter

Chapter 14: More Examples on Modules and Functions with APIs

14.1 Accessing .CSV file

14.2 Parsing JSON data

14.3 Working with MongoDB

14.4 MongoDB client Management Tools

14.5 Concept Covered in this chapter

Chapter 15: Implementation of Data Structures

15.1 List in Python

15.2 Tuples in Python

15.3 Dictionary structure

15.4 Sorting of the data structure

15.5 Date and Time in Python

15.6 Strings in Python

15.7 Concept covered in this chapter

Chapter 16: Object Oriented Programming in Python

16.1 Classes in Python

16.2 Constructor

16.3 Creation of methods in class

16.4 Polymorphism in Python

16.5 Inheritance concept

16.6 Method overriding concept

16.7 Concept covered in this chapter

Chapter 17: Input and Output in Python

17.1 Using input and raw_input function

17.2 File input output

17.3 attributes of file objects

17.4 close() operation

17.5 Reading and Writing a file

17.6 the tell() method

17.7 seek method

17.8 Command line argument in Python

17.9 Concept covered in this chapter

Chapter 18: Exception Handling in Python

18.1 Syntax error vs exception

18.2 Handling Exception

18.3 Concept covered in this chapter

Chapter19: Graphical User Interface in Python

19.1 Introduction to TkInter

19.2 Core component classes

19.3 Concept covered in this chapter

Chapter20: Python API for Machine Learning and Arduino

20.1 Installation of the packages

20.2 SciPy and NumPy packages

20.3 Introduction to Matplotlib

20.4 Overview of SciPy

20.5 Machine learning tools

20.6 Arduino API for Python

20.7 Concept covered in this chapter

Chapter21: More on Machine Learning API

21.1 Scikit Learn

21.2 Deep learning tools

21.3 Concept covered in this chapter

Chapter 22: Conclusion

22.1 Chapters 1 & 2 Illustration

22.2 Chapter 3, 4 and 5 illustration

22.3 Chapters 6 to 9

22.4 Chapters 10 to 21

22.5 Future scope and enhancement of the book

Frequently Asked Questions


View More



Dr. Nilanjan Dey is an Assistant Professor in Department of Information Technology at Techno India College of Technology, Kolkata, India. He was an honorary visiting Scientist at Global Biomedical Technologies Inc., CA, USA and an associated Member of University of Reading, London, UK . He has authored/edited more than 40 books with Elsevier, Wiley, CRC Press and Springer etc., and published more than 300 research articles.  He is the Editor-in-Chief of International Journal of Ambient Computing and Intelligence, IGI Global, USA. He is the Series Co-Editor of Springer tracts in nature-inspired computing, Springer Nature, Advances in Ubiquitous Sensing Applications for Healthcare, Elsevier,  Intelligent Signal processing and data analysis, CRC Press. He is an Associated Editor of IEEE Access.

His main research interests include Medical Imaging, machine learning, data mining etc.  Recently, he is awarded as one among the top 10 most published and cited academics in the field of Computer Science in India during the period of consideration 2015-17.

Mr. Amartya Mukherjee, M.Tech, is an assistant professor at the Institute of Engineering and Management, Salt Lake, Kolkata, India. He holds a bachelor's degree in computer science and engineering from West Bengal University of Technology and a master's degree in computer science and engineering from the National Institute of Technology, Durgapur, West Bengal, India. His primary research interest is in embedded application development, including mobile ad hoc networking, aerial robotics, and Internet of Things and machine learning. He has written several research articles in the field of wireless networking and embedded systems. His book Embedded systems and robotics with open source tools is one of the bestselling books in the field of embedded application development.