{"product_id":"designing-embedded-systems-and-the-internet-of-things-iot-with-the-arm-mbed-isbn-9781119363996","title":"Designing Embedded Systems and the Internet of Things (IoT) with the ARM mbed","description":"\u003cp\u003e\u003cb\u003eA comprehensive and accessible introduction to the development of embedded systems and Internet of Things devices using ARM mbed\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003ci\u003eDesigning Embedded Systems and the Internet of Things (IoT) with the ARM mbed \u003c\/i\u003eoffers an accessible guide to the development of ARM mbed and includes a range of topics on the subject from the basic to the advanced. ARM mbed is a platform and operating system based on 32-bit ARM Cortex-M microcontrollers. This important resource puts the focus on ARM mbed NXP LPC1768 and FRDM-K64F evaluation boards. NXP LPC1768 has powerful features such as a fast microcontroller, various digital and analog I\/Os, various serial communication interfaces and a very easy to use Web based compiler. It is one of the most popular kits that are used to study and create projects. FRDM-K64F is relatively new and largely compatible with NXP LPC1768 but with even more powerful features.\u003c\/p\u003e \u003cp\u003eThis approachable text is an ideal guide that is divided into four sections; Getting Started with the ARM mbed, Covering the Basics, Advanced Topics and Case Studies. This getting started guide:\u003c\/p\u003e \u003cul\u003e \u003cli\u003eOffers a clear introduction to the topic\u003c\/li\u003e \u003cli\u003eContains a wealth of original and illustrative case studies\u003c\/li\u003e \u003cli\u003eIncludes a practical guide to the development of projects with the ARM mbed platform\u003c\/li\u003e \u003cli\u003ePresents timely coverage of how to develop IoT applications\u003c\/li\u003e \u003c\/ul\u003e \u003cp\u003e\u003ci\u003eDesigning Embedded Systems and the Internet of Things (IoT) with the ARM mbed \u003c\/i\u003eoffers students and R\u0026amp;D engineers a resource for understanding the ARM mbed NXP LPC1768 evaluation board. \u003c\/p\u003e \u003cp\u003eAbout the Author xiii\u003c\/p\u003e \u003cp\u003ePreface xv\u003c\/p\u003e \u003cp\u003eAuthor’s Acknowledgments xix\u003c\/p\u003e \u003cp\u003eAbout the Companion Website xxi\u003c\/p\u003e \u003cp\u003e\u003cb\u003ePart I Introduction to Arm® Mbed™ and IoT 1\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e1 Introduction to Arm® Mbed™ 3\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e1.1 What is an Embedded System? 3\u003c\/p\u003e \u003cp\u003e1.2 Microcontrollers and Microprocessors 4\u003c\/p\u003e \u003cp\u003e1.3 ARM® Processor Architecture 8\u003c\/p\u003e \u003cp\u003e1.4 The Arm® Mbed™ Systems 10\u003c\/p\u003e \u003cp\u003e1.4.1 NXP LPC1768 11\u003c\/p\u003e \u003cp\u003e1.4.2 NXP LPC11U24 14\u003c\/p\u003e \u003cp\u003e1.4.3 BBC Micro:bit 15\u003c\/p\u003e \u003cp\u003e1.4.4 The Arm® Mbed™ Ethernet Internet of Things (IoT) Starter Kit 17\u003c\/p\u003e \u003cp\u003e1.5 Summary 21\u003c\/p\u003e \u003cp\u003e1.6 Chapter Review Questions 21\u003c\/p\u003e \u003cp\u003e\u003cb\u003e2 Introduction to the Internet of Things (IoT) 23\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e2.1 What is the Internet of Things (IoT)? 23\u003c\/p\u003e \u003cp\u003e2.2 How Does IoT Work? 24\u003c\/p\u003e \u003cp\u003e2.3 How Will IoT Change Our Lives? 25\u003c\/p\u003e \u003cp\u003e2.4 Potential IoT Applications 27\u003c\/p\u003e \u003cp\u003e2.4.1 Home 27\u003c\/p\u003e \u003cp\u003e2.4.2 Healthcare 28\u003c\/p\u003e \u003cp\u003e2.4.3 Transport 28\u003c\/p\u003e \u003cp\u003e2.4.4 Energy 28\u003c\/p\u003e \u003cp\u003e2.4.5 Manufacture 28\u003c\/p\u003e \u003cp\u003e2.4.6 Environment 28\u003c\/p\u003e \u003cp\u003e2.5 Summary 29\u003c\/p\u003e \u003cp\u003e2.6 Chapter Review Questions 29\u003c\/p\u003e \u003cp\u003e\u003cb\u003e3 IoT Enabling Technologies 31\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e3.1 Sensors and Actuators 31\u003c\/p\u003e \u003cp\u003e3.2 Communications 31\u003c\/p\u003e \u003cp\u003e3.2.1 RFID and NFC (Near‐Field Communication) 32\u003c\/p\u003e \u003cp\u003e3.2.2 Bluetooth Low Energy (BLE) 32\u003c\/p\u003e \u003cp\u003e3.2.3 LiFi 33\u003c\/p\u003e \u003cp\u003e3.2.4 6LowPAN 33\u003c\/p\u003e \u003cp\u003e3.2.5 ZigBee 34\u003c\/p\u003e \u003cp\u003e3.2.6 Z‐Wave 34\u003c\/p\u003e \u003cp\u003e3.2.7 LoRa 34\u003c\/p\u003e \u003cp\u003e3.3 Protocols 35\u003c\/p\u003e \u003cp\u003e3.3.1 HTTP 35\u003c\/p\u003e \u003cp\u003e3.3.2 WebSocket 36\u003c\/p\u003e \u003cp\u003e3.3.3 MQTT 37\u003c\/p\u003e \u003cp\u003e3.3.4 CoAP 38\u003c\/p\u003e \u003cp\u003e3.3.5 XMPP 38\u003c\/p\u003e \u003cp\u003e3.4 Node‐RED 39\u003c\/p\u003e \u003cp\u003e3.5 Platforms 41\u003c\/p\u003e \u003cp\u003e3.5.1 IBM Watson IoT—Bluemix (http:\/\/www.ibm.com\/internet‐of‐things\/) 41\u003c\/p\u003e \u003cp\u003e3.5.2 Eclipse IoT (https:\/\/iot.eclipse.org\/) 42\u003c\/p\u003e \u003cp\u003e3.5.3 AWS IoT (https:\/\/aws.amazon.com\/iot\/) 42\u003c\/p\u003e \u003cp\u003e3.5.4 Microsoft Azure IoT Suite (https:\/\/azure.microsoft.com\/en‐us\/suites\/iot‐suite\/) 42\u003c\/p\u003e \u003cp\u003e3.5.5 Google Cloud IoT (https:\/\/cloud.google.com\/solutions\/iot\/) 44\u003c\/p\u003e \u003cp\u003e3.5.6 ThingWorx (https:\/\/www.thingworx.com\/) 44\u003c\/p\u003e \u003cp\u003e3.5.7 GE Predix (https:\/\/www.predix.com\/) 44\u003c\/p\u003e \u003cp\u003e3.5.8 Xively (https:\/\/www.xively.com\/) 44\u003c\/p\u003e \u003cp\u003e3.5.9 macchina.io (https:\/\/macchina.io\/) 45\u003c\/p\u003e \u003cp\u003e3.5.10 Carriots (https:\/\/www.carriots.com\/) 45\u003c\/p\u003e \u003cp\u003e3.6 Summary 45\u003c\/p\u003e \u003cp\u003e3.7 Chapter Review Questions 45\u003c\/p\u003e \u003cp\u003e\u003cb\u003ePart II Arm® Mbed™ Development 47\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e4 Getting Started with Arm® Mbed™ 49\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e4.1 Introduction 49\u003c\/p\u003e \u003cp\u003e4.2 Hardware and Software Required 49\u003c\/p\u003e \u003cp\u003e4.2.1 Hardware 49\u003c\/p\u003e \u003cp\u003e4.2.2 Software 50\u003c\/p\u003e \u003cp\u003e4.3 Your First Program: Blinky LED 53\u003c\/p\u003e \u003cp\u003e4.3.1 Connect the Mbed to a PC 53\u003c\/p\u003e \u003cp\u003e4.3.2 Click “\u003ci\u003embed.htm\u003c\/i\u003e” to Log In 53\u003c\/p\u003e \u003cp\u003e4.3.3 Add the FRDM‐K64F Platform to Your Compiler 54\u003c\/p\u003e \u003cp\u003e4.3.4 Import an Existing Program 54\u003c\/p\u003e \u003cp\u003e4.3.5 Compile, Download, and Run Your Program 57\u003c\/p\u003e \u003cp\u003e4.3.6 What Next? 57\u003c\/p\u003e \u003cp\u003e4.4 Create Your Own Program 57\u003c\/p\u003e \u003cp\u003e4.5 C\/C++ Programming Language 58\u003c\/p\u003e \u003cp\u003e4.6 Functions and Modular Programming 58\u003c\/p\u003e \u003cp\u003e4.7 Manage Platforms 61\u003c\/p\u003e \u003cp\u003e4.8 Clone Your Program 63\u003c\/p\u003e \u003cp\u003e4.9 Search and Replace 64\u003c\/p\u003e \u003cp\u003e4.10 Compile Your Program for Multiple Platforms 65\u003c\/p\u003e \u003cp\u003e4.11 Delete Your Program 65\u003c\/p\u003e \u003cp\u003e4.12 Disaster Recovery Procedure 67\u003c\/p\u003e \u003cp\u003e4.13 Upgrade Firmware 67\u003c\/p\u003e \u003cp\u003e4.14 Help 67\u003c\/p\u003e \u003cp\u003e4.15 Summary 69\u003c\/p\u003e \u003cp\u003e\u003cb\u003e5 Inputs and Outputs 71\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e5.1 Digital Inputs and Outputs 71\u003c\/p\u003e \u003cp\u003e5.1.1 Digital Inputs 71\u003c\/p\u003e \u003cp\u003e5.1.2 Digital Outputs 74\u003c\/p\u003e \u003cp\u003e5.1.3 BusIn, BusOut, and BusInOut 79\u003c\/p\u003e \u003cp\u003e5.2 Analog Inputs and Outputs 81\u003c\/p\u003e \u003cp\u003e5.2.1 Analog Inputs 81\u003c\/p\u003e \u003cp\u003e5.2.2 Analog Outputs 82\u003c\/p\u003e \u003cp\u003e5.3 Pulse Width Modulation (PWM) 86\u003c\/p\u003e \u003cp\u003e5.4 Accelerometer and Magnetometer 88\u003c\/p\u003e \u003cp\u003e5.5 SD Card 96\u003c\/p\u003e \u003cp\u003e5.6 Local File System (LPC1768) 99\u003c\/p\u003e \u003cp\u003e5.7 Interrupts 100\u003c\/p\u003e \u003cp\u003e5.8 Summary 101\u003c\/p\u003e \u003cp\u003e\u003cb\u003e6 Digital Interfaces 103\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e6.1 Serial 103\u003c\/p\u003e \u003cp\u003e6.2 SPI 106\u003c\/p\u003e \u003cp\u003e6.3 I2C 108\u003c\/p\u003e \u003cp\u003e6.4 CAN 111\u003c\/p\u003e \u003cp\u003e6.5 Summary 113\u003c\/p\u003e \u003cp\u003e\u003cb\u003e7 Networking and Communications 115\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e7.1 Ethernet 115\u003c\/p\u003e \u003cp\u003e7.2 Ethernet Web Client and Web Server 119\u003c\/p\u003e \u003cp\u003e7.3 TCP Socket and UDP Socket 124\u003c\/p\u003e \u003cp\u003e7.4 WebSocket 128\u003c\/p\u003e \u003cp\u003e7.5 WiFi 131\u003c\/p\u003e \u003cp\u003e7.6 Summary 135\u003c\/p\u003e \u003cp\u003e\u003cb\u003e8 Digital Signal Processing and Control 137\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e8.1 Low‐Pass Filter 137\u003c\/p\u003e \u003cp\u003e8.2 High‐Pass Filter 141\u003c\/p\u003e \u003cp\u003e8.3 Band‐Pass Filter 143\u003c\/p\u003e \u003cp\u003e8.4 Band‐Stop Filter and Notch Filter 146\u003c\/p\u003e \u003cp\u003e8.5 Fast Fourier Transform (FFT) 149\u003c\/p\u003e \u003cp\u003e8.6 PID Controller 160\u003c\/p\u003e \u003cp\u003e8.7 Summary 164\u003c\/p\u003e \u003cp\u003e\u003cb\u003e9 Debugging, Timer, Multithreading, and Real‐Time Programming 165\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e9.1 Debugging 165\u003c\/p\u003e \u003cp\u003e9.2 Timer, Timeout, Ticker, and Time 167\u003c\/p\u003e \u003cp\u003e9.3 Network Time Protocol (NTP) 171\u003c\/p\u003e \u003cp\u003e9.4 Multithreading and Real‐Time Programming 173\u003c\/p\u003e \u003cp\u003e9.5 Summary 179\u003c\/p\u003e \u003cp\u003e\u003cb\u003e10 Libraries and Programs 181\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e10.1 Import Libraries and Programs 181\u003c\/p\u003e \u003cp\u003e10.2 Export Your Program 181\u003c\/p\u003e \u003cp\u003e10.3 Write Your Own Library 182\u003c\/p\u003e \u003cp\u003e10.4 Publish Your Library 188\u003c\/p\u003e \u003cp\u003e10.5 Publish Your Program 190\u003c\/p\u003e \u003cp\u003e10.6 Version Control 192\u003c\/p\u003e \u003cp\u003e10.7 Collaborations 196\u003c\/p\u003e \u003cp\u003e10.8 Update Your Library and Program 201\u003c\/p\u003e \u003cp\u003e10.9 Summary 202\u003c\/p\u003e \u003cp\u003e\u003cb\u003ePart III The IoT Starter Kit and IoT Projects 203\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e11 Arm® Mbed™ Ethernet IoT Starter Kit 205\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e11.1 128×32 LCD 205\u003c\/p\u003e \u003cp\u003e11.2 Joystick 207\u003c\/p\u003e \u003cp\u003e11.3 Two Potentiometers 208\u003c\/p\u003e \u003cp\u003e11.4 Speaker 209\u003c\/p\u003e \u003cp\u003e11.5 Three‐Axis Accelerometer 211\u003c\/p\u003e \u003cp\u003e11.6 LM75B Temperature Sensor 211\u003c\/p\u003e \u003cp\u003e11.7 RGB LED 212\u003c\/p\u003e \u003cp\u003e11.8 Summary 214\u003c\/p\u003e \u003cp\u003e\u003cb\u003e12 IoT Projects with Arm® Mbed™ 215\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e12.1 Temperature Monitoring over the Internet 215\u003c\/p\u003e \u003cp\u003e12.2 Smart Lighting 224\u003c\/p\u003e \u003cp\u003e12.3 Voice‐Controlled Door Access 230\u003c\/p\u003e \u003cp\u003e12.4 RFID Reader 237\u003c\/p\u003e \u003cp\u003e12.5 Cloud Example with IBM Watson Bluemix 242\u003c\/p\u003e \u003cp\u003e12.5.1 IBM Quickstart Service 243\u003c\/p\u003e \u003cp\u003e12.5.2 IBM Registered Service (Bluemix) 245\u003c\/p\u003e \u003cp\u003e12.5.3 Add IBM Watson IoT Service to Your Application 252\u003c\/p\u003e \u003cp\u003e12.5.4 Add Your Mbed Device to Your Watson IoT Organization 252\u003c\/p\u003e \u003cp\u003e12.5.5 Adding Credentials onto Your Mbed Device 257\u003c\/p\u003e \u003cp\u003e12.5.6 Link Your IBM IoT Watson Application to Your Mbed Device 257\u003c\/p\u003e \u003cp\u003e12.5.7 Sending Commands from Your IBM IoT Watson Application to Your Mbed Board 261\u003c\/p\u003e \u003cp\u003e12.5.8 More with Node-RED 261\u003c\/p\u003e \u003cp\u003e12.6 Real-Time Signal Processing 271\u003c\/p\u003e \u003cp\u003e12.7 Summary 277\u003c\/p\u003e \u003cp\u003e\u003cb\u003ePart IV Appendices 279\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eAppendix A: Example Codes 281\u003c\/p\u003e \u003cp\u003eAppendix B: HiveMQ MQTT Broker 285\u003c\/p\u003e \u003cp\u003eAppendix C: Node‐RED on Raspberry Pi 295\u003c\/p\u003e \u003cp\u003eAppendix D: String and Array Operations 303\u003c\/p\u003e \u003cp\u003eAppendix E: Useful Online Resources 311\u003c\/p\u003e \u003cp\u003eIndex 313\u003c\/p\u003e   \u003cp\u003e\u003cb\u003ePERRY XIAO\u003c\/b\u003e is an Associate Professor and MSc course director in the School of Engineering at London South Bank University, UK. His main research interest is to develop novel infrared and electronic sensing technologies for skin measurements and industrial Non-Destructive Testing. Dr. Perry Xiao also teaches at both UG and PG levels and has published over 100 refereed papers in journals and conference proceedings.  \u003c\/p\u003e\u003cp\u003e\u003cb\u003eA COMPREHENSIVE AND ACCESSIBLE INTRODUCTION TO THE DEVELOPMENT OF EMBEDDED SYSTEMS AND INTERNET OF THINGS DEVICES USING ARM® MBED™\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003ci\u003eDesigning Embedded Systems and the Internet of Things (IoT) with the ARM® Mbed™\u003c\/i\u003e offers an accessible guide to the development of ARM® Mbed™ and includes a range of topics from the basic to the advanced. ARM® Mbed™ is a platform and operating system based on 32-bit ARM® Cortex-M microcontrollers. This important resource puts the focus on ARM® Mbed™ NXP LPC1768 and FRDM-K64F evaluation boards. NXP LPC1768 has powerful features such as a fast microcontroller, various digital and analog I\/Os, various serial communication interfaces and a very easy to use web-based compiler. It is one of the most popular kits that is used to study and create projects. FRDM-K64F is relatively new and largely compatible with NXP LPC1768 but with even more powerful features.\u003c\/p\u003e \u003cp\u003eThis comprehensive text is an ideal guide, divided into four sections: Getting Started with the ARM® Mbed™, Covering the Basics, Advanced Topics and Case Studies. This guide:\u003c\/p\u003e \u003cul\u003e \u003cli\u003eOffers a clear introduction to the topic\u003c\/li\u003e \u003cli\u003eContains a wealth of original and illustrative case studies\u003c\/li\u003e \u003cli\u003eIncludes a practical guide to the development of projects with the ARM® Mbed™ platform\u003c\/li\u003e \u003cli\u003ePresents timely coverage of how to develop IoT applications\u003c\/li\u003e \u003c\/ul\u003e \u003cp\u003e\u003ci\u003eDesigning Embedded Systems and the Internet of Things (IoT) with the ARM® Mbed™ \u003c\/i\u003eoffers students and R\u0026amp;D engineers a resource for understanding the NXP LPC1768 evaluation board.\u003c\/p\u003e","brand":"Wiley","offers":[{"title":"Default Title","offer_id":47989048443109,"sku":"NP9781119363996","price":104.5,"currency_code":"USD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1842\/7735\/files\/9781119363996.jpg?v=1761782580","url":"https:\/\/k12savings.com\/es\/products\/designing-embedded-systems-and-the-internet-of-things-iot-with-the-arm-mbed-isbn-9781119363996","provider":"K12savings","version":"1.0","type":"link"}