Smart Computing with Open Source Platforms
eBook - ePub

Smart Computing with Open Source Platforms

Amartya Mukherjee, Nilanjan Dey

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

Smart Computing with Open Source Platforms

Amartya Mukherjee, Nilanjan Dey

Book details
Book preview
Table of contents
Citations

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

How do I cancel my subscription?
Simply head over to the account section in settings and click on “Cancel Subscription” - it’s as simple as that. After you cancel, your membership will stay active for the remainder of the time you’ve paid for. Learn more here.
Can/how do I download books?
At the moment all of our mobile-responsive ePub books are available to download via the app. Most of our PDFs are also available to download and we're working on making the final remaining ones downloadable now. Learn more here.
What is the difference between the pricing plans?
Both plans give you full access to the library and all of Perlego’s features. The only differences are the price and subscription period: With the annual plan you’ll save around 30% compared to 12 months on the monthly plan.
What is Perlego?
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.
Do you support text-to-speech?
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.
Is Smart Computing with Open Source Platforms an online PDF/ePUB?
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 Informatica & Linguaggi di programmazione. We have over one million books available in our catalogue for you to explore.

Information

Publisher
CRC Press
Year
2019
ISBN
9781351120326

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