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)

Market survey of IoT development boards and cloud services


Here we list some of the most popular IoT boards and cloud services, available in the market at the time of writing this book, with some of their important specifications and features. These tables should help you to get an idea as to where Particle products fit in on the IoT map.

IoT development boards

The next table lists the main specifications of popular IoT boards. These specifications are the basic details one has to consider while selecting a board—its specifications in terms of processor and speed, memory, available communication modules and ports, and IO pins. Also, while selecting a board, one has to analyze and match the project's requirements with the available boards, so that the right board is selected for the application in terms of fitment and performance.

Board Name

Microcontroller

Microprocessor

Memory

Modules

Ports

IO Pins

Raspberry Pi 1/2/3

Broadcom SoC BCM2835/6/7

Single/Quad-core ARM 11/Cortex-A7/A53 CPU, VideoCore IV GPU

256 MB/512 MB/1 GB RAM

Ethernet, Wi-Fi, Serial UART, I2C

HDMI, USB, Ethernet (RJ45), GPIO

26/40/40

Arduino Mini

ATmega328

NA

32 KB Flash

2 KB SRAM

NA

NA

14

Arduino Yun

ATmega32u4

Atheros AR9331

32 KB Flash

2.5 KB SRAM,

16 MB Flash, 64 MB RAM

Wi-Fi, Ethernet

USB, Ethernet (RJ45)

20

Intel Edison

MCU at 100 MHz ( Intel Atom Soc)

Dual-core CPU at 500 MHz (Intel Atom Soc)

4 GB Flash, 1 GB RAM

Wi-Fi, Bluetooth 4.0

USB, UART, SPI, GPIO

28

Libelium Waspmote

ATmega1281

NA

128 KB Flash, 8 KB SRAM

Temp, humidity, light sensors, (optional) GPS

UART, I2C, SPI, USB

19

NodeMCU ESP8266

ESP 8266 SoC

ESP-12 module

4 MB Flash

Wi-Fi,

Serial UART,

ADC

UART, GPIO, SPI

14

BeagleBone Black

Sitara SoC AM3358/9

AM335x 1 GHz ARM Cortex-A8

512 MB RAM, 2/4 GB flash storage

Ethernet, Serial UART, ADC, I2C

Ethernet (RJ45), HDMI, USB, GPIO

24

CubieBoard

ARM Cortex-A8 CPU

AllWinner A10 SoC

512 MB/ 1 GB RAM, 4 GB flash memory

Ethernet, Serial UART, ADC, I2C

Ethernet (RJ45) , USB, SATA

96

Table 3: IoT development boards

Cloud services (PaaS, BaaS, M2M)

It is important to know what kind of cloud service we will be dealing with, and whether our board has open standards and allows us to use our own personal service easily, or whether the board-provided service needs some manipulation to use in the current project.

Cloud service name

Salient features

Amazon Web Services

(https://aws.amazon.com/)

Microsoft Azure

(https://azure.microsoft.com/)

Cloud Foundry

(https://www.cloudfoundry.org/)

IBM Bluemix

(http://www.ibm.com/cloud-computing/bluemix/)

Platform as a Service (PaaS) provides virtual machine (VM), storage,  application services, deployment and management, mobile and device services, and big data analytics.

Parse

(http://www.parse.com/)

Kinvey

(http://www.kinvey.com/)

AnyPresence

(http://www.anypresence.com/)

Appcelerator

(http://www.appcelerator.com/)

mBaaS provides ways to link mobile apps to backend cloud storage, user management, push notifications, and integration with social networking services.

ThingWorx

(https://www.thingworx.com/)

M2M offering

from PTC (http://www.ptc.com/)

Table 4: Cloud services