Book description
With a mixture of theory, examples, and well-integrated figures, Embedded Software for the IoT helps the reader understand the details in the technologies behind the devices used in the Internet of Things. It provides an overview of IoT, parameters of designing an embedded system, and good practice concerning code, version control and defect-tracking needed to build and maintain a connected embedded system.
After presenting a discussion on the history of the internet and the word wide web the book introduces modern CPUs and operating systems. The author then delves into an in-depth view of core IoT domains including:
- Wired and wireless networking
- Digital filters
- Security in embedded and networked systems
- Statistical Process Control for Industry 4.0
This book will benefit software developers moving into the embedded realm as well as developers already working with embedded systems.
Table of contents
- Cover
- Title Page
- Copyright
- About De|G PRESS
- Contents
- Preface
- 1 Introduction
-
Part I: The basic system
- 2 How to select an OS
-
3 Which CPU to use?
- 3.1 Overview
- 3.2 CPU core
- 3.3 CPU architecture
- 3.4 Word size
- 3.5 MMU-memory managed unit
- 3.6 RAM
- 3.7 Cache
- 3.8 EEPROM and flash
- 3.9 FPU-floating point unit
- 3.10 DSP
- 3.11 Crypto engine
- 3.12 Upgrade path
- 3.13 Second sources
- 3.14 Price
- 3.15 Export control
- 3.16 RoHS-compliance
- 3.17 Evaluation boards
- 3.18 Tool-chain
- 3.19 Benchmarking
- 3.20 Power consumption
- 3.21 JTAG debugger
- 3.22 Peripherals
- 3.23 Make or buy
- 3.24 Further reading
- Part II: Best practice
-
Part III: IoT technologies
-
7 Networks
- 7.1 Introduction to the internet protocols
- 7.2 Cerf and Kahn-internet as net of nets
- 7.3 Life of a packet
- 7.4 Life before the packet
- 7.5 Getting an IP address
- 7.6 DHCP
- 7.7 Network masks, CIDR, and special ranges
- 7.8 Reserved IP ranges
- 7.9 NAT
- 7.10 DNS
- 7.11 Introducing HTTP
- 7.12 REST
- 7.13 TCP sockets on IPv4 under Windows
- 7.14 IP fragmentation
- 7.15 Introducing IPv6 addresses
- 7.16 TCP Sockets on IPv6 under Linux
- 7.17 Data transmission
- 7.18 UDP sockets
- 7.19 Case: UDP on IPv6
- 7.20 Application layer protocols
- 7.21 Alternatives to the socket API
- 7.22 Ethernet cabling
- 7.23 Physical layer problems
- 7.24 Further reading
- 8 Network tools
- 9 Wireless networks
-
10 Security
- 10.1 Introduction
- 10.2 The goals of a hacker
- 10.3 Network security concepts
- 10.4 Hash function
- 10.5 Symmetric key encryption
- 10.6 Case: enigma
- 10.7 Asymmetric key encryption
- 10.8 Digital signature
- 10.9 Certificates
- 10.10 Message authentication code
- 10.11 Nonce
- 10.12 Secure socket communication
- 10.13 OpenSSL
- 10.14 Case: heartbleed
- 10.15 Case: Wi-Fi security
- 10.16 Software Crypto libraries
- 10.17 Trusted platform module
- 10.18 Embedded systems
- 10.19 Vulnerabilities in embedded systems
- 10.20 Export control
- 10.21 Further reading
-
11 Digital filters
- 11.1 Why digital?
- 11.2 Why filters?
- 11.3 About the sampling frequency
- 11.4 Time and frequency domains
- 11.5 Analog and digital definitions
- 11.6 More duality
- 11.7 A well-behaving system
- 11.8 IIR filter basics
- 11.9 Implementing IIR
- 11.10 FIR filter basics
- 11.11 Implementing FIR
- 11.12 Dynamic range versus precision
- 11.13 Integers
- 11.14 Fixed-point arithmetic
- 11.15 Q-notation and multiplication
- 11.16 Division
- 11.17 BCD
- 11.18 Further reading
- 12 Statistical process control
-
7 Networks
- Epilogue
- List of Figures
- List of Tables
- Listings
- Index
Product information
- Title: Embedded Software for the IoT
- Author(s):
- Release date: December 2018
- Publisher(s): De Gruyter
- ISBN: 9781547401048
You might also like
book
Embedded System Interfacing
Embedded System Interfacing: Design for the Internet-of-Things (IoT) and Cyber-Physical Systems (CPS) takes a comprehensive approach …
book
Embedded Linux
Embedded Linux provides the reader the information needed to design, develop, and debug an embedded Linux …
book
Exploring BeagleBone: Tools and Techniques for Building with Embedded Linux
In-depth instruction and practical techniques for building with the BeagleBone embedded Linux platform Exploring BeagleBone is …
book
GNU/Linux Rapid Embedded Programming
An annotated guide to program and develop GNU/Linux Embedded systems quickly About This Book Rapidly design …