Iot Development for Esp32 and Esp8266 with JavaScript: A Practical Guide to XS and the Moddable SDK
Hoddie, Peter, Prader, Lizzie
- 出版商: Apress
- 出版日期: 2020-06-26
- 售價: $2,020
- 貴賓價: 9.5 折 $1,919
- 語言: 英文
- 頁數: 602
- 裝訂: Quality Paper - also called trade paper
- ISBN: 1484250699
- ISBN-13: 9781484250693
-
相關分類:
JavaScript、物聯網 IoT
海外代購書籍(需單獨結帳)
買這商品的人也買了...
-
$699$552 -
$834$792 -
$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 使物聯網開發者能夠應用許多用於構建複雜網站和移動應用的工具和技術。
Moddable SDK 使您能夠充分發揮 ESP32 和 ESP8266 等廉價微控制器的潛力。使用 ESP-IDF 和 Arduino SDK 以 C 或 C++ 編寫這些微控制器的代碼適合構建基本產品,但無法擴展以應對客戶所期望的日益複雜的物聯網產品。Moddable SDK 將輕量級的 XS JavaScript 引擎添加到這些傳統環境中,通過 JavaScript 加速開發,同時保持原生 SDK 的性能優勢。
構建用戶界面和進行網絡通信是 JavaScript 特別擅長的兩個領域。《使用 JavaScript 開發 ESP32 和 ESP8266 的物聯網》將向您展示如何使用 Piu 框架構建響應式觸控屏用戶界面。您將學會如何輕鬆安全地通過 Wi-Fi 發送和接收 JSON 數據,並使用優雅的 JavaScript API 支持常見的物聯網協議,包括 HTTP/HTTPS、WebSocket、MQTT 和 mDNS。您還將學會如何將常見的傳感器和執行器、藍牙低能耗 (BLE)、文件系統等整合到您的項目中,並親眼見證 JavaScript 如何使這些多樣化技術的結合變得更加容易。
如果您是一位從未接觸過 JavaScript 的嵌入式 C 或 C++ 開發者,請不要擔心。本書包含專為有 C 或 C++ 經驗的嵌入式開發者準備的 JavaScript 語言介紹。
您將學到的內容:
- 在 ESP32 和 ESP8266 上構建、安裝和調試 JavaScript 項目
- 使用現代 JavaScript 進行 Moddable SDK 的所有嵌入式開發方面
- 開發具有動畫用戶界面、觸控輸入、網絡連接、BLE、傳感器、執行器等的物聯網產品
本書適合的讀者:
- 尋求在嵌入式軟體工作中獲得網頁開發速度、靈活性和強大的專業嵌入式開發者
- 希望更快、更輕鬆地構建其愛好項目的創客
- 希望將其技能擴展到硬體產品的 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.
目錄大綱(中文翻譯)
第一章:開始使用
本節的目標是讓讀者設置硬體、開發環境以及基本的 JavaScript 技能。這使他們能夠運行後續章節中的範例。
第二章:網路
本節的目標是教導讀者如何使用 Wi-Fi 與雲端服務及其他設備進行通信。它提供了何時適合使用各種網路服務的指導,並解釋如何使用標準 JSON 與網路服務進行通信。
第三章:藍牙低能耗 (BLE)
這是唯一僅適用於 ESP32 的章節,因為 ESP8266 沒有 BLE 硬體。
第四章:檔案與數據
本節解釋如何訪問和存儲數據。除了介紹檔案系統外,還解釋了為什麼檔案系統並不總是 IoT 產品的最佳選擇,並介紹了替代方案。
第五章:與硬體合作(感測器和執行器)
本節介紹了 Moddable SDK 支援的硬體協議,並讓讀者開始使用幾個感測器和執行器。除了演示如何使用幾個特定的感測器外,還提供了如何為其他現成感測器構建 JavaScript 模組的指導。本章介紹了計時器,這是一種常用的硬體工具,用於延遲操作和執行定期動作。
第六章:IoT 的圖形
本章解釋了為什麼圖形用戶界面是 IoT 產品的有價值的補充。它介紹了在未設計為支援圖形的 MCU 上使用圖形的基本原則。讀者將了解關鍵性能瓶頸,以便擁有必要的知識來為他們的 IoT 項目使用 ESP8266 和 ESP32 構建現代圖形顯示。該章還描述了 Commodetto Graphics Library 與 Piu User Interface 框架之間的關係,以便讀者可以選擇最適合其項目的工具。
第七章:Commodetto Graphics Library
本節介紹了使用 Commodetto 圖形庫來構建用戶顯示。它包含了使用 Poco 渲染引擎提供的每個圖形操作的範例。
第八章:Piu 用戶界面框架
本節提供了 Piu 用戶界面框架的概述以及 Piu API 中最常用對象的範例。
第九章:添加原生代碼
本節描述了如何通過戰略性地使用原生 C 代碼來提高讀者的 IoT 項目的性能和功能。它教導如何將 C 代碼整合到 JavaScript 應用中。它提供了何時適合使用 C 代碼的指導,並解釋使用原生代碼的好處和風險。
第十章:安全性
第十一章:接下來是什麼?
本節涵蓋了一些進階主題,並提供了額外開發者資源的連結。目標是為讀者提供必要的信息,以便他們能夠繼續開發更複雜和可自定義的應用程式。