Mastering internet of things design and create your own IoT applications using Raspberry Pi 3

Augment your IoT skills with the help of engaging and enlightening tutorials designed for Raspberry Pi 3 About This Book Design and implement state-of-the-art solutions for the Internet of Things Build complex projects using motions detectors, controllers, sensors, and Raspberry Pi 3 A hands-on guid...

Descripción completa

Detalles Bibliográficos
Otros Autores: Waher, Peter, author (author)
Formato: Libro electrónico
Idioma:Inglés
Publicado: Birmingham ; Mumbai : Packt Publishing 2018.
Edición:1st ed
Materias:
Ver en Biblioteca Universitat Ramon Llull:https://discovery.url.edu/permalink/34CSUC_URL/1im36ta/alma991009631621906719
Tabla de Contenidos:
  • Cover
  • Title Page
  • Copyright and Credits
  • Dedication
  • Packt Upsell
  • Contributors
  • Table of Contents
  • Preface
  • Chapter 1: Preparing Our First Raspberry Pi Project
  • Getting what you need
  • Downloading the IoT Dashboard
  • Installing Windows 10 on your Raspberry Pi
  • Starting your Raspberry Pi
  • Connecting to your Raspberry Pi
  • Downloading the Arduino IDE
  • Installing Firmata on your Arduino board
  • Testing your Arduino board
  • Choosing a development environment
  • Using the IoT Gateway project and libraries
  • Creating your first project
  • Adding NuGet packages
  • Aggregating capabilities
  • Initializing the application
  • Communicating with the Arduino
  • Testing the app
  • Deploying the app
  • Summary
  • Chapter 2: Creating a Sensor to Measure Ambient Light
  • Preparing our project
  • Initializing the inventory library
  • Initializing the persistence library
  • Sampling raw sensor data
  • Performing basic error correction
  • Canceling noise
  • Removing random spikes
  • Converting to a physical quantity
  • Illustrating measurement results
  • Calculating basic statistics
  • Defining data persistence
  • Storing measured data
  • Removing old data
  • Summary
  • Chapter 3: Creating an Actuator for Controlling Illumination
  • Preparing our project
  • Defining control parameters
  • Understanding relays
  • Connecting our lamp
  • Connecting an LED
  • Controlling output
  • Persisting control parameter states
  • Logging important control events
  • Using Raspberry Pi GPIO pins directly
  • Checking whether GPIO is available
  • Initializing the GPIO output pin
  • Setting the GPIO pin output
  • Summary
  • Chapter 4: Publishing Information Using MQTT
  • Introducing the MQTT protocol
  • Understanding the Publish/Subscribe pattern
  • Preparing our project
  • Selecting an MQTT broker
  • Creating a Device ID
  • Connecting to the broker.
  • Monitoring connection events
  • Recovering from lost connections
  • Publishing sensor data
  • Choosing relevant values
  • Choosing a quality of service
  • Publishing the light field
  • Checking encrypted communication
  • Adding MQTT support to the actuator
  • Subscribing to topics
  • Handling incoming commands
  • Testing MQTT
  • Security considerations
  • Managing authentication
  • Managing privacy
  • Managing interoperability
  • Managing authorization
  • Summary
  • Chapter 5: Publishing Data Using HTTP
  • Introducing the HTTP protocol
  • Locating a resource
  • Understanding the Request/Response pattern
  • Handling sessions
  • Limiting connectivity
  • Choosing a connection direction
  • Understanding methods
  • Updating resources
  • Interacting with resources
  • Encoding content
  • Applying headers
  • Optimizing requests
  • Sending content
  • Understanding status codes
  • Using encryption
  • Validating certificates
  • Redefining the web
  • Preparing our project
  • Creating an HTTP server
  • Adding dynamic synchronous resources
  • Choosing representation
  • Returning an XMLresponse
  • Adding a schema reference
  • Adding momentary values
  • Returning an image response
  • Explicitly encoding your content
  • Adding dynamic asynchronous resources
  • Decoding content
  • Performing control action
  • Summary
  • Chapter 6: Creating Web Pages for Your Devices
  • Adding file-based resources to your projects
  • Converting Markdown to HTML in real time
  • Adding simple Markdown content to the sensor project
  • Calling our sensor API from JavaScript
  • Adding simple Markdown content to the actuator project
  • Calling our actuator API from JavaScript
  • Adding default redirections
  • Plotting graphs
  • Reading historical values from the database
  • Plotting historical values
  • Displaying the plot
  • Generalizing the page
  • Creating a menu system.
  • Creating the master document
  • Referencing the menu
  • Authenticating users
  • Adding a login page
  • Creating our user
  • Creating a very simple user database
  • Posting login form
  • Parsing the form
  • Redirecting the user
  • Authenticating the user
  • Protecting our web services
  • Getting a session token
  • Validating tokens
  • Using tokens in JavaScript
  • Summary
  • Chapter 7: Communicating More Efficiently Using CoAP
  • Introducing CoAP
  • Using UDP
  • Efficiently distributing data
  • Understanding the Observe pattern
  • Securing CoAP communication
  • Understanding DTLS sessions
  • Encoding content
  • Adding CoAP to our devices
  • Creating a CoAP endpoint
  • Publishing interval-based observable data
  • Publishing event-based observable data
  • Choosing the desired representation
  • Returning CoAP content
  • Adding a control resource to our actuator
  • Responding to change requests
  • Adding output triggers
  • Testing your devices
  • Discovering the contents of your device
  • Controlling your device
  • Securing your devices
  • Limitations of CoAP
  • Summary
  • Chapter 8: Interoperability
  • Understanding the benefits of interoperability
  • The benefits of application-layer standards
  • Understanding coupling
  • Achieving interoperability using CoAP
  • Discovering resources using CoRE
  • Understanding the LWM2M object model
  • Understanding the LWM2M infrastructure
  • Understanding LWM2M server operations
  • Using IPSO Smart Objects
  • Adding LWM2M to our devices
  • Creating an LWM2M client
  • Performing the bootstrap procedure
  • Registering with the LWM2M servers
  • Following the progress
  • Defining Smart Objects
  • Creating the digital input object class
  • Creating the digital input object instance class
  • Defining trigger intervals for observable resources
  • Notifying subscribers manually
  • Instantiating the digital input object.
  • Creating the digital output object instance class
  • Setting remotely updated output values
  • Testing your LWM2M device
  • Configuring the bootstrap server
  • Configuring the LWM2M server
  • Interacting with your devices
  • Summary
  • Chapter 9: Social Interaction with Your Devices Using XMPP
  • Introducing XMPP
  • Using XML
  • Understanding the value of brokers
  • Providing global scalability
  • Extending server functionality
  • Authenticating clients
  • Understanding XMPP addresses
  • Using trust-based communication to secure the network
  • Understanding XMPP communication patterns
  • Understanding stanzas
  • Extending XMPP
  • Selecting a client library
  • Selecting a broker
  • Adding XMPP to our devices
  • Connecting to our broker
  • Getting persisted credentials
  • Preparing the connection for first-time use
  • Connecting to the server
  • Following the connection process
  • Registering a new account
  • Maintaining the connection
  • Managing the roster
  • Making sensor data available over XMPP
  • Understanding the conceptual model
  • Creating an XMPP sensor server
  • Returning momentary values
  • Returning historical values
  • Returning writable values
  • Triggering events
  • Publishing control parameters
  • Understanding the conceptual model
  • Creating an XMPP control server
  • Adding a chat interface
  • Creating an XMPP chat server
  • Testing your devices
  • Testing the human interface
  • Testing the machine interface
  • For further study
  • Summary
  • Chapter 10: The Controller
  • Discovering things on the internet
  • Introducing Thing Registry
  • Propagating information
  • Claiming ownership of things
  • Transferring the conceptual identity to the owner
  • Using thing registries in XMPP
  • Registering our devices
  • Looping through available components
  • Finding the thing registry
  • Creating a Thing Registry client.
  • Defining the conceptual identity of the thing
  • Adding existing location information
  • Collecting location information
  • Registering the device
  • Updating a registration
  • Creating a controller
  • Identifying things
  • Finding friends in the roster
  • Limiting the search domain
  • Performing the search
  • Picking suitable devices
  • Making new friends
  • Reacting to roster events
  • Adding a friend
  • Losing a friend
  • Reacting to revoked presence subscriptions
  • Reacting to presence changes
  • Interacting with devices
  • Subscribing to sensor data events
  • Reacting to sensor data events
  • Collecting relevant sensor data
  • Calculating control output
  • Performing control action
  • Recovering from stale states
  • Re-subscribing to sensor data
  • Invalidating existing friendships
  • Reconfiguring the controller
  • Decommissioning of devices
  • Summary
  • Chapter 11: Product Life Cycle
  • Defining ownership of data
  • Choosing who should own the data
  • Understanding ownership of physical objects
  • Defining ownership of information
  • Understanding provisioning
  • Using a Thing Registry to register ownership
  • Provisioning of a claimed thing
  • Ending ownership
  • Adding provisioning support to our devices
  • Searching for a provisioning server
  • Creating a provisioning client
  • Adding provisioning support
  • Registration of device
  • Transmitting the conceptual identity
  • Reacting to claims
  • Updating the registration of our device
  • Reacting to being disowned
  • Managing the owner side
  • Deciding what to do
  • Managing owned devices
  • Using tokens for identification
  • Testing provisioning
  • Provisioning your devices
  • Claiming a device
  • Adding rules
  • Summary
  • Chapter 12: Concentrators and Bridges
  • Introducing concentrators
  • Understanding concentrators in XMPP
  • Modeling a Programmable Logic Controller.
  • Bridging protocols.