Smart Computing with Open Source Platforms
eBook - ePub

Smart Computing with Open Source Platforms

  1. 208 pages
  2. English
  3. ePUB (mobile friendly)
  4. Available on iOS & Android
eBook - ePub

Smart Computing with Open Source Platforms

About this book

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

Frequently asked questions

Yes, you can cancel anytime from the Subscription tab in your account settings on the Perlego website. Your subscription will stay active until the end of your current billing period. Learn how to cancel your subscription.
No, books cannot be downloaded as external files, such as PDFs, for use outside of Perlego. However, you can download books within the Perlego app for offline reading on mobile or tablet. Learn more here.
Perlego offers two plans: Essential and Complete
  • Essential is ideal for learners and professionals who enjoy exploring a wide range of subjects. Access the Essential Library with 800,000+ trusted titles and best-sellers across business, personal growth, and the humanities. Includes unlimited reading time and Standard Read Aloud voice.
  • Complete: Perfect for advanced learners and researchers needing full, unrestricted access. Unlock 1.4M+ books across hundreds of subjects, including academic and specialized titles. The Complete Plan also includes advanced features like Premium Read Aloud and Research Assistant.
Both plans are available with monthly, semester, or annual billing cycles.
We are an online textbook subscription service, where you can get access to an entire online library for less than the price of a single book per month. With over 1 million books across 1000+ topics, we’ve got you covered! Learn more here.
Look out for the read-aloud symbol on your next book to see if you can listen to it. The read-aloud tool reads text aloud for you, highlighting the text as it is being read. You can pause it, speed it up and slow it down. Learn more here.
Yes! You can use the Perlego app on both iOS or Android devices to read anytime, anywhere — even offline. Perfect for commutes or when you’re on the go.
Please note we cannot support devices running on iOS 13 and Android 7 or earlier. Learn more about using the app.
Yes, you can access Smart Computing with Open Source Platforms by Amartya Mukherjee,Nilanjan Dey in PDF and/or ePUB format, as well as other popular books in Computer Science & Programming in JavaScript. We have over one million books available in our catalogue for you to explore.

1

Images

Introduction to Open Source Hardware

Images
Images

1.1 Open Source Hardware Concept

The term open source hardware [1] is very common today. Open source hardware, also known as open hardware, is basically conceptualized as the electronic hardware or computer component built from some design information that can be copyrighted and licensed without a strict restriction of copyright law [2]. Schematic diagrams, components used, documentation, and the logic design are some of the components of the open source hardware design. Like open source software, the open source hardware may have the source code available for the hardware design; in this case, the source code is the blueprint or a design file that may sometimes be a computer-aided design (CAD) file.
The license of open source hardware involves redistribution and modification of designs and documentations and distribution of any modifications. It also never prevents someone from giving away and selling the project and its documentation. Open source hardware and software designs are also subjected to copyright law, but hardware uses some laws that help them to redistribute and be publicly available [3]. Free license is the most common feature of open source hardware. One of the most common licenses is Creative Common Attribution License. The open hardware must be documented along with design files and source code. Besides, the licensing authority must give permission to modify or change the design files and redistribute them so that anyone can access the modified design files. The fundamental goal of the open hardware is to make and remix the object and reproduce it as easily as possible. However, close hardware uses a strict copyright and patent law, which makes there production of objects very difficult.
Images

1.2 Arduino Ecosystem and Its Types

Welcome to the world of Arduino. Before we start thinking how Arduino works, let us think about some practical scenario. Assume that you are sitting in your office and suddenly you remember that you have forgotten to switch off the air condition in your home. As your home is far away from the office, it will take a good amount of time to reach. Under these circumstances, it is obvious that you would think about a system or service that can stop the air condition from your place. It is also a cool idea if you could design that service or device on your own without spending a good amount of money to buy such a service from third-party vendors. Thus, considering such type of needs, the concepts of devices like Arduino come into play. Arduino was made in such a way that anyone with a minimum knowledge of electronics engineering and programming skill can handle it. The fundamental ecosystem of Arduino comprises a hardware and a software suite. The hardware is the bottom layer on which the bootloader and firmware will run. In most cases, the firmware is associated with the third-party library that is present in the second layer. In the third layer, the communication protocol is present. The main job of this layer is to interconnect other devices that are associated with Arduino. The communication may be wireless or wired. In case of wired communication, some inbuilt protocols, such as Universal Serial Bus (USB) and Inter Integrated Circuit (I2C) are used. For wireless communication, we have to add some additional communication device and a proper library in the layer to properly run the device. On the top of all layers, there are applications that are associated with the device. The application layer ensures the representation of data in a proper format, and sometimes, it is responsible for the visualization of data that are coming out from the layer below it.
The hardware abstraction layer of Arduino is also supported by means of a hardware abstraction library that serves as a wrapper around the Arduino API (Application Programming Interface). The abstraction layer is dedicated for better user experience and code readability (Figure 1.1).
Images
FIGURE 1.1
The layered ecosystem for Arduino application.
Images

1.3 Features of Arduino Hardware

Depending upon its ease of use, Arduino board can be classified into several types [4]. Classification is done based on the microcontroller version and the number of input and output pins, types of microcontroller, Central Processing Unit clock speed, number and type of USB and Universal Asynchronous Receiver Transmitter (UART) interface, size of Electrically erasable programmable ROM (EEPROM), Static RAM (SRAM), and flash memory. There are several types of Arduinos that are manufactured. The most popular Arduino board is Arduino UNO. Figure 1.2 depicted the different versions of Arduino. A comparative study of the different types of Arduino board is listed in Table 1.1.
Images

1.4 Features of Arduino Software

Arduino software package is a set of utilities that primarily have some Integrated Development Environment (IDE) and many standard libraries. IDE made of java requires java to run the whole process. Java runtime environment is by default provided with the suit. The main components of the software are as follows:
Images
FIGURE 1.2
Different types of Arduino boards.
TABLE 1.1
Comparison of Different Arduino Versions
Images
  • IDE
  • Core API
  • Core Library
  • Sketches
  • Driver support for various boards
The Arduino code written in IDE is known as a sketch [5]. The sketch file initially had an extension .pde, which is a common ex...

Table of contents

  1. Cover
  2. Half Title
  3. Title Page
  4. Copyright Page
  5. Table of Contents
  6. Preface
  7. Acknowledgment
  8. Authors
  9. Introduction
  10. 1. Introduction to Open Source Hardware
  11. 2. Arduino Hardware
  12. 3. Data Types, Operators, and Expressions
  13. 4. Functions in Arduino
  14. 5. Conditional Statements
  15. 6. Arduino Input Systems
  16. 7. Arduino Output Systems
  17. 8. Arduino with Processing
  18. 9. Real-Life Code Examples
  19. 10. Introduction to Python Language
  20. 11. Operators, Variables, and Expressions
  21. 12. Decision-Making and Control Flow
  22. 13. Functions in Python
  23. 14. More Examples of Modules and Functions with APIs
  24. 15. Implementation of Data Structures
  25. 16. Object-Oriented Programming in Python
  26. 17. Input and Output in Python
  27. 18. Exception Handling in Python
  28. 19. Graphical User Interface in Python
  29. 20. Python API Modules for Machine Learning and Arduino
  30. 21. More on Machine Learning API
  31. 22. Conclusion
  32. Frequently Asked Questions
  33. Index