Mastering IOT
Colin Dow Perry Lea更新时间:2021-06-24 15:37:02
最新章节:Leave a review - let other readers know what you thinkcoverpage
Title Page
Copyright
Mastering IOT
About Packt
Why subscribe?
Packt.com
Contributors
About the authors
Packt is searching for authors like you
Preface
Who this book is for
What this book covers
To get the most out of this book
Download the example code files
Download the color images
Conventions used
Get in touch
Reviews
The IoT Story
History of the IoT
IoT potential
Industrial and manufacturing
Industrial and manufacturing IoT use cases and impact
Consumer
Consumer IoT use cases
Retail financial and marketing
Retail IoT use cases
Healthcare
Healthcare IoT use cases
Transportation and logistics
Transportation and logistics IoT use cases
Agricultural and environmental
Agricultural and environmental IoT use cases
Energy
Energy IoT use cases
Smart city
Smart city IoT use cases
Government and military
Government and military IoT use cases
Summary
IoT Architecture and Core IoT Modules
IoT ecosystem
IoT versus machine to machine
The value of a network and Metcalfe's and Beckstrom's law
IoT architecture
Role of an architect
Part 1 – Sensing and power
Part 2 – Data communication
Part 3 – Internet routing and protocols
Part 4 – Fog and edge compute analytics and machine learning
Part 5 – Threat and security in IoT
Summary
Sensors Endpoints and Power Systems
Sensing devices
Thermocouples and temperature sensing
Thermocouples
Resistance Temperature Detectors
Thermistors
Temperature sensor summary
Hall effect sensors and current sensors
Photoelectric sensors
PIR sensors
LiDAR and active sensing systems
MEMS sensors
MEMS accelerometers and gyroscopes
MEMS microphones
MEMS pressure sensors
Smart IoT endpoints
Vision system
Sensor fusion
Input devices
Output devices
Functional examples (putting it all together)
Functional example – TI SensorTag CC2650
Sensor to controller
Energy sources and power management
Power management
Energy harvesting
Solar harvesting
Piezo-mechanical harvesting
RF energy harvesting
Thermal harvesting
Energy storage
Energy and power models
Batteries
Supercapacitors
Radioactive power sources
Energy storage summary and other forms of power
Summary
Communications and Information Theory
Communication theory
RF energy and theoretical range
RF interference
Information theory
Bitrate limits and the Shannon-Hartley theorem
Bit error rate
Narrowband versus wideband communication
The radio spectrum
Governing structure
Summary
Non-IP Based WPAN
Wireless personal area network standards
802.15 standards
Bluetooth
Bluetooth history
Bluetooth 5 communication process and topologies
Bluetooth 5 stack
Bluetooth 5 PHY and interference
Bluetooth packet structure
BR/EDR operation
BLE operation
Bluetooth profiles
BR/EDR security
BLE security
Beaconing
Bluetooth 5 range and speed enhancement
Bluetooth mesh introduction
Bluetooth mesh topology
Bluetooth mesh addressing modes
Bluetooth mesh provisioning
IEEE 802.15.4
IEEE 802.15.4 architecture
IEEE 802.15.4 topology
IEEE 802.15.4 address modes and packet structure
IEEE 802.15.4 start-up sequence
IEEE 802.15.4 security
Zigbee
Zigbee history
Zigbee overview
Zigbee PHY and MAC (and difference from IEEE 802.15.4)
Zigbee protocol stack
Zigbee addressing and packet structure
Zigbee mesh routing
Zigbee association
Zigbee security
Z-Wave
Z-Wave overview
Z-Wave protocol stack
Z-Wave addressing
Z-Wave topology and routing
Summary
IP-Based WPAN and WLAN
Internet protocol and transmission control protocol
IP role in IoT
WPAN with IP – 6LoWPAN
6LoWPAN topology
6LoWPAN protocol stack
Mesh addressing and routing
Header compression and fragmentation
Neighbor discovery
6LoWPAN security
WPAN with IP – Thread
Thread architecture and topology
Thread protocol stack
Thread routing
Thread addressing
Neighbor discovery
IEEE 802.11 protocols and WLAN
IEEE 802.11 suite of protocols and comparison
IEEE 802.11 architecture
IEEE 802.11 spectrum allocation
IEEE 802.11 modulation and encoding techniques
IEEE 802.11 MIMO
IEEE 802.11 packet structure
IEEE 802.11 operation
IEEE 802.11 security
IEEE 802.11ac
IEEE 802.11p vehicle-to-vehicle
IEEE 802.11ah
Summary
Long-Range Communication Systems and Protocols (WAN)
Cellular connectivity
Governance models and standards
Cellular access technologies
3GPP user equipment categories
4G-LTE spectrum allocation and bands
4G-LTE topology and architecture
4G-LTE E-UTRAN protocol stack
4G-LTE geographical areas dataflow and handover procedures
4G-LTE packet structure
Cat 0 Cat 1 Cat M1 and NB-IoT
LTE Cat-0
LTE Cat-1
LTE Cat-M1 (eMTC)
LTE Cat-NB
5G
LoRa and LoRaWAN
LoRa physical layer
LoRaWAN MAC layer
LoRaWAN topology
LoRaWAN summary
Sigfox
Sigfox physical layer
Sigfox MAC layer
Sigfox protocol stack
Sigfox topology
Summary
Routers and Gateways
Routing functions
Gateway functions
Routing
Failover and out-of-band management
VLAN
VPN
Traffic shaping and QoS
Security functions
Metrics and analytics
Edge processing
Software-Defined Networking
SDN architecture
Traditional internetworking
SDN benefits
Summary
IoT Security
Cyber security vernacular
Attack and threat terms
Defense terms
Anatomy of IoT cyber attacks
Mirai
Stuxnet
Chain Reaction
Physical and hardware security
Root of Trust
Key management and trusted platform modules
Processor and memory space
Storage security
Physical security
Cryptography
Symmetric cryptography
Asymmetric cryptography
Cryptographic hash (authentication and signing)
Public Key Infrastructure
Network stack – Transport Layer Security
Software defined perimeter
Software-Defined Perimeter architecture
Blockchains and cryptocurrencies in IoT
Bitcoin (blockchain-based)
IOTA (directed acyclical graph-based)
Government regulations and intervention
US Congressional Bill –Internet of Things (IoT) Cybersecurity Improvement Act of 2017
Other governmental bodies
IoT security best practices
Holistic security
Security checklist
Summary
Installing Raspbian on the Raspberry Pi
A brief history of the Raspberry Pi
A look at operating systems for the Raspberry Pi
Project overview
Getting started
Installing the Raspbian OS
Formatting a microSD card for Raspbian
Copying the NOOBS files to the microSD RAM
Running the installer
A quick overview of the Raspbian OS
The Chromium web browser
The home folder
The Terminal
Mathematica
Sonic Pi
Scratch and Scratch 2.0
LibreOffice
Summary
Writing Python Programs Using Raspberry Pi
Project overview
Technical requirements
Python tools for Raspberry Pi
The Terminal
Integrated Development and Learning Environment
Thonny
Using the Python command line
Writing a simple Python program
Creating the class
Creating the object
Using the object inspector
Testing your class
Making the code flexible
Example one
Example two
Summary
Using the GPIO to Connect to the Outside World
Project overview
Technical requirements
Python libraries for the Raspberry Pi
picamera
Pillow
sense-hat and sense-emu
Accessing Raspberry Pi's GPIO
Pibrella
RPi.GPIO
GPIO zero
Setting up the circuit
Fritzing
Building our circuit
Hello LED
Blink LED using gpiozero
Morse code weather data
Summary
Subscribing to Web Services
Prerequisites
Project overview
Getting started
Cloud services for IoT
Amazon Web Services IoT
IBM Watson platform
Google Cloud platform
Microsoft Azure
Weather Underground
A basic Python program to pull data from the cloud
Accessing the web service
Using the Sense HAT Emulator
Summary
Controlling a Servo with Python
Knowledge required to complete this chapter
Project overview
Getting started
Wiring up a servo motor to the Raspberry Pi
Stepper motors
DC motors
Servo motors
Connecting the servo motor to our Raspberry Pi
Control the servo through the command line
Write a Python program to control the servo
Summary
Working with the Servo Control Code to Control an Analog Device
Knowledge required to complete this chapter
Project overview
Getting started
Accessing weather data from the cloud
Controlling the servo using weather data
Correcting for servo range
Changing the position of the servo based on weather data
Enhancing our project
Printing out the main graphic
Adding the needle and LED
Summary
Setting Up a Raspberry Pi Web Server
Knowledge required to complete this chapter
Project overview
Getting started
Introducing CherryPy – a minimalist Python web framework
What is CherryPy?
Who uses CherryPy?
Installing CherryPy
Creating a simple web page using CherryPy
Hello Raspberry Pi!
Say hello to myFriend
What about static pages?
HTML weather dashboard
Summary
Reading Raspberry Pi GPIO Sensor Data Using Python
Project overview
Getting started
Reading the state of a button
Using GPIO Zero with a button
Using the Sense HAT emulator and GPIO Zero button together
Toggling an LED with a long button press
Reading the state from an infrared motion sensor
What is a PIR sensor?
Using the GPIO Zero buzzer class
Building a basic alarm system
Modifying Hello LED using infrared sensor
Configuring a distance sensor
Taking Hello LED to another level
Summary
Building a Home Security Dashboard
Knowledge required to complete this chapter
Project overview
Getting started
Creating our dashboard using CherryPy
Using the DHT11 to find temperature and humidity
Using the Pi camera to take a photo
Creating our dashboard using CherryPy
Displaying sensory data on our dashboard
Home security dashboard with a temperature sensor
Home security dashboard with quick response
Summary
Publishing to Web Services
Project overview
Getting started
Publishing sensory data to cloud-based services
Install the MQTT library
Set up an account and create a device
Reading sensory data and publishing to ThingsBoard
Creating a dashboard in ThingsBoard
Sharing your dashboard with a friend
Setting up an account for text message transmission
Setting up a Twilio account
Installing Twilio on our Raspberry Pi
Sending a text through Twilio
Creating a new home security dashboard
Summary
Creating a Doorbell Button Using Bluetooth
Project overview
Getting started
Introducing Blue Dot
Installing the bluedot library on the Raspberry Pi
Pairing Blue Dot with your Raspberry Pi
Wiring up our circuit
What is an RGB LED?
Testing our RGB LED
Completing our doorbell circuit
Reading our button state using Bluetooth and Python
Reading button information using Python
Creating a Bluetooth doorbell
Creating a secret Bluetooth doorbell
Summary
Enhancing Our IoT Doorbell
Project overview
Getting started
Sending a text message when someone is at the door
Creating a simple doorbell application with text messaging
Creating a secret doorbell application with text messaging
Summary
Introducing the Raspberry Pi Robot Car
The parts of the robot car
Building the robot car
Step 1 – Adafruit 16-Channel PWM/Servo HAT for Raspberry Pi
Step 2 – Wiring up the motors
Step 3 – Assembling the servo camera mount
Step 4 – Attaching the head
Step 5 – Assembling the DC motor plate
Step 6 – Attaching the motors and wheels
Step 7 – Wiring up the motors
Step 8 – Attaching the camera mount Raspberry Pi and Adafruit servo board
Step 9 – Attaching the buzzer and voltage divider
Step 10 – Wiring up T.A.R.A.S
Learning how to control the robot car
Configuring our Raspberry Pi
Python library for Adafruit Servo HAT
Summary
Controlling the Robot Car Using Python
Knowledge required to complete this chapter
Project overview
Getting started
Taking a look at the Python code
Controlling the drive wheels of the robot car
Moving the servos on the robot car
Taking a picture
Making a beep noise
Making the LEDs blink
Modifying the robot car Python code
Move the wheels
Move the head
Make sounds
Enhancing the code
Stitching our code together
Summary
Connecting Sensory Inputs from the Robot Car to the Web
Knowledge required to complete this chapter
Project overview
Getting started
Identifying the sensor on the robot car
Taking a closer look at the HC-SR04
Reading robot car sensory data with Python
Publishing robot car sensory data to the cloud
Create a ThingsBoard device
Summary
Controlling the Robot Car with Web Service Calls
Knowledge required to complete this chapter
Project overview
Technical requirements
Reading the robot car's data from the cloud
Changing the look of the distance gauge
Changing the range on the distance gauge
Viewing the dashboard outside of your account
Using a Python program to control a robot car through the cloud
Adding a switch to our dashboard
Controlling the green LED on T.A.R.A.S
Using the internet to make T.A.R.A.S dance
Summary
Building the JavaScript Client
Project overview
Getting started
Introducing JavaScript cloud libraries
Google Cloud
AWS SDK for JavaScript
Eclipse Paho JavaScript client
Connecting to cloud services using JavaScript
Setting up a CloudMQTT account
Setting up an MQTT Broker instance
Writing the JavaScript client code
Running the code
Understanding the JavaScript code
Publishing MQTT messages from our Raspberry Pi
Summary
Putting It All Together
Project overview
Getting started
Building a JavaScript client to connect to our Raspberry Pi
Writing the HTML code
Writing the JavaScript code to communicate with our MQTT Broker
Creating a JavaScript client to access our robot car's sensory data
Writing the code for T.A.R.A.S
Livestreaming videos from T.A.R.A.S
Enhancing our JavaScript client to control our robot car
Nipple.js
HTML5 Gamepad API
Johnny-Five
Summary
Other Books You May Enjoy
Leave a review - let other readers know what you think
更新时间:2021-06-24 15:37:02