JavaScript on Things : Hacking Hardware for Web Developers
معرفی کتاب «JavaScript on Things : Hacking Hardware for Web Developers» نوشتهٔ Lyza Danger Gardner، منتشرشده توسط نشر Manning Publications Company Ingram Publisher Services [distributor در سال 2018. این کتاب در فرمت pdf، زبان انگلیسی ارائه شده است. «JavaScript on Things : Hacking Hardware for Web Developers» در دستهٔ بدون دستهبندی قرار دارد.
Summary __JavaScript on Things__ is your first step into the exciting and downright entertaining world of programming for small electronics. If you know enough JavaScript to hack a website together, you'll be making things go bleep, blink, and spin faster than you can say "nodebot." Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the Technology Are you ready to make things move? If you can build a web app, you can create robots, weather stations, and other funky gadgets! In this incredibly fun, project-based guide, JavaScript hardware hacker **Lyza Danger Gardner** takes you on an incredible journey from your first flashing LED through atmospheric sensors, motorized rovers, Bluetooth doorbells, and more. With JavaScript, some easy-to-get hardware, and a bit of creativity, you'll be beeping, spinning, and glowing in no time. About the Book __JavaScript on Things__ introduces the exciting world of programming small electronics! You'll start building things immediately, beginning with basic blinking on Arduino. This fully illustrated, hands-on book surveys JavaScript toolkits like Johnny-Five along with platforms including Raspberry Pi, Tessel, and BeagleBone. As you build project after interesting project, you'll learn to wire in sensors, hook up motors, transmit data, and handle user input. So be warned: once you start, you won't want to stop. What's Inside * Controlling hardware with JavaScripti * Designing and assembling robots and gadgets * A crash course in electronics * Over a dozen hands-on projects! About the Reader Written for readers with intermediate JavaScript and Node.js skills. No experience with electronics required. About the Author **Lyza Danger Gardner** has been a web developer for over 20 years. She's part of the NodeBots community and a contributor to the Johnny-Five Node.js library. Table of Contents ## PART 1 - A JAVASCRIPTER'S INTRODUCTION TO HARDWARE 1. Bringing JavaScript and hardware together 2. Embarking on hardware with Arduino 3. How to build circuits ## PART 2 - PROJECT BASICS: INPUT AND OUTPUT WITH JOHNNY-FIVE 1. Sensors and input 2. Output: making things happen 3. Output: making things move ## PART 3 - MORE SOPHISTICATED PROJECTS 1. Serial communication 2. Projects without wires 3. Building your own thing ## PART 4 - USING JAVASCRIPT WITH HARDWARE IN OTHER ENVIRONMENTS 1. JavaScript and constrained hardware 2. Building with Node.js and tiny computers 3. In the cloud, in the browser, and beyond JavaScript on Things brief contents contents preface acknowledgments about this book Roadmap Who should read this book? Code conventions and downloads Book forum About the author Part 1: A JavaScripter’s introduction to hardware Chapter 1: Bringing JavaScript and hardware together 1.1 The anatomy of hardware projects 1.1.1 Inputs and outputs 1.1.2 Processing 1.1.3 Power, circuits, and systems 1.1.4 Logic and firmware 1.1.5 Enclosures and packaging 1.1.6 Embedded systems 1.2 How JavaScript and hardware work together 1.2.1 Host-client method 1.2.2 Embedded JavaScript 1.2.3 Other hardware-JavaScript combinations 1.3 Is JavaScript a good fit for hardware? 1.4 Putting together a hardware toolkit 1.4.1 Development boards 1.4.2 Input and output components 1.4.3 Other electronic components 1.4.4 Power, wires, and accessories 1.4.5 Tools Chapter 2: Embarking on hardware with Arduino 2.1 Getting to know the Arduino Uno 2.1.1 Creating your first circuit with an Arduino Uno 2.2 Working with the Arduino workflow 2.2.1 Arduino Uno’s digital pins 2.2.2 Sketches and the Arduino IDE 2.2.3 Connecting the LED to a digital pin 2.2.4 Programming the LED to blink 2.3 Controlling the Arduino with JavaScript 2.3.1 Configuring the Arduino as a client 2.3.2 Installing the Johnny-Five Node.js framework 2.3.3 Hello World blinking LED with Johnny-Five 2.3.4 Firmata, Johnny-Five, and the host-client method 2.3.5 Structuring scripts with Johnny-Five Chapter 3: How to build circuits 3.1 Voltage, current, and resistance 3.1.1 Ohm’s law 3.1.2 Problems and dangers 3.2 Building circuits 3.2.1 Using breadboards to prototype circuits 3.2.2 Wiring a simple LED circuit on a breadboard 3.2.3 Expanding a series circuit with a button 3.2.4 LEDs in series 3.2.5 Parallel circuits and current dividers 3.2.6 Powering your project with batteries Part 2: Project basics: input and output with Johnny-Five Chapter 4: Sensors and input 4.1 Working with analog sensors 4.1.1 Analog-to-digital conversion 4.1.2 Working with photoresistors 4.1.3 Voltage dividers 4.1.4 Wiring and using a photoresistor 4.1.5 Using an analog temperature sensor 4.2 Digital inputs 4.2.1 Using a button as a digital input Chapter 5: Output: making things happen 5.1 Lighting things up 5.1.1 Fading LEDs with pulse-width modulation (PWM) 5.1.2 Animating LEDs with PWM 5.1.3 Combining input with LED output 5.1.4 Going full-color with RGB LEDs 5.1.5 Build your own “weather ball” 5.2 Working with parallel LCD displays 5.2.1 Making a full-featured timer with LCD 5.2.2 Adding a visual LED “chime” 5.3 Making noise with a piezo 5.3.1 Adding an audible piezo chime to the timer Chapter 6: Output: making things move 6.1 Making motors spin 6.1.1 How motors work 6.1.2 Controlling a motor with a push-button switch 6.1.3 Controlling a motor with Johnny-Five 6.2 Making servos go 6.2.1 Controlling a servo with Johnny-Five 6.3 Building your first robot! 6.3.1 Robots and motors 6.3.2 Building the robot’s chassis base 6.3.3 Controlling the robot’s motors Part 3: More sophisticated projects Chapter 7: Serial communication 7.1 Communicating digital data in parallel and in serial 7.2 The basics of serial communication 7.3 Asynchronous serial communication 7.3.1 UARTs 7.3.2 Trying out software serial with a GPS breakout board 7.3.3 Learn to solder! 7.3.4 Building the GPS circuit 7.4 Synchronous serial communication 7.4.1 Serial Peripheral Interface (SPI) 7.4.2 I2C 7.4.3 Making a digital compass with an I2C magnetometer 7.5 Pulling it together: shake-to-change multisensor widget 7.5.1 Step 1: combining a compass with LCD output 7.5.2 Step 2: adding a multisensor to the device 7.5.3 Step 3: updating the display to show temperature and pressure 7.5.4 Step 4: adding a shake-to-swap display feature with an accelerometer Chapter 8: Projects without wires 8.1 Why you’ve been tethered so far 8.1.1 Data exchange, the I/O layer, and I/O plugins 8.1.2 USB as a power source 8.1.3 Options for wires-free project communication 8.2 Toward wires-free projects using the Tessel 2 8.3 Getting your Tessel set up 8.3.1 Configuring the Tessel 8.3.2 “Hello World” LED blinking on the Tessel 8.3.3 Blinking an external LED with the Tessel 8.3.4 Exploring the Tessel’s pins and capabilities 8.4 Projects without wires on the Tessel 8.4.1 Wires-free data: a remote weather station 8.5 Powering projects with batteries 8.5.1 A battery-powered robot with the Tessel Chapter 9: Building your own thing 9.1 Hacking consumer electronics 9.1.1 Modifying RF-controlled outlet switches 9.2 Controlling the remote switches with a Johnny-Five component plugin 9.2.1 Prototyping the switch project 9.2.2 Writing the RemoteSwitch plugin 9.3 Writing software for sophisticated hardware 9.3.1 Project: Johnny-Five support for APDS-9660 gesture sensor 9.3.2 Implementing constructor and initialization methods 9.3.3 Integrating the gesture sensor and remote switches 9.3.4 Pulling the whole project together Part 4: Using JavaScript with hardware in other environments Chapter 10: JavaScript and constrained hardware 10.1 The Espruino Pico platform 10.1.1 Setting up the Pico 10.1.2 Hello World LED blink 10.2 Learning about new platforms 10.2.1 Discovering a platform’s core features 10.2.2 Finding a pinout diagram 10.2.3 Learning about configuration and workflow 10.2.4 Finding examples and tutorials 10.2.5 Using reference API documentation 10.3 Experimenting with the Pico 10.3.1 The Pico and the BMP180 multisensor 10.3.2 The Pico and the Nokia 5110 LCD 10.3.3 Building a power-efficient weather gadget with the Pico 10.4 Experimenting with the Kinoma Element platform 10.4.1 The Element’s core features 10.4.2 Pinout and hardware diagram 10.4.3 Configuration, management, workflow 10.4.4 Examples and tutorials 10.4.5 API reference 10.4.6 Case-study project: live-updating compass readings Chapter 11: Building with Node.js and tiny computers 11.1 Working with tiny computers 11.1.1 The Raspberry Pi platform 11.1.2 Configuration option 1: the traditional way 11.1.3 Configuration option 2: headless 11.2 Learning about the Raspberry Pi 3 11.2.1 Core features 11.2.2 GPIO features and pinouts 11.2.3 Configuration and workflow 11.2.4 Examples and tutorials 11.2.5 API documentation 11.3 Writing Johnny-Five applications for different platforms 11.3.1 Adapting the mini weather station for the Pi 3 11.3.2 Adapting the mini weather station for the Arduino Uno 11.4 Using the Raspberry Pi as a host 11.5 Case study: BeagleBone Black 11.5.1 Learning about the BeagleBone Black 11.5.2 Adapting the weather station for the BeagleBone Chapter 12: In the cloud, in the browser, and beyond 12.1 IoT and the cloud 12.2 Containerized deployment with resin.io 12.2.1 Creating a resin.io application 12.2.2 Provisioning the BeagleBone Black 12.2.3 Adapting the weather application software 12.3 Hardware and the web browser 12.3.1 The Web Bluetooth API 12.3.2 The Generic Sensor API 12.3.3 The Physical Web 12.4 Exploring Bluetooth LE with Puck.js 12.4.1 Core features 12.4.2 GPIO features and pinouts 12.4.3 Configuration and workflow 12.4.4 Examples, tutorials, and API documentation 12.4.5 Controlling the LED from a web page 12.4.6 The Physical Web and Puck.js 12.4.7 A web-based Bluetooth doorbell 12.5 Pushing the frontiers of JavaScript and hardware index Symbols A B C D E F G H I J K L M N O P Q R S T U V W X Y Annotation JavaScript can be used to control hordes of small robots, creative maker projects, and IoT devices. With the Node.js ecosystem at hand, hardware prototyping gets fun, intuitive and fast. 'JavaScript on Things' is the first step into the exciting world of programming for small electronics. This fully-illustrated, hands-on book teaches readers how to get going with platforms like Arduino, Tessel, and Raspberry Pi
دانلود کتاب JavaScript on Things : Hacking Hardware for Web Developers
JavaScript on Things is your first step into the exciting and downright entertaining world of programming for small electronics. If you know enough JavaScript to hack a website together, you'll be making things go bleep, blink, and spin faster than you can say "nodebot."