Index
A
- abstraction layers, Embedded Internet, JavaScript for the Hardware Abstraction Layer
- actuators, Actuators
- advertisement (BLE communication mode), Communication Modes
- agriculture, physical Internet and, Impacts of the Physical Internet
- analog inputs
- analog signals, digital signals vs., Pins
- API, Node.js, The Node.js API-Streams
- Apple iBeacon, Beacons
- Apple Newton, Toward the Physical Internet
- Arduino
- analog inputs, Analog Inputs-Analog Inputs
- basics, Arduino-The Blink Sketch
- blink sketch, The Blink Sketch-The Blink Sketch
- blink with, Blink with Arduino-Firmware
- Bluetooth and, Arduino
- boards, Arduino
- CodeBender and, Serial Communication with JavaScript
- Espruino vs., Programming Espruino
- firmware, Firmware
- IDE installation, The Blink Sketch, The Blink Sketch
- Particle and, The Particle Photon
- pinouts, Pinouts
- programming with JavaScript, Programming an Arduino with JavaScript
- pulse-width modulation, Pulse-Width Modulation-Pulse-Width Modulation
- Raspberry Pi vs., Raspberry Pi
- recommended transmission speed for, Receiving Data from Arduino
- shields, Printed Circuit Boards
- weather station with, Requesting the Weather, The ws Module
- Arduino IDE
- arrays, Objects and arrays
- Ashkenas, Jeremy, Adding the Model-View-Controller
- associative arrays, Objects and arrays
- asynchronous functions, The Filesystem Module
- ATmega328 microcontroller, Block Diagrams, BlueIOT
- August lock, Example Project: Proximity Detection
B
- Backbone.js, Adding the Model-View-Controller-Adding the Model-View-Controller
- Bardeen, John, Why the Internet of Things?
- beacons, Beacons
- BeagleBone, BeagleBone, Printed Circuit Boards, BeagleBone
- BeagleBone Black, BeagleBone
- Bleno library, Bleno.js
- blink
- block diagram, Block Diagrams
- BlueIOT, BlueIOT
- Bluemix, System Design with NodeRED
- Bluetooth, Protocols, Wireless Data with Bluetooth-Example Project: Proximity Detection
- and Bluez library, Connect with Centrals
- Arduino library for, Libraries for Bluetooth-Bleno.js
- beacons, Beacons
- BlueIOT module, BlueIOT
- communication modes, Communication Modes
- connecting with central, Connect with Centrals-Connect with Centrals
- libraries for, Libraries for Bluetooth-Arduino
- Noble.js library, Noble.js
- proximity detection example project, Example Project: Proximity Detection
- RedBear shields/boards, RedBear Shields and Boards
- Bluetooth 4.0 (see Bluetooth Low Energy)
- Bluetooth Low Energy (BLE), Protocols, The Bluetooth Low Energy Protocol-Example Project: Proximity Detection
- Bluez library, Connect with Centrals
- boards
- Arduino Nano, Arduino
- Arduino Uno, Arduino
- BeagleBone Black, BeagleBone, BeagleBone
- BlueIOT, BlueIOT
- ESP8266, OTA Code Deploys
- Espruino Pico, The Espruino Hardware
- Intel Edison, The Intel Edison-The Intel Edison
- Intel Galileo, Intel Galileo-Intel Galileo
- Particle Photon, The Particle Photon
- Raspberry Pi, Raspberry Pi
- RedBear Duo, RedBear Shields and Boards
- Tessel 2, Hardware
- Bookshelf.js, Adding a Database
- bootloader, Firmware
- Bostock, Michael, The D3.js Library for Plotting Data
- Brattain, Walter, Why the Internet of Things?
- breadboards, Breadboards
- breakout boards, The Intel Edison, Printed Circuit Boards
- Breseman, Kelsey, Example Project: Proximity Detection
- Brooks, Rodney, Making Robots with Node.js
- browsers
- buffers, Buffer-Buffer, The Filesystem Module
- buttons, Johnny-Five library and, Buttons
C
- C/C++, Arduino, MRAA Setup
- cables
- calm technology, Examples and Use Cases, Example Project: Proximity Detection
- capes, Printed Circuit Boards
- central (communication mode)
- characteristics (communication attributes), Communication Modes
- claw, robotic, Example Project: The Robot Claw-Example Project: The Robot Claw
- clock frequency, Pulse-Width Modulation
- closures, Higher-level functions
- cloud
- cloud services, Cloud Services-Temboo
- CloudMQTT, CloudMQTT
- CodeBender, Serial Communication with JavaScript
- command-line interface (CLI)
- communities, hardware, Node.js: Driving Innovation in the IoT
- community, NodeBots, Community
- computer-on-module, The Intel Edison
- configuration
- connected products, Connected Products
- connectivity, embedded Internet and, Embedded Internet
- continuous servo motors, Servo Motors
- Conway-Jones, Dave, System Design with NodeRED
- cybernetics
- Cylon.js library, JavaScript for the Hardware Abstraction Layer, The Cylon.js Library
D
- D3.js library, The D3.js Library for Plotting Data-The D3.js Library for Plotting Data
- da Silva, Rafael Specht, Telegram
- Dahl, Ryan, The Server
- data plotting, D3.js library for, The D3.js Library for Plotting Data-The D3.js Library for Plotting Data
- database, weather station project, Adding a Database-Adding a Database
- datasheets, Datasheets
- DC motors, DC Motors
- Debian, Debian
- debugging network settings, Debugging Network Settings
- device libraries, Passive Components
- digital pins, Digital Pins
- digital signals, analog signals vs., Pins
- distance sensors, Ultrasonic Distance, The Tessel Project
- distributed programming, JavaScript for Distributed Programming-JSON
- dnode module, Remote Procedure Calls over Websockets, Publish–Subscribe Pattern
- Document Object Model (DOM), The D3.js Library for Plotting Data
- domain name service (DNS), Network Configuration
- Doppel watch, Responsive Environments
- dynamic host controller protocol (DHCP), The Raspberry Pi
- dystopias, What Are Shared Experiences?
E
- ecstatic (middleware), Adding Static Pages
- Eddystone, Beacons
- Edison (see Intel Edison)
- education, Node.js robotics as platform for, Education
- embedded devices, Embedded Devices
- embedded Internet, Embedded Internet, Embedded Internet with System-on-Chip
- embedded Linux, Embedded Devices
- ESP8266 board, OTA Code Deploys
- Espruino, Espruino-Flashing Espruino Firmware
- Espruino Pico board, The Espruino Hardware-The Espruino Hardware
- Ethernet, Protocols
- Evans, Ron, The Cylon.js Library
F
- Fab Labs, Preface
- filesystem module, The Filesystem Module-The Filesystem Module
- Firmata, The Firmata Bridge-Programming an Arduino with JavaScript
- firmware
- flash memory, Getting Started with Microcontrollers
- flashing
- FreeRTOS, The Particle Photon
- Freifunk project, OpenWRT
- Fry, Ben, P5.js
- FTDI-USB cables, FTDI-USB-Cable
- full-duplex communication, Serial Communication with JavaScript
- functional block diagram, Block Diagrams
- functions, higher-level, Higher-level functions
G
- Gautier, Julian, Programming an Arduino with JavaScript
- general-purpose input/outputs (GPIOs), Pins
- generic attribute protocol (GATT), Communication Modes
- Gershenfield, Neil, Preface
- Ghalib, Bilal, Responsive Environments
- Gimbal beacon, Beacons
- Git, deploying projects with, Deploy Projects with Git-Deploy Projects with Git
- GitHub, for web development toolchains, Preface
- Google
- graphics, P5.js library for, P5.js-P5.js
- Grove Starter Kit, Grove Kit
H
- Hackarobot, Hackarobot
- Hackster.io, Preface, Robot Kits
- HAL (hardware abstraction layer), JavaScript for the Hardware Abstraction Layer
- half-duplex interface, The I2C Library
- Halliday, James, Remote Procedure Calls over Websockets
- hardware
- hardware abstraction layer (HAL), JavaScript for the Hardware Abstraction Layer
- headless embedded devices, Web Frontends for Things
- Hennessy, John H., Embedded Internet with System-on-Chip
- Hienzsch, Dan, Printed Circuit Boards
- HiveMQ, HiveMQ
- HTML, Web Frontends for Things
- HTML5, JavaScript and the IoT, Web Frontends for Things
- Hypertext Transfer Protocol (HTTP), Protocols, The Hypertext Transfer Protocol-Prepare the HTTP Client
I
- I2C library, The I2C Library
- iBeacon, Beacons
- IBM Bluemix, System Design with NodeRED
- IDE (Integrated Development Environment), The Blink Sketch
- information communities, Node.js: Driving Innovation in the IoT
- instruction sets, Embedded Internet with System-on-Chip, Boards with 64-Bit Instruction Sets
- integrated circuits, history of, Why the Internet of Things?
- Integrated Development Environment (IDE), The Blink Sketch
- Intel Edison, The Intel Edison-The Intel Edison
- Intel Galileo, Intel Galileo-Intel Galileo
- Internet of Things (IoT), Why the Internet of Things?-Examples and Use Cases
- IP address, The Raspberry Pi
J
- JavaScript
- and Internet of Things, JavaScript and the IoT
- and JSON, JSON
- as toolkit, JavaScript as a Toolkit
- basic syntax, Basic syntax
- flexibility of, Connecting Worlds
- for distributed programming, JavaScript for Distributed Programming-JSON
- for embedded devices, Embedded Devices
- for hardware abstraction layer, JavaScript for the Hardware Abstraction Layer
- higher-level functions, Higher-level functions
- in browser environment, The Browser
- objects and arrays, Objects and arrays
- on servers, The Server-The Server
- programming Arduino with, Programming an Arduino with JavaScript
- runtime environments, JavaScript Runtime Environments-Embedded Devices
- Johnny-Five library, JavaScript for the Hardware Abstraction Layer, The Johnny-Five Library-Nodebot
- jQuery
- JSON (JavaScript Object Notation), JSON
- jumper wires, Jumper Wires
- JXCore, Embedded Devices
L
- Lang, Jack, Raspberry Pi
- LEDs
- Lee, Thomas, Hackarobot
- LibMRAA library, JavaScript for the Hardware Abstraction Layer, The LibMRAA Library-Communications
- libraries, Node.js
- Linino, OpenWRT
- links, Protocols
- Linksys, OpenWRT
- Linux
- loop() function, The Blink Sketch
- Lua, Embedded Devices
M
- map() function, Analog Inputs
- McKay, Jon, Embedded Internet with System-on-Chip
- MCUs (see microcontroller units)
- MD25 motor shield, MD25 Motor Shield
- Mens, Jan-Piet, MQTT Server with Mosca
- message brokers, Entering the Cloud
- Message Queue Telemetry Transport (MQTT) protocol, Entering the Cloud
- micro SD cards, Working with SD Cards
- microcontroller units (MCUs)
- analog inputs (Arduino), Analog Inputs-Analog Inputs
- basics, Getting Started with Microcontrollers
- block diagrams, Block Diagrams
- firmware, Firmware
- functional blocks of, Functional Blocks of an MCU-Firmware
- microprocessors vs., Microcontroller Versus Microprocessor
- pinouts, Pinouts
- pins, Pins-Pins
- pulse-width modulation, Pulse-Width Modulation-Pulse-Width Modulation
- timing of, Pulse-Width Modulation
- microprocessors (MPUs), Microcontroller Versus Microprocessor
- Minnowboard Turbot, Boards with 64-Bit Instruction Sets
- model-view-controller (MVC), Adding the Model-View-Controller-Adding the Model-View-Controller
- modularity, Examples and Use Cases
- modules
- basics, Module Basics-The Filesystem Module
- BlueIOT, BlueIOT
- dnode, Remote Procedure Calls over Websockets
- Espruino, Modules
- filesystem, The Filesystem Module-The Filesystem Module
- for weather station HTTP server, Building a Weather Station-Adding a Database
- installing with npm, Install Modules with npm
- stream, The Stream Module
- Tessel 2, Tessel Modules
- ws, The ws Module-The ws Module
- Moore, Gordon, Why the Internet of Things?
- Moore’s law, Why the Internet of Things?-Why the Internet of Things?
- Mosca, MQTT Server with Mosca
- motion sensors, Motion
- motors (see actuators)
- moving vehicle (Veter Robot), Example Project: Move a Vehicle
- MPUs (microprocessors), Microcontroller Versus Microprocessor
- MQTT (see Message Queue Telemetry Transport)
- MRAA library (see LibMRAA library)
- multimedia applications, prototyping components for, Multimedia
- MVC (model-view-controller), Adding the Model-View-Controller-Adding the Model-View-Controller
N
- network cables, Network Cables
- network configuration
- network protocols, Exploring Network Protocols-Remote Procedure Calls over Websockets
- Newton handheld device, Toward the Physical Internet
- Nintendo Wii Nunchuk controller, Motion
- Nipper, Arlen, The MQTT Protocol
- nmap tool, The Raspberry Pi
- Noble.js library, Noble.js
- Node Package Manager (npm), The Server, The Node Package Manager-The Stream Module
- Node Version Manager (nvm), Hello World with JavaScript
- node-serialport library, JavaScript for the Hardware Abstraction Layer, The node-serialport Library-Sending Data to Arduino
- Node.js
- Node.js API, The Node.js API-Streams
- Nodebot class, Nodebot
- NodeBots movement, Making Robots with Node.js
- nodemon, Building a Weather Station
- NodeRED, System Design with NodeRED-Concepts
- non-blocking functions, The Filesystem Module
- non-volatile memory (NVM), Firmware
- (see also read-only memory (ROM))
- Nunchuk controller, Motion
- NVM (see non-volatile memory) (see read-only memory)
- nvm (Node Version Manager), Hello World with JavaScript
P
- P5.js library, P5.js-P5.js
- package.json, Install Modules with npm
- Particle
- Particle Photon, Particle Photon-OTA Code Deploys, The Particle Photon-The Particle Photon
- passive components, Passive Components
- passive technology, Example Project: Proximity Detection
- PCBs (printed circuit boards), Printed Circuit Boards-Printed Circuit Boards
- peripheral, Communication Modes, Connect with Centrals
- persistence store, MQTT Server with Mosca
- physical computing, Pin Abstractions, Temperature
- physical Internet, Toward the Physical Internet-Impacts of the Physical Internet
- pin
- pin abstractions, Pin Abstractions
- pinouts, Pinouts
- Poky Linux, Yocto
- potentiometers, Analog Inputs, Passive Components
- printed circuit boards (PCBs), Printed Circuit Boards-Printed Circuit Boards
- Processing library, P5.js-P5.js
- product development, NodeBots and, Product Development
- protocols (see also specific protocols, e.g.: Hypertext Transfer Protocol)
- prototyping, Components for Prototyping-Network Cables
- actuators for, Actuators
- basic components for, Basic Components-LEDs
- breadboards, Breadboards
- cables for, Cables
- datasheets and, Datasheets
- Grove Starter Kit, Grove Kit
- LEDs for, LEDs
- multimedia components for, Multimedia
- passive components for, Passive Components
- PCBs for, Printed Circuit Boards-Printed Circuit Boards
- sensors for, Sensors-Ultrasonic Distance
- soldering, Soldering
- Tessel 2 modules for, Tessel Modules
- wiring of circuits, Wiring Circuits-Tessel Modules
- proximity detectors
- proximity-based switch, BLE, Example Project: Proximity Detection
- publish-subscribe software design pattern, Publish–Subscribe Pattern-Publish–Subscribe Pattern
- PubNub, PubNub
- pulse-width modulation (PWM), Pulse-Width Modulation-Pulse-Width Modulation
R
- Raspberry Pi, The Raspberry Pi, Raspberry Pi-Raspberry Pi
- Raspbian, Debian
- read-eval-print-loop (REPL), The Johnny-Five REPL
- read-only memory (ROM), Getting Started with Microcontrollers, Firmware
- Reas, Casey, P5.js
- RedBear Blend, RedBear Shields and Boards
- RedBear Duo, The Particle Photon, RedBear Shields and Boards-Bleno.js
- RedBear Labs, RedBear Shields and Boards
- Redis, MQTT Server with Mosca
- Reduced Instruction Set Computers (RISC), Embedded Internet with System-on-Chip
- relay module, Tessel, The Tessel Project
- remote procedure calls (RPCs), Remote Procedure Calls over Websockets-Remote Procedure Calls over Websockets
- REPL (read-eval-print-loop), The Johnny-Five REPL
- request module, Prepare the HTTP Client
- Resig, John, Basic jQuery
- responsive environments, Responsive Environments
- RISC (Reduced Instruction Set Computers), Embedded Internet with System-on-Chip
- robots
- creating with Node.js, Making Robots with Node.js-MD25 Motor Shield
- defined, What Is a Robot?
- Hackarobot, Hackarobot
- kits, Robot Kits-Hackarobot
- motors and potentiometers for, Motors and Potentiometers
- moving vehicle project, Example Project: Move a Vehicle
- reasons for using Node.js for design, Why Build Robots in Node.js?-Product Development
- robot claw project, Example Project: The Robot Claw-Example Project: The Robot Claw
- Sumobot Jr., Sumobot Jr.
- Tessel Project and, The Tessel Project-The Tessel Project
- ROM (read-only memory), Getting Started with Microcontrollers, Firmware
S
- SBCs (see single-board computers)
- scope, Higher-level functions
- scripts, running with npm, Running Scripts with npm
- SD cards, Working with SD Cards
- Seidle, Nathan, Modularity in Hardware
- self-driving cars, What Are Shared Experiences?
- sensors
- serial peripheral interface (SPI), Block Diagrams
- serialport library, Scanning for Devices
- (see also node-serialport library)
- servers
- servo module, Tessel, The Tessel Project, Motors and Potentiometers
- servo motors, Servo Motors, Example Project: Move a Vehicle
- setup() function, The Blink Sketch
- shared experiences, What Are Shared Experiences?-Responsive Environments
- shield, Arduino, Printed Circuit Boards
- Shockley, William, Why the Internet of Things?
- signals, digital vs. analog, Pins
- single-board computers (SBCs), Single-Board Computers-Deploy Projects with Git
- BeagleBone, BeagleBone, BeagleBone
- boards with 64-bit instruction sets, Boards with 64-Bit Instruction Sets
- deploying projects with Git, Deploy Projects with Git-Deploy Projects with Git
- Intel Edison, The Intel Edison-The Intel Edison
- network configuration, Network Configuration-Debugging Network Settings
- Raspberry Pi, The Raspberry Pi, Raspberry Pi-Raspberry Pi
- running Node.js, Running Node.js
- using embedded Linux with, Using Embedded Linux-Yocto
- sketch (Arduino), The Blink Sketch-The Blink Sketch
- Smart Bluetooth (see Bluetooth Low Energy)
- smartphones
- snapshots, Adding a Database-Adding a Database
- SoC (system-on-chip), Embedded Devices, Embedded Internet with System-on-Chip
- social communities, Node.js: Driving Innovation in the IoT
- socket.io, The WebSocket Protocol
- soldering, Soldering
- SparkFun, Modularity in Hardware
- SPI (serial peripheral interface), Block Diagrams
- SQLite, Adding a Database
- Stanford-Clark, Andy, The MQTT Protocol
- static pages, Adding Static Pages
- static RAM (SRAM), Getting Started with Microcontrollers
- stepper motors, Stepper Motors
- stream module, The Stream Module
- streams, Streams
- Sumobot Jr., Sumobot Jr.
- synchronous functions, The Filesystem Module
- system-on-chip (SoC), Embedded Devices, Embedded Internet with System-on-Chip
- Szymczykowski, Pawel, Sumobot Jr.
T
- TCP (Transmission Control Protocol), The Transmission Control Protocol and User Datagram Protocol
- Telegram, Telegram-Telegram
- temperature sensors, Temperature
- tempescope, Connected Products
- Tesla, What Are Shared Experiences?
- Tessel 1, Hardware
- Tessel 2, Embedded Devices, The Tessel 2-Embedded Internet with System-on-Chip, Modularity in Hardware
- Tessel Project, The Tessel Project-The Tessel Project
- Tile, Responsive Environments
- timing, microcontroller, Pulse-Width Modulation
- Tindie, Preface
- toolchains
- toolkit, JavaScript as, JavaScript as a Toolkit
- transistors
- Transmission Control Protocol (TCP), The Transmission Control Protocol and User Datagram Protocol
- two wire interface (TWI), Block Diagrams
U
- UART (see Universal Asynchronous Receiver/Transmitter)
- Ubilinux, Debian
- ubiquitous computing, Examples and Use Cases, Example Project: Proximity Detection
- UDP (User Datagram Protocol), The Transmission Control Protocol and User Datagram Protocol-The Transmission Control Protocol and User Datagram Protocol
- ultrasonic distance sensors, Ultrasonic Distance
- Universal Asynchronous Receiver/Transmitter (UART), Block Diagrams, Serial Communication with JavaScript
- Universal Synchronous Asynchronous Receiver/Transmitter (USART), Block Diagrams, Serial Communication with JavaScript
- universally unique identifiers (UUIDs), Communication Modes
- UpBoard, Boards with 64-Bit Instruction Sets, Debian
- UPM (useful packages and modules) project, Reading Inputs
- USART (see Universal Synchronous Asynchronous Receiver/Transmitter)
- USB (Universal Serial Bus), Protocols
- USB cables, USB Cables
- USB Micro B, USB Cables
- User Datagram Protocol (UDP), The Transmission Control Protocol and User Datagram Protocol-The Transmission Control Protocol and User Datagram Protocol
- utopias, What Are Shared Experiences?
V
- V8 project, The Server
- variable, Basic syntax
- variable blink
- vehicle, moving
- Vektor, Community
- Velez, Raquel, Community
- Veter Robot, Example Project: Move a Vehicle
- visual programming, System Design with NodeRED
- von Hippel, Eric, JavaScript as a Toolkit
W
- Waldron, Rick, Programming an Arduino with JavaScript, Community
- weather information
- weather station
- web browsers (see browsers)
- web frontends for things, Web Frontends for Things-P5.js
- WebSocket Protocol (RFC6455), Protocols, The WebSocket Protocol-Remote Procedure Calls over Websockets
- websockets
- Weiser, Mark, Examples and Use Cases, Example Project: Proximity Detection
- Wiener, Norbert, What Are Shared Experiences?
- WiFi
- Williams, Chris, The node-serialport Library
- Williams, Gordon, Espruino
- ws module, The ws Module-The ws Module