Iot Development for Esp32 and Esp8266 with JavaScript: A Practical Guide to XS and the Moddable SDK
暫譯: ESP32 和 ESP8266 的 IoT 開發:XS 與 Moddable SDK 的實用指南
Hoddie, Peter, Prader, Lizzie
- 出版商: Apress
- 出版日期: 2020-06-26
- 售價: $2,040
- 貴賓價: 9.5 折 $1,938
- 語言: 英文
- 頁數: 602
- 裝訂: Quality Paper - also called trade paper
- ISBN: 1484250699
- ISBN-13: 9781484250693
-
相關分類:
JavaScript、物聯網 IoT
海外代購書籍(需單獨結帳)
買這商品的人也買了...
-
$699$552 -
$709深入理解計算機系統, 3/e (Computer Systems: A Programmer's Perspective, 3/e)
-
$500$390 -
$580$458 -
$534$507 -
$990Internet of Things Programming Projects: Build modern IoT solutions with the Raspberry Pi 3 and Python
-
$600$468
相關主題
商品描述
This book introduces a new approach to embedded development, grounded in modern, industry-standard JavaScript. Using the same language that powers web browsers and Node.js, the Moddable SDK empowers IoT developers to apply many of the same tools and techniques used to build sophisticated websites and mobile apps.
The Moddable SDK enables you to unlock the full potential of inexpensive microcontrollers like the ESP32 and ESP8266. Coding for these microcontrollers in C or C++ with the ESP-IDF and Arduino SDKs works for building basic products but doesn't scale to handle the increasingly complex IoT products that customers expect. The Moddable SDK adds the lightweight XS JavaScript engine to those traditional environments, accelerating development with JavaScript while keeping the performance benefits of a native SDK.
Building user interfaces and communicating over the network are two areas where JavaScript really shines. IoT Development for ESP32 and ESP8266 with JavaScript shows you how to build responsive touch screen user interfaces using the Piu framework. You'll learn how easy it is to securely send and receive JSON data over Wi-Fi with elegant JavaScript APIs for common IoT protocols, including HTTP/HTTPS, WebSocket, MQTT, and mDNS. You'll also learn how to integrate common sensors and actuators, Bluetooth Low Energy (BLE), file systems, and more into your projects, and you'll see firsthand how JavaScript makes it easier to combine these diverse technologies.
If you're an embedded C or C++ developer who has never worked in JavaScript, don't worry. This book includes an introduction to the JavaScript language just for embedded developers experienced with C or C++.
What You'll Learn
-
- Building, installing, and debugging JavaScript projects on the ESP32 and ESP8266
- Using modern JavaScript for all aspects of embedded development with the Moddable SDK
- Developing IoT products with animated user interfaces, touch input, networking, BLE, sensors, actuators, and more
Who This Book Is For
-
- Professional embedded developers who want the speed, flexibility, and power of web development in their embedded software work
- Makers who want a faster, easier way to build their hobby projects
- Web developers working in JavaScript who want to extend their skills to hardware products
商品描述(中文翻譯)
這本書介紹了一種嶄新的嵌入式開發方法,基於現代的行業標準 JavaScript。使用同樣驅動網頁瀏覽器和 Node.js 的語言,Moddable SDK 使物聯網 (IoT) 開發者能夠應用許多用於構建複雜網站和移動應用的工具和技術。
Moddable SDK 使您能夠充分發揮 ESP32 和 ESP8266 等廉價微控制器的潛力。使用 ESP-IDF 和 Arduino SDK 在這些微控制器上用 C 或 C++ 編碼適合構建基本產品,但無法擴展以應對客戶期望的日益複雜的 IoT 產品。Moddable SDK 將輕量級的 XS JavaScript 引擎添加到這些傳統環境中,通過 JavaScript 加速開發,同時保持原生 SDK 的性能優勢。
構建用戶界面和進行網絡通信是 JavaScript 特別擅長的兩個領域。《使用 JavaScript 開發 ESP32 和 ESP8266 的 IoT》向您展示如何使用 Piu 框架構建響應式觸控螢幕用戶界面。您將學習如何輕鬆安全地通過 Wi-Fi 發送和接收 JSON 數據,並使用優雅的 JavaScript API 支持常見的 IoT 協議,包括 HTTP/HTTPS、WebSocket、MQTT 和 mDNS。您還將學習如何將常見的傳感器和執行器、藍牙低能耗 (BLE)、檔案系統等整合到您的項目中,並親眼見證 JavaScript 如何使這些多樣技術的結合變得更加容易。
如果您是一位從未使用過 JavaScript 的嵌入式 C 或 C++ 開發者,請不要擔心。本書包含專為有 C 或 C++ 經驗的嵌入式開發者準備的 JavaScript 語言介紹。
您將學到的內容:
- 在 ESP32 和 ESP8266 上構建、安裝和調試 JavaScript 項目
- 使用現代 JavaScript 進行 Moddable SDK 的所有嵌入式開發方面
- 開發具有動畫用戶界面、觸控輸入、網絡連接、BLE、傳感器、執行器等的 IoT 產品
本書適合的讀者:
- 專業嵌入式開發者,希望在嵌入式軟體工作中獲得網頁開發的速度、靈活性和強大功能
- 希望更快、更輕鬆地構建愛好項目的創客
- 在 JavaScript 中工作的網頁開發者,希望將技能擴展到硬體產品上
作者簡介
Peter Hoddie is an engineer and entrepreneur focused on client software. He is recognized for crafting compact and efficient code that pushes the boundaries of user experience on consumer hardware. The software he and his teams have built has powered mass-market consumer products from companies including Apple, Palm, Sling, HP, and Sony. Peter recognizes that the first users of any product are the developers creating it, and that those developers cannot build compelling consumer products on a foundation that's unstable, complex, or confusing. He therefore champions investments in great tools and a simple runtime architecture.
Peter has founded several companies, including Kinoma, which merged into Marvell Semiconductor. He led QuickTime development at Apple during the 1990s as a Distinguished Engineer. He contributed to the development of the QuickTime file format and its adoption by ISO into the MPEG-4 standard. He is currently a member of the JavaScript language standards committee (ECMA TC39) and chair of ECMA TC53 for "Smart wearable systems and sensor-based devices". Peter is particularly proud of his work putting both the KinomaJS framework and Darwin Streaming Server into open source. He continues to come to terms with the 10 patents that bear his name.
Lizzie Prader is an engineer whose educational background is in theoretical computer science, but is currently better described as an engineer focused on developers' needs. She recognizes the importance of customer support during all stages of a project, and enjoys working with developers to smooth the on-ramp to embedded development. Working with users of all skill levels--from professional engineers to makers and hobbyists to absolute programming beginners--has made her an advocate of well-organized documentation and readable code.
Prior to Moddable, Lizzie worked as a developer relations engineer at Kinoma. Her main goal was to help customers get the most out of Kinoma's software and hardware prototyping products, both through direct contact with developers and by creating a variety of resources including sample code, tutorials, and blog posts
作者簡介(中文翻譯)
彼得·霍迪(Peter Hoddie)是一位專注於客戶端軟體的工程師和企業家。他因撰寫緊湊且高效的程式碼而受到認可,這些程式碼推動了消費者硬體上使用者體驗的邊界。他和他的團隊所開發的軟體為包括蘋果(Apple)、Palm、Sling、HP 和索尼(Sony)等公司的大眾市場消費產品提供了動力。彼得認識到,任何產品的首批使用者都是創造它的開發者,而這些開發者無法在不穩定、複雜或混亂的基礎上構建引人注目的消費產品。因此,他提倡對優秀工具和簡單運行時架構的投資。
彼得創立了幾家公司,包括 Kinoma,該公司後來與 Marvell Semiconductor 合併。在 1990 年代,他作為傑出工程師領導了蘋果的 QuickTime 開發。他對 QuickTime 檔案格式的開發及其被 ISO 採納為 MPEG-4 標準做出了貢獻。他目前是 JavaScript 語言標準委員會(ECMA TC39)的成員,並擔任 ECMA TC53 的主席,負責「智慧可穿戴系統和基於感測器的設備」。彼得特別自豪於將 KinomaJS 框架和 Darwin Streaming Server 開放源碼的工作。他仍在努力處理與他名字相關的 10 項專利。
莉茲·普雷德(Lizzie Prader)是一位工程師,擁有理論計算機科學的教育背景,但目前更適合被描述為專注於開發者需求的工程師。她認識到在項目所有階段中客戶支持的重要性,並喜歡與開發者合作,以平滑嵌入式開發的入門過程。與各種技能水平的使用者合作——從專業工程師到創客和愛好者,再到完全的程式設計初學者——使她成為良好組織的文檔和可讀程式碼的倡導者。
在 Moddable 之前,莉茲曾在 Kinoma 擔任開發者關係工程師。她的主要目標是幫助客戶充分利用 Kinoma 的軟體和硬體原型產品,這既包括與開發者的直接聯繫,也包括創建各種資源,包括範例程式碼、教程和部落格文章。
目錄大綱
Chapter 1: Getting StartedThe 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.
Chapter 2: NetworkingThe 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.
Chapter 3: Bluetooth Low Energy (BLE)
This is the only chapter which only applies to the ESP32, as the ESP8266 does not have BLE hardware
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
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.
Chapter 6: Graphics for IoTThis 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.
Chapter 7: Commodetto Graphics LibraryThis 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.
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
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.
Chapter 10: Security
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.
目錄大綱(中文翻譯)
Chapter 1: Getting StartedThe 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.
Chapter 2: NetworkingThe 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.
Chapter 3: Bluetooth Low Energy (BLE)
This is the only chapter which only applies to the ESP32, as the ESP8266 does not have BLE hardware
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
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.
Chapter 6: Graphics for IoTThis 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.
Chapter 7: Commodetto Graphics LibraryThis 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.
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
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.
Chapter 10: Security
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.