책 이미지

eBook 미리보기
책 정보
· 제목 : Iot Development for Esp32 and Esp8266 with JavaScript: A Practical Guide to XS and the Moddable SDK (Paperback) 
· 분류 : 외국도서 > 컴퓨터 > 하드웨어 > 네트워크 하드웨어
· ISBN : 9781484250693
· 쪽수 : 593쪽
· 출판일 : 2020-06-26
· 분류 : 외국도서 > 컴퓨터 > 하드웨어 > 네트워크 하드웨어
· ISBN : 9781484250693
· 쪽수 : 593쪽
· 출판일 : 2020-06-26
목차
Introduction
Motivates the goals of this book by describing the promise of IoT and how inexpensive devices powered by ?exible JavaScript software help to realize that.
- IoT
o What is it?
o Why is it happening?
o How to make it better for users with scripts and screens
o How you can impact the future
- JavaScript
o Why JavaScript?
o Benefits of using a scripting language
o Benefits of adopting the most widely used programming language
o Benefits of using JavaScript for building user interfaces
- ESP8266 & ESP32
o Background and popularity
o Specs
o Common uses
Chapter 1: Getting Started
The goal of this section is to get the reader set-up with the hardware, development environment, and their basic JavaScript skills. This equips them to run the examples in the remaining chapters.
- Skills you need for this book
o Basic familiarity with standard JavaScript syntax
o Basic familiarity with the command line
- Materials you need for this book
o Computer with USB ports
o Micro USB cable ? high speed capable
o ESP8266 NodeMCU module or ESP32 NodeMCU
o ILI9341 QVGA touchscreen (optional, but highly recommended)
o Sensors (only required for Chapter 4: Pins)
o Jumper wires
- Setting up your development environment (Mac, Windows, Linux)
o Link to webpage with examples apps and xsbug (our source level debugger)
o Basics of xsbug
- Running “Hello, World”o Flashing the device
o Running “Hello, World” application
o Debugging
o Application structure
- Wiring Guide
o Diagram and instructions for connecting screen to ESP8266 or ESP32o Running graphical “hello, world”
Chapter 2: Networking
The goal of this section is to teach the reader how to use Wi-Fi to communicate with cloud services and other devices. It provides guidance on when it is appropriate to use the various network services. It also explains how to use standard JSON to communicate with network services.
- Wi-Fi
o Connecting to Wi-Fi
o Scanning for available networks
- HTTP/HTTPS ? client and server
- mDNS
- WebSockets ? client and server
- MQTT ? client
- Advanced ? turn your device into a Wi-Fi access point
Chapter 3: Bluetooth Low Energy (BLE)
Note: this is the only chapter which only applies to the ESP32, as the ESP8266 does not have BLE hardware
- Introduction to important concepts
o Central and peripheral devices
o GAP
o GATT
o SM
- BLE Client
o Scanning for peripherals
o Connecting to peripheralso Finding the services and characteristics of interest
o Reading, writing, and enabling notifications for characteristics of interest
- BLE Server
o Defining GATT services in JSON files
o Advertising to clients
o Connecting to clients
o Accepting characteristic value change notification requests
o Notifying characteristic value changes
Chapter 4: Files and Data
This section explains how to access and store data. In addition to introducing the file system, it explains why a file system isn’t always the best choice for an IoT product and introduces alternatives
- Reading and writing to files
- Preferences
- Resources
- ZIP files
- Advanced ? direct flash access
Chapter 5: Working with hardware (Sensors and actuators)
This section introduces the hardware protocols supported by the Moddable SDK and gets the reader started with a few sensors and actuators. In addition to demonstrating how to use a few specific sensors, it provides guidance on how to build JavaScript modules for other off-the-shelf sensors. This chapter introduces Timers, a common tool for working with hardware used to delay operations and perform periodic actions.
- Digital analog
- PWM
- Servo
- I2C & SMBus
o Simple example of how to create JavaScript module for a sensor based on its data-sheet
Chapter 6: Graphics for IoT
This chapter explains why graphical user interfaces are a valuable addition to IoT products. It introduces the fundamentals of working with graphics on MCUs that were not designed to support graphics. The reader will learn about key performance bottlenecks so that they will have the knowledge needed to build modern graphical displays for their IoT projects using the ESP8266 and ESP32. The chapter also describes the relationship between the Commodetto Graphics Library and the Piu User Interface framework so the reader can choose the tool that is best for their project.
- How an MCU differs from a phone or computer for graphics
o How Commodetto graphics engine overcomes these
o How Piu user interface engine overcomes these
- How to decide which to use for your project ? Piu or Commodetto
- Rotating the display
- Using PNG, JPEG, and font graphics assets
- Choosing the right pixel format
- Image compressionChapter 7: Commodetto Graphics Library
This section introduces use of the Commodetto graphics library to build user displays. It contains examples of using each graphic operation provided by the Poco rendering engine.
- Drawing rectangles
- Animating rectangles
- Using a clipping rectangle to optimize update area
- Monochrome bitmaps
- Gray ? uncompressed and compressed
- Color images ? uncompressed and compressed
- Images with alpha channel
- Text
- Patterns
- Offscreen drawing
- JPEG streaming
Chapter 8: Piu User Interface Framework
This section provides an overview of the Piu user interface framework and examples of the most commonly used objects from the Piu API
- Introduction to important concepts
o Inheritance hierarchy
o Containment hierarchy
o Behavior and flow
- UI basics: adding text, images, and building the containment hierarchy
o Skin, Style, and Texture objectso Content and Container objects
o Building responsive layout with Column and Row objects
o Templates
- Event-driven behaviors
o Behavior objects
o Low-level events
o High-level events
- Animations
o Timeline objects
o Transition objects
Chapter 9: Adding native code
This section describes how to increase the performance and features of the reader’s IoT projects through the strategic use of native C code. It teaches how to integrate C code into a JavaScript application. It provides guidance on when it is appropriate to use C code, by explaining the benefits and risks of using native code.
- Benefits of using native code
o Faster
o Access to all native device capabilities
o Ability to re-use existing C code
- Disadvantages of using native code
o Larger code size
o More difficult to debug
o More vulnerable to coding mistakes that open security holes
o Less portable
- Introducing XS in C, the API for adding C code to JavaScript projects
- Implementing a native function
- Implementing a native class
- Implementing callbacks
- Cryptographic primitives
- Encrypted storage
- A bit more on TLS/SSL for secure communication
o Configuring TLS minimum version
o Private certificates
o Checking connection security- Secure boot on ESP32
Chapter 11: What’s Next?
This section covers a few advanced topics and provides links to additional developer resources. The goal is to provide readers with the information necessary to move on to developing more complex and customizable applications.
- Flashing the device with customer applications
o Structure of applications
? Manifest
? JavaScript modules
o Tools
? Basics: mcconfig, mcrun, hardware simulators
? Behind the scenes: command line tools for image format conversion, image compression, image rotation, font compression, processing localization strings, compiler/linker
추천도서
분야의 베스트셀러 >