Cover image for Designing Embedded Systems and the Internet of Things (IoT) with the ARM Mbed
Title:
Designing Embedded Systems and the Internet of Things (IoT) with the ARM Mbed
Personal Author:
Edition:
First edition
Physical Description:
xxi, 316 pages : illustrations ; 26 cm.
ISBN:
9781119363996
Abstract:
Designing Embedded Systems and the Internet of Things (IoT) with the ARM Mbed offers 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

Available:*

Library
Item Barcode
Call Number
Material Type
Item Category 1
Status
Searching...
30000010370035 TK7895.E42 X56 2018 Open Access Book Book
Searching...

On Order

Summary

Summary

A comprehensive and accessible introduction to the development of embedded systems and Internet of Things devices using ARM mbed

Designing Embedded Systems and the Internet of Things (IoT) with the ARM mbed offers 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.

This 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:

Offers a clear introduction to the topic Contains a wealth of original and illustrative case studies Includes a practical guide to the development of projects with the ARM mbed platform Presents timely coverage of how to develop IoT applications

Designing Embedded Systems and the Internet of Things (IoT) with the ARM mbed offers students and R&D engineers a resource for understanding the ARM mbed NXP LPC1768 evaluation board.


Author Notes

Perry Xiao 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.


Table of Contents

About the Authorp. xiii
Prefacep. xv
Author's Acknowledgmentsp. xix
About the companion websitep. xxi
Part 1 Introduction to Arm ® Mbed™ and IoTp. 1
1 Introduction to Arm ® Mbed™p. 3
1.1 What is an Embedded System?p. 3
1.2 Microcontrollers and Microprocessorsp. 4
1.3 ARM ® Processor Architecturep. 8
1.4 The Arm ® Mbed™ Systemsp. 10
1.4.1 NXP LPC1768p. 11
1.4.2 NXP LPC11U24p. 14
1.4.3 BBC Micro:bitp. 15
1.4.4 The Arm ® Mbed™ Ethernet Internet of Things (IoT) Starter Kitp. 17
1.5 Summaryp. 21
1.6 Chapter Review Questionsp. 21
2 Introduction to the Internet of Things (IoT)p. 23
2.1 What is the Internet ofThings (IoT)?p. 23
2.2 How Does IoT Work?p. 24
2.3 How Will IoT Change Our Lives?p. 25
2.4 Potential IoT Applicationsp. 27
2.4.1 Homep. 27
2.4.2 Healthcarep. 28
2.4.3 Transportp. 28
2.4.4 Energyp. 28
2.4.5 Manufacturep. 28
2.4.6 Environmentp. 28
2.5 Summaryp. 29
2.6 Chapter Review Questionsp. 29
3 IoT Enabling Technologiesp. 31
3.1 Sensors and Actuatorsp. 31
3.2 Communicationsp. 31
3.2.1 RFID and NFC (Near-Field Communication)p. 32
3.2.2 Bluetooth Low Energy (BLE)p. 32
3.2.3 LiFip. 33
3.2.4 6LowPANp. 33
3.2.5 ZigBeep. 34
3.2.6 Z-Wavep. 34
3.2.7 LoRap. 34
3.3 Protocolsp. 35
3.3.1 HTTPp. 35
3.3.2 WebSocketp. 36
3.3.3 MQTTp. 37
3.3.4 CoAPp. 38
3.3.5 XMPPp. 38
3.4 Node-REDp. 39
3.5 Platformsp. 41
3.5.1 IBM Watson IoT-Bluemix (http://www.ibm.com/internet-of-things/)p. 41
3.5.2 Eclipse IoT (https://iot.eclipse.org/)p. 42
3.5.3 AWS IoT (https://aws.amazon.com/iot/)p. 42
3.5.4 Microsoft Azure IoT Suite (https://azure.microsoft.com/en-us/suites/iot-suite/)p. 42
3.5.5 Google Cloud IoT (https://cloud.google.com/solutions/iot/)p. 44
3.5.6 ThingWorx (https://www.thingworx.com/)p. 44
3.5.7 GE Predix (https://vww.predix.com/)p. 44
3.5.8 Xively (https://www.xively.com/)p. 44
3.5.9 Macchina.io (https://macchina.io/)p. 45
3.5.10 Carriots (https://www.carriots.com/)p. 45
3.6 Summaryp. 45
3.7 Chapter Review Questionsp. 45
Part II Arm ® Mbed™ Developmentp. 47
4 Getting Started with Arm ® Mbed™p. 49
4.1 Introductionp. 49
4.2 Hardware and Software Requiredp. 49
4.2.1 Hardwarep. 49
4.2.2 Softwarep. 50
4.3 Your First Program: Blinky LEDp. 53
4.3.1 Connect the Mbed to a PCp. 53
4.3.2 Click "mbed.htm" to Log Inp. 53
4.3.3 Add the FRDM-K64F Platform to Your Compilerp. 54
4.3.4 Import an Existing Programp. 54
4.3.5 Compile, Download, and Run Your Programp. 57
4.3.6 What Next?p. 57
4.4 Create Your Own Programp. 57
4.5 C/C++ Programming Languagep. 58
4.6 Functions and Modular Programmingp. 58
4.7 Manage Platformsp. 61
4.8 Clone Your Programp. 63
4.9 Search and Replacep. 64
4.10 Compile Your Program for Multiple Platformsp. 65
4.11 Delete Your Programp. 65
4.12 Disaster Recovery Procedurep. 67
4.13 Upgrade Firmwarep. 67
4.14 Helpp. 67
4.15 Summaryp. 69
5 Inputs and Outputsp. 71
5.1 Digital Inputs and Outputsp. 71
5.1.1 Digital Inputsp. 71
5.1.2 Digital Outputsp. 74
5.1.3 Busln, BusOut, and BusInOutp. 79
5.2 Analog Inputs and Outputsp. 81
5.2.1 Analog Inputsp. 81
5.2.2 Analog Outputsp. 82
5.3 Pulse Width Modulation (PWM)p. 86
5.4 Accelerometer and Magnetometerp. 88
5.5 SD Cardp. 96
5.6 Local File System (LPC1768)p. 99
5.7 Interruptsp. 100
5.8 Summaryp. 101
6 Digital Interfacesp. 103
6.1 Serialp. 103
6.2 Spip. 106
6.3 I2Cp. 108
6.4 Canp. 111
6.5 Summaryp. 113
7 Networking and Communicationsp. 115
7.1 Ethernetp. 115
7.2 Ethernet Web Client and Web Serverp. 119
7.3 TCP Socket and UDP Socketp. 124
7.4 WebSocketp. 128
7.5 WiFip. 131
7.6 Summaryp. 135
8 Digital Signal Processing and Controlp. 137
8.1 Low-Pass Filterp. 137
8.2 High-Pass Filterp. 141
8.3 Band-Pass Filterp. 143
8.4 Band-Stop Filter and Notch Filterp. 146
8.5 Fast Fourier Transform (FFT)p. 149
8.6 PID Controllerp. 160
8.7 Summaryp. 164
9 Debugging, Timer, Multithreading, and Real-Time Programmingp. 165
9.1 Debuggingp. 165
9.2 Timer, Timeout, Ticker, and Timep. 167
9.3 Network Time Protocol (NTP)p. 171
9.4 Multithreading and Real-Time Programmingp. 173
9.5 Summaryp. 179
10 Libraries and Programsp. 181
10.1 Import Libraries and Programsp. 181
10.2 Export Your Programp. 181
10.3 Write Your Own Libraryp. 182
10.4 Publish Your Libraryp. 188
10.5 Publish Your Programp. 190
10.6 Version Controlp. 192
10.7 Collaborationsp. 196
10.8 Update Your Library and Programp. 201
10.9 Summaryp. 202
Part III The IoT Starter Kit and IoT Projectsp. 203
11 Arm ® Mbed™ Ethernet IoT Starter Kitp. 205
11.1 128×32 LCDp. 205
11.2 Joystickp. 207
11.3 Two Potentiometersp. 208
11.4 Speakerp. 209
11.5 Three-Axis Accelerometerp. 211
11.6 LM75B Temperature Sensorp. 211
11.7 RGB LEDp. 212
11.8 Summaryp. 214
12 IoT Projects with Arm ® Mbed™p. 215
12.1 Temperature Monitoring over the Internetp. 215
12.2 Smart Lightingp. 224
12.3 Voice-Controlled Door Accessp. 230
12.4 RF1D Readerp. 237
12.5 Cloud Example with IBM Watson Bluemixp. 242
12.5.1 IBM Quickstart Servicep. 243
12.5.2 IBM Registered Service (Bluemix)p. 245
12.5.3 Add IBM Watson IoT Service to Your Applicationp. 252
12.5.4 Add Your Mbed Device to Your Watson IoT Organizationp. 252
12.5.5 Adding Credentials onto Your Mbed Devicep. 257
12.5.6 Link Your IBM IoT Watson Application to Your Mbed Devicep. 257
12.5.7 Sending Commands from Your IBM IoT Watson Application to Your Mbed Boardp. 261
12.5.8 More with Node-REDp. 261
12.6 Real-Time Signal Processingp. 271
12.7 Summaryp. 277
Part IV Appendicesp. 279
Appendix A Example Codesp. 281
Appendix B HiveMQ MQTT Brokerp. 285
Appendix C Node-RED on Raspberry Pip. 295
Appendix D String and Array Operationsp. 303
Appendix E Useful Online Resourcesp. 311
Indexp. 313