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 applicationsDesigning 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 Author | p. xiii |
Preface | p. xv |
Author's Acknowledgments | p. xix |
About the companion website | p. xxi |
Part 1 Introduction to Arm ® Mbed™ and IoT | p. 1 |
1 Introduction to Arm ® Mbed™ | p. 3 |
1.1 What is an Embedded System? | p. 3 |
1.2 Microcontrollers and Microprocessors | p. 4 |
1.3 ARM ® Processor Architecture | p. 8 |
1.4 The Arm ® Mbed™ Systems | p. 10 |
1.4.1 NXP LPC1768 | p. 11 |
1.4.2 NXP LPC11U24 | p. 14 |
1.4.3 BBC Micro:bit | p. 15 |
1.4.4 The Arm ® Mbed™ Ethernet Internet of Things (IoT) Starter Kit | p. 17 |
1.5 Summary | p. 21 |
1.6 Chapter Review Questions | p. 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 Applications | p. 27 |
2.4.1 Home | p. 27 |
2.4.2 Healthcare | p. 28 |
2.4.3 Transport | p. 28 |
2.4.4 Energy | p. 28 |
2.4.5 Manufacture | p. 28 |
2.4.6 Environment | p. 28 |
2.5 Summary | p. 29 |
2.6 Chapter Review Questions | p. 29 |
3 IoT Enabling Technologies | p. 31 |
3.1 Sensors and Actuators | p. 31 |
3.2 Communications | p. 31 |
3.2.1 RFID and NFC (Near-Field Communication) | p. 32 |
3.2.2 Bluetooth Low Energy (BLE) | p. 32 |
3.2.3 LiFi | p. 33 |
3.2.4 6LowPAN | p. 33 |
3.2.5 ZigBee | p. 34 |
3.2.6 Z-Wave | p. 34 |
3.2.7 LoRa | p. 34 |
3.3 Protocols | p. 35 |
3.3.1 HTTP | p. 35 |
3.3.2 WebSocket | p. 36 |
3.3.3 MQTT | p. 37 |
3.3.4 CoAP | p. 38 |
3.3.5 XMPP | p. 38 |
3.4 Node-RED | p. 39 |
3.5 Platforms | p. 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 Summary | p. 45 |
3.7 Chapter Review Questions | p. 45 |
Part II Arm ® Mbed™ Development | p. 47 |
4 Getting Started with Arm ® Mbed™ | p. 49 |
4.1 Introduction | p. 49 |
4.2 Hardware and Software Required | p. 49 |
4.2.1 Hardware | p. 49 |
4.2.2 Software | p. 50 |
4.3 Your First Program: Blinky LED | p. 53 |
4.3.1 Connect the Mbed to a PC | p. 53 |
4.3.2 Click "mbed.htm" to Log In | p. 53 |
4.3.3 Add the FRDM-K64F Platform to Your Compiler | p. 54 |
4.3.4 Import an Existing Program | p. 54 |
4.3.5 Compile, Download, and Run Your Program | p. 57 |
4.3.6 What Next? | p. 57 |
4.4 Create Your Own Program | p. 57 |
4.5 C/C++ Programming Language | p. 58 |
4.6 Functions and Modular Programming | p. 58 |
4.7 Manage Platforms | p. 61 |
4.8 Clone Your Program | p. 63 |
4.9 Search and Replace | p. 64 |
4.10 Compile Your Program for Multiple Platforms | p. 65 |
4.11 Delete Your Program | p. 65 |
4.12 Disaster Recovery Procedure | p. 67 |
4.13 Upgrade Firmware | p. 67 |
4.14 Help | p. 67 |
4.15 Summary | p. 69 |
5 Inputs and Outputs | p. 71 |
5.1 Digital Inputs and Outputs | p. 71 |
5.1.1 Digital Inputs | p. 71 |
5.1.2 Digital Outputs | p. 74 |
5.1.3 Busln, BusOut, and BusInOut | p. 79 |
5.2 Analog Inputs and Outputs | p. 81 |
5.2.1 Analog Inputs | p. 81 |
5.2.2 Analog Outputs | p. 82 |
5.3 Pulse Width Modulation (PWM) | p. 86 |
5.4 Accelerometer and Magnetometer | p. 88 |
5.5 SD Card | p. 96 |
5.6 Local File System (LPC1768) | p. 99 |
5.7 Interrupts | p. 100 |
5.8 Summary | p. 101 |
6 Digital Interfaces | p. 103 |
6.1 Serial | p. 103 |
6.2 Spi | p. 106 |
6.3 I2C | p. 108 |
6.4 Can | p. 111 |
6.5 Summary | p. 113 |
7 Networking and Communications | p. 115 |
7.1 Ethernet | p. 115 |
7.2 Ethernet Web Client and Web Server | p. 119 |
7.3 TCP Socket and UDP Socket | p. 124 |
7.4 WebSocket | p. 128 |
7.5 WiFi | p. 131 |
7.6 Summary | p. 135 |
8 Digital Signal Processing and Control | p. 137 |
8.1 Low-Pass Filter | p. 137 |
8.2 High-Pass Filter | p. 141 |
8.3 Band-Pass Filter | p. 143 |
8.4 Band-Stop Filter and Notch Filter | p. 146 |
8.5 Fast Fourier Transform (FFT) | p. 149 |
8.6 PID Controller | p. 160 |
8.7 Summary | p. 164 |
9 Debugging, Timer, Multithreading, and Real-Time Programming | p. 165 |
9.1 Debugging | p. 165 |
9.2 Timer, Timeout, Ticker, and Time | p. 167 |
9.3 Network Time Protocol (NTP) | p. 171 |
9.4 Multithreading and Real-Time Programming | p. 173 |
9.5 Summary | p. 179 |
10 Libraries and Programs | p. 181 |
10.1 Import Libraries and Programs | p. 181 |
10.2 Export Your Program | p. 181 |
10.3 Write Your Own Library | p. 182 |
10.4 Publish Your Library | p. 188 |
10.5 Publish Your Program | p. 190 |
10.6 Version Control | p. 192 |
10.7 Collaborations | p. 196 |
10.8 Update Your Library and Program | p. 201 |
10.9 Summary | p. 202 |
Part III The IoT Starter Kit and IoT Projects | p. 203 |
11 Arm ® Mbed™ Ethernet IoT Starter Kit | p. 205 |
11.1 128×32 LCD | p. 205 |
11.2 Joystick | p. 207 |
11.3 Two Potentiometers | p. 208 |
11.4 Speaker | p. 209 |
11.5 Three-Axis Accelerometer | p. 211 |
11.6 LM75B Temperature Sensor | p. 211 |
11.7 RGB LED | p. 212 |
11.8 Summary | p. 214 |
12 IoT Projects with Arm ® Mbed™ | p. 215 |
12.1 Temperature Monitoring over the Internet | p. 215 |
12.2 Smart Lighting | p. 224 |
12.3 Voice-Controlled Door Access | p. 230 |
12.4 RF1D Reader | p. 237 |
12.5 Cloud Example with IBM Watson Bluemix | p. 242 |
12.5.1 IBM Quickstart Service | p. 243 |
12.5.2 IBM Registered Service (Bluemix) | p. 245 |
12.5.3 Add IBM Watson IoT Service to Your Application | p. 252 |
12.5.4 Add Your Mbed Device to Your Watson IoT Organization | p. 252 |
12.5.5 Adding Credentials onto Your Mbed Device | p. 257 |
12.5.6 Link Your IBM IoT Watson Application to Your Mbed Device | p. 257 |
12.5.7 Sending Commands from Your IBM IoT Watson Application to Your Mbed Board | p. 261 |
12.5.8 More with Node-RED | p. 261 |
12.6 Real-Time Signal Processing | p. 271 |
12.7 Summary | p. 277 |
Part IV Appendices | p. 279 |
Appendix A Example Codes | p. 281 |
Appendix B HiveMQ MQTT Broker | p. 285 |
Appendix C Node-RED on Raspberry Pi | p. 295 |
Appendix D String and Array Operations | p. 303 |
Appendix E Useful Online Resources | p. 311 |
Index | p. 313 |