Table of Contents
List of Tables
- Chapter 1
- Chapter 3
- Chapter 4
- Chapter 11
List of Illustrations
- Chapter 1
- Chapter 2
- Chapter 3
- Chapter 1
- Chapter 2
- Chapter 3
- Chapter 4
- Chapter 5
- Chapter 6
- Chapter 7
- Chapter 8
- Chapter 9
- Chapter 10
- Chapter 11
- Chapter 12
Guide
Pages
Designing Embedded Systems and the Internet of Things (IoT) with the ARM Mbed
Perry Xiao
London South Bank University
UK
Copyright
This edition first published 2018
2018 John Wiley & Sons Ltd
All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, photocopying, recording or otherwise, except as permitted by law. Advice on how to obtain permission to reuse material from this title is available at http://www.wiley.com/go/permissions.
The right of Perry Xiao to be identified as the author has been asserted in accordance with law.
Registered Offices
John Wiley & Sons, Inc., 111 River Street, Hoboken, NJ 07030, USA
John Wiley & Sons Ltd, The Atrium, Southern Gate, Chichester, West Sussex, PO19 8SQ, UK
Editorial Office
The Atrium, Southern Gate, Chichester, West Sussex, PO19 8SQ, UK
For details of our global editorial offices, customer services, and more information about Wiley products visit us at www.wiley.com.
Wiley also publishes its books in a variety of electronic formats and by print-on-demand. Some content that appears in standard print versions of this book may not be available in other formats.
Limit of Liability/Disclaimer of Warranty
While the publisher and authors have used their best efforts in preparing this work, they make no representations or warranties with respect to the accuracy or completeness of the contents of this work and specifically disclaim all warranties, including without limitation any implied warranties of merchantability or fitness for a particular purpose. No warranty may be created or extended by sales representatives, written sales materials or promotional statements for this work. The fact that an organization, website, or product is referred to in this work as a citation and/or potential source of further information does not mean that the publisher and authors endorse the information or services the organization, website, or product may provide or recommendations it may make. This work is sold with the understanding that the publisher is not engaged in rendering professional services. The advice and strategies contained herein may not be suitable for your situation. You should consult with a specialist where appropriate. Further, readers should be aware that websites listed in this work may have changed or disappeared between when this work was written and when it is read. Neither the publisher nor authors shall be liable for any loss of profit or any other commercial damages, including but not limited to special, incidental, consequential, or other damages.
Library of Congress Cataloging-in-Publication Data
Names: Xiao, Perry, author.
Title: Designing embedded systems and the internet of things (IoT) with the ARM Mbed / by Perry Xiao.
Description: First edition. | Hoboken, NJ : John Wiley & Sons, Inc., [2018] |
Includes bibliographical references and index. |
Identifiers: LCCN 2018008687 (print) | LCCN 2018015034 (ebook) | ISBN 9781119364016 (pdf) | ISBN 9781119364047 (epub) | ISBN 9781119363996 (cloth)
Subjects: LCSH: Embedded computer systems-Design and construction | Internet of things-Equipment and supplies. | Microcontrollers.
Classification: LCC TK7895.E42 (ebook) | LCC TK7895.E42 X56 2018 (print) | DDC 006.2/2-dc23
LC record available at https://lccn.loc.gov/2018008687
Cover design by Wiley
Cover image: matejmo/Getty Images; Raimundas/Shutterstock
Dedication
This book is dedicated to my family. To my wife, May, my son, Zieger, and my daughter, Jessica, who make my life complete-without them, life would be meaningless. To my parents and my brother, who have shared their life and love with me that ultimately made me what I am today. To my friends and colleagues, who supported me throughout my career.
About the Author
Dr. Perry Xiao is an associate professor and course director at the School of Engineering, London South Bank University, London, United Kingdom. He got his BEng degree in OptoElectronics, MSc degree in Solid State Physics, and PhD degree in Photophysics. He is a chartered engineer (CEng), a Fellow (FIET) from Institution of Engineering and Technology (IET) and a Senior Fellow (SFHEA) from Higher Education Academy (HEA). He has been teaching electronics, software, computer networks, and telecommunication subjects at both undergraduate level and postgraduate level for nearly two decades. He is also supervising BEng final project students and MSc project students every year. His main research interest is to develop novel infrared and electronic sensing technologies for skin bioengineering applications and industrial nondestructive testing (NDT). To date, he has finished seven PhD student supervisions, obtained two UK patent applications, published more than 100 scientific papers, been editorial reviewer for nine journals, and generated nearly 1 million in research grants.
He is also a director and cofounder of Biox Systems Ltd., UKa university spinoff company that designs and manufactures stateoftheart skin measurement instruments, AquaFlux and Epsilon, which have been used in more than 70 organizations worldwide, including leading cosmetic companies, universities, research institutes, and hospitals.
Preface
When I first got the Arm Mbed LabinaBox (LiB) kits from a colleague a few years ago, I could not hide my excitement. It was a box of mbed NXP LPC1768 development boards donated through the ARM University Program. One of the key features of the Arm Mbed system is that you can write and compile your code online through a web browser. This was completely new to me. I have been using various microcontrollers throughout my life. I did my BEng final year project on laser energy control using Intels 8051 singlechip microcontroller back in the 1980s. The concept was very simple: read the voltage value from the laser power monitor, compare it with a desired value, and calculate the required adjustment to feed back to the laser to increase or decrease the laser output. But we had to design and make our own printed circuit boards (PCB) and to write our own code that would run on 8051. At that time, programming microcontrollers was not a trivial task. You needed to write the program in assembly language and punch in the corresponding hexadecimal code into the microcontroller. We spent many sleepless nights in the lab, mainly for debugging the code. I have since worked with many other microcontrollerbased embedded systems, and the experiences were very mixed. Some of the embedded systems were so difficult to use that you would need to download this software, download that toolchain, etc. Using my students words, you needed a PhD just to get the compiler software running. The code was also sophisticatedyou would need to configure this register, and configure that port. You could produce lines of lines of code, which did not even do much!