Book Image

Learning IoT with Particle Photon and Electron

By : Rashid Khan, Kajari Ghoshdastidar, Ajith Vasudevan
Book Image

Learning IoT with Particle Photon and Electron

By: Rashid Khan, Kajari Ghoshdastidar, Ajith Vasudevan

Overview of this book

IoT is basically the network of physical devices, vehicles, buildings and other items—embedded with electronics, software, sensors, actuators, and network connectivity that enable these objects to collect and exchange data.. The number of connected devices is growing rapidly and will continue to do so over years to come. By 2020, there will be more than 20 billion connected devices and the ability to program such devices will be in high demand. Particle provides prototyping boards for IoT that are easy to program and deploy. Most importantly, the boards provided by Particle can be connected to the Internet very easily as they include Wi-Fi or a GSM module. Starting with the basics of programming Particle Photon and Electron, this book will take you through setting up your local servers and running custom firmware, to using the Photon and Electron to program autonomous cars. This book also covers in brief a basic architecture and design of IoT applications. It gives you an overview of the IoT stack. You will also get information on how to debug and troubleshoot Particle Photon and Electron and set up your own debugging framework for any IoT board. Finally, you’ll tinker with the firmware of the Photon and Electron by modifying the existing firmware and deploying them to your boards. By the end of this book, you should have a fairly good understanding of the IoT ecosystem and you should be able to build standalone projects using your own local server or the Particle Cloud Server.
Table of Contents (11 chapters)

Client-server versus P2P networks


This section starts by describing the traditional client-server architecture, and goes on to describe how the P2P architecture works. The section ends with a comparison between P2P and client-server architectures.

Traditional client-server architecture

Client-server architecture is a network architecture in which each node (computer or device) on the network is either a client or a server. It is based on the consumer model, that is, the clients consume what is available on the servers. Servers are powerful computers dedicated to managing network traffic and other shared resources such as disk drives and printers. Servers provide services via various protocols like Hyper Text Transfer Protocol (HTTP) and Hyper Text Transfer Protocol Secure (HTTPS).

Clients are the nodes on the network that consume services provided by the servers. The client nodes need not be as powerful as servers. What makes the difference in computing power requirement is that a few servers...