Waher, Peter.

Mastering Internet of Things : Design and Create Your Own IoT Applications Using Raspberry Pi 3. - 1st ed. - 1 online resource (397 pages)

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.

This book is your go to guide to master working on IoT. It is a practical tutorial helping you to get to grips with the concepts of IoT in form of four projects. Starting with, developing your basic IoT fundamentals using a Raspberry Pi project. Followed by, explaining advance application support by projects on publishing information in IoT..

9781788397438


Microcomputers-Programming.
Internet of things.
Raspberry Pi (Computer).


Electronic books.

QA76.6 .W344 2018

001.64