Book Image

Practical Internet of Things with JavaScript

By : Arvind Ravulavaru
Book Image

Practical Internet of Things with JavaScript

By: Arvind Ravulavaru

Overview of this book

In this world of technology upgrades, IoT is currently leading with its promise to make the world a more smarter and efficient place. This book will show you how to build simple IoT solutions that will help you to understand how this technology works. We would not only explore the IoT solution stack, but we will also see how to do it with the world’s most misunderstood programming language - JavaScript. Using Raspberry Pi 3 and JavaScript (ES5/ES6) as the base to build all the projects, you will begin with learning about the fundamentals of IoT and then build a standard framework for developing all the applications covered in this book. You will then move on to build a weather station with temperature, humidity and moisture sensors and further integrate Alexa with it. Further, you will build a smart wearable for understanding the concept of fall detection. You will then extend it with the 'If This Then That' (IFTTT) rules engine to send an email on fall detection. Finally, you will be working with the Raspberry Pi 3 camera module and surveillance with a bit of facial detection using Amazon Rekognition platform. At the end of the book, you will not only be able to build standalone exciting IoT applications but also learn how you can extend your projects to another level.
Table of Contents (17 chapters)
Title Page
Credits
About the Author
About the Reviewer
www.PacktPub.com
Customer Feedback
Dedication
Preface

Deploying to Raspberry Pi


Now that we have seeded a Rekognition collection, as well as tested it (an optional step), we are now going to start setting up the Raspberry Pi code.

We will be using all the other code pieces from the chapter8 folder as is and only modifying the Raspberry Pi client in the chapter9 folder.

Copy the entire code from the chapter8 folder into the chapter9 folder. Then, open the pi-client folder either on your desktop or on the Raspberry Pi itself, and update it as follows:

var config = require('./config.js'); 
var mqtt = require('mqtt'); 
var GetMac = require('getmac'); 
var Raspistill = require('node-raspistill').Raspistill; 
var crypto = require("crypto"); 
var Gpio = require('onoff').Gpio; 
var exec = require('child_process').exec; 
 
var AWS = require('aws-sdk'); 
 
var pir = new Gpio(17, 'in', 'both'); 
var raspistill = new Raspistill({ 
    noFileSave: true, 
    encoding: 'bmp', 
    width: 640, 
    height: 480 
}); 
 
// Rekognition config 
var config = { 
...