Log In
Or create an account ->
Imperial Library
Home
About
News
Upload
Forum
Help
Login/SignUp
Index
Foreword
Preface
Who This Book Is For
How to Use This Book
Conventions Used in This Book
Using Code Examples
Safari® Books Online
How to Contact Us
Acknowledgments
From Patrick
From Kelsey
1. Connecting Worlds
Why the Internet of Things?
Embedded Devices
Embedded Internet
Protocols
Examples and Use Cases
JavaScript for Distributed Programming
JavaScript and the IoT
Hello World with JavaScript
Basic syntax
Higher-level functions
Objects and arrays
JSON
JavaScript Runtime Environments
The Browser
The Server
Embedded Devices
The Node.js API
Buffer
Streams
2. Blink with Arduino
Getting Started with Microcontrollers
Arduino
The Blink Sketch
The Firmata Bridge
Programming an Arduino with JavaScript
Functional Blocks of an MCU
Pins
Microcontroller Versus Microprocessor
Block Diagrams
Analog Inputs
Pulse-Width Modulation
Pinouts
Firmware
3. Espruino
The Espruino Hardware
Programming Espruino
Variable Blink
Modules
Flashing Espruino Firmware
4. The Tessel 2
Hardware
Toolchain
Command-Line Interface
Pin Abstractions
Digital Pins
Analog Pins
Embedded Internet with System-on-Chip
5. Particle Photon
The Particle Photon
Particle Command-Line Interface
OTA Code Deploys
6. Single-Board Computers
The Raspberry Pi
BeagleBone
The Intel Edison
Boards with 64-Bit Instruction Sets
Using Embedded Linux
Working with SD Cards
Embedded Linux Distributions
OpenWRT
Debian
Yocto
Network Configuration
Debugging Network Settings
Running Node.js
Deploy Projects with Git
7. Components for Prototyping
Wiring Circuits
Breadboards
Grove Kit
Soldering
Printed Circuit Boards
Tessel Modules
Basic Components
Datasheets
Passive Components
LEDs
Sensors
Temperature
Motion
Ultrasonic Distance
Actuators
Servo Motors
Stepper Motors
DC Motors
Multimedia
Cables
Jumper Wires
USB Cables
FTDI-USB-Cable
Network Cables
8. Node.js Libraries for Hardware
JavaScript for the Hardware Abstraction Layer
The node-serialport Library
Serial Communication with JavaScript
Scanning for Devices
Receiving Data from Arduino
Sending Data to Arduino
The Johnny-Five Library
An Empty Project
The Board Object
The Johnny-Five REPL
Buttons
Analog Inputs
Proximity
Nodebot
The I2C Library
The LibMRAA Library
MRAA Setup
Outputs
Reading Inputs
Interrupts
Communications
The Cylon.js Library
9. Exploring Network Protocols
The Hypertext Transfer Protocol
Requesting the Weather
Prepare the HTTP Client
Building a Weather Station
Adding a Database
The Transmission Control Protocol and User Datagram Protocol
The WebSocket Protocol
The ws Module
Remote Procedure Calls over Websockets
10. Web Frontends for Things
Adding Static Pages
Basic jQuery
Adding the Model-View-Controller
Websockets in a Browser
A Bare Minimum Websocket Connection
The D3.js Library for Plotting Data
P5.js
11. Entering the Cloud
Publish–Subscribe Pattern
The MQTT Protocol
Connecting to an MQTT Broker
Publish Messages
Subscribe to Updates
MQTT Server with Mosca
Cloud Services
CloudMQTT
HiveMQ
PubNub
Telegram
Temboo
System Design with NodeRED
Install NodeRED
Concepts
12. Making Robots with Node.js
What Is a Robot?
Why Build Robots in Node.js?
Community
Education
Product Development
The Tessel Project
Robot Kits
Motors and Potentiometers
Sumobot Jr.
Hackarobot
Example Project: The Robot Claw
Example Project: Move a Vehicle
Servo
MD25 Motor Shield
13. Wireless Data with Bluetooth
The Bluetooth Low Energy Protocol
Communication Modes
Connect with Centrals
Beacons
RedBear Shields and Boards
BlueIOT
Libraries for Bluetooth
Arduino
BLE Scanner and Parser
Noble.js
Bleno.js
Example Project: Proximity Detection
14. Toward the Physical Internet
What Are Shared Experiences?
Connected Products
Responsive Environments
Impacts of the Physical Internet
15. From Products to Toolkits
JavaScript as a Toolkit
The Power of Modularity
Modularity in Hardware
Node.js: Driving Innovation in the IoT
Building Good Technology
A. Node.js
Module Basics
The Filesystem Module
The Node Package Manager
Install Modules with npm
Running Scripts with npm
The Stream Module
B. Early Hardware for IoT Systems
Raspberry Pi
BeagleBone
Intel Galileo
Index
← Prev
Back
Next →
← Prev
Back
Next →