Table of Contents
Introduction
Introduction
Steve Kinney provides an overview of the course, which is about building robots with Node.js. Steve reviews the hardware package needed for the course, Johnny-Five Inventor's Kit.Setting Up the Tessel 2
Steve walks students through setting up their Tessel 2 devices. He also takes a tour of the Johnny-Five Inventors Kit.Setup Debugging
Steve reviews how to resolve potential issues when working with multiple Tessel devices.
Tessel 2 LED
Getting an LED to Blink
Steve walks through the Tessel 2 JavaScript library, demonstrating how to get a built-in LED to blink.Introducing Johnny-Five
Steve introduces Johnny-Five, an open source library that provides convenient abstractions for working with a wide variety of boards.Wiring Up an LED
Steve wires a LED directly to the Tessel 2.Controlling an LED with Johnny Five
Steve writes code using Johnny Five to make the LED blink at a regular interval.The Problem with LED Pulsing
Steve explains what pulse width modulation (PWM) is and how digital devices use it to emulate analog signals.Breadboard Overview
Steve explains how a breadboard works and why they are used when prototyping hardware.Wiring Up an LED to the Breadboard
After wiring up an LED using a breadboard, Steve makes it blink again and attempts unsuccessfully to make it pulse.Pulsing LEDs
Steve uses port A7 to make the LED pulse successfully.
Buttons
Wiring Up a Button
Steve adds a button to the breadboard.Programming the Button
Steve gets events from the button programmatically.Make the Button Control the LED
Steve writes code to turn the LED on when the button is pressed and off when it is released.
RBG LEDs
Wiring Up a RGB LED
Steve wires up an RGB LED to the breadboard.Programming & Debugging RGB LED
Steve programs the RGB LED to rotate through red, green, and blue colors.Controlling RGB LED from a Browser
Steve writes an Express server and some client-side JavaScript to allow users to control the color of the LED.Add WebSockets for Real-Time
Steve adds in Socket.io to allow for real-time control of the color of the RGB LED.
Reading Weather Data
Wiring Up the BME280
Steve wires up the BME280 weather sensor to the breadboard.Reading the Weather Sensor
Steve writes JavaScript to log sensor readings to the console.Visualizing Sensor Data Using Barcli
Steve uses Lodash's throttle method and Barcli to visualize data in the terminal.Update Web Page with Device Data Exercise
In this exercise, students create a page that displays real-time temperature data.Update Web Page with Device Data Solution
Steve walks through the solution to show how to code a page to display the current sensor readings in real-time via Socket.io.Updating a Remote Server with Device Data
Steve posts sensor readings to a remote server.
Magnetic Door Switch
Wiring Up a Magnetic Door Switch
Steve wires up a magnetic door switch to detect when a door or drawer has been opened.Programming the Magnetic Door Switch
Steve writes code to detect when a door has been opened.Using Third-Party APIs with Hardware
Steve writes functionality to send him an email whenever a door has been opened with the SendGrid API.
Displaying Data with an LCD Screen
Wiring Up and LCD Screen
Steve wires up an LCD screen to the breadboard.Programming the LCD Screen
Steve create a web-based UI for updating the messages on the screen.Showing Tweets on the LCD Screen
Steve pulls in a real-time Twitter stream and sends it to the LCD.Other Kit Items & Wrap Up
Steve wraps up the course by discussing other parts in the Johnny-Five Inventor's Kit and applications of nodebots.