Book Image

Full Stack Web Development with Raspberry Pi 3

By : Soham Kamani
Book Image

Full Stack Web Development with Raspberry Pi 3

By: Soham Kamani

Overview of this book

Modern web technology and portable computing together have enabled huge advances in the Internet of Things (IoT) space,as well as in areas such as machine learning and big data. The Raspberry Pi is a very popular portable computer for running full stack web applications. This book will empower you to master this rapidly evolving technology to develop complex web applications and interfaces. This book starts by familiarizing you with the various components that make up the web development stack and that will integrate into your Raspberry Pi-powered web applications. It also introduces the Raspberry Pi computer and teach you how to get up and running with a brand new one. Next, this book introduces you to the different kinds of sensor you’ll use to make your applications; using these skills, you will be able to create full stack web applications and make them available to users via a web interface. Later, this book will also teach you how to build interactive web applications using JavaScript and HTML5 for the visual representation of sensor data. Finally, this book will teach you how to use a SQLite database to store and retrieve sensor data from multiple Raspberry Pi computers. By the end of this book you will be able to create complex full stack web applications on the Raspberry Pi 3 and will have improved your application’s performance and usability.
Table of Contents (13 chapters)
Getting Up-and-Running with Web Development on the Raspberry Pi

What this book covers

Chapter 1, Getting Started on the Raspberry Pi , takes a brief look at Raspberry Pi, its OS, and how to get started using it

Chapter 2, Getting Up-and-Running with Web Development on the Raspberry Pi, covers a high-level overview of the project that we will build and the different components of its technology stack.

Chapter 3, Running a Node Server on the Pi, helps you get started with Node.js, its installation on the Pi, and how to get up and running with Node.js by running a web server on the Pi.

Chapter 4, Extracting Information from the GPIO Pins, introduces you to the DHT22 sensor and demonstrates how to get information about the temperature and humidity recorded from the sensor.

Chapter 5, Retrieving Sensor Readings from the Server, goes through how to make the sensor readings available to the node server that was made earlier. By the end of this chapter, you will know how to make sensor readings available through a REST API.

Chapter 6, Creating a Web Page to Display Sensor Data, gets you started with your UI development journey by developing a webpage that will make use of the API created in the previous chapter to display the data received from the sensor in a user-friendly webpage.

Chapter 7, Enhancing Our UI - Using Interactive Charts, covers how to make an even richer user interface through the use of charts. This will be achieved through the use of open source chart libraries

Chapter 8, SQLite - The Fast and Portable Database, covers the basic concepts of the SQLite database and teaches you how to install and run it on your Pi.

Chapter 9, Integrating SQLite into Our Application, explains how to upgrade our existing application built in the previous chapters by persisting our data.

Chapter 10, Making Our Application Real Time with Web Sockets, discusses how all this time, the only way for our HTML5 frontend to get data from the server was through polling and making requests at regular intervals. Web sockets allow us to establish a connection only once, after which the server can actually push data to the browser.

Chapter 11, Deploying Our Application to Firebase, reiterates that our entire application is currently hosted on the Raspberry Pi. This works, but is not very scalable. This chapter will go through how to host our UI and database on Google's Firebase cloud architecture.

Chapter 12, Using Firebase APIs to Update Our Application, covers how to update the database by calling Firebase's cloud APIs from Raspberry Pi so that the cloud hosted application can get a continuous feed of the readings on the Pi.