Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Internet of Things with Arduino Cookbook

You're reading from   Internet of Things with Arduino Cookbook Build exciting IoT projects using the Arduino platform

Arrow left icon
Product type Paperback
Published in Sep 2016
Publisher Packt
ISBN-13 9781785286582
Length 188 pages
Edition 1st Edition
Tools
Concepts
Arrow right icon
Author (1):
Arrow left icon
Marco Schwartz Marco Schwartz
Author Profile Icon Marco Schwartz
Marco Schwartz
Arrow right icon
View More author details
Toc

Table of Contents (9) Chapters Close

Preface 1. Connecting an Arduino to the Web FREE CHAPTER 2. Cloud Data Monitoring 3. Interacting with Web Services 4. Machine-to-Machine Interactions 5. Home Automation Projects 6. Fun Internet of Things Projects 7. Mobile Robot Applications Index

Grabbing the content from a web page

To illustrate how the WiFi101 library is working on the MKR1000 board, we are now going to use it to grab the content of a web page, and display the result inside the Serial monitor.

Getting ready

You do not need any extra steps here, simply make sure that you have the WiFi101 library installed.

How to do it...

Let's now see the sketch for this recipe. As it is really similar to the sketch of the previous recipe, I will only highlight the main pieces of code that were added here:

  1. You first need to define which page we are going to grab. Here, I will just make the board grab the www.example.com page:
    char server[] = "www.example.com";
  2. Then, we need to create an instance of a Wi-Fi client:
    WiFiClient client;
  3. Then, inside the setup() function of the sketch, we connect to the server we defined earlier, and request the Web page:
    // Connect to server
      if (client.connect(server, 80)) {
        Serial.println("connected to server");
        
        // Make a request:
        client.println("GET / HTTP/1.1");
        client.println("Host: www.example.com");
        client.println("Connection: close");
        client.println();
      }
  4. Inside the loop() function of the sketch, we then read the data coming back from the server, and print it inside the Serial port:
    while (client.available()) {
        char c = client.read();
        Serial.write(c);
      }
  5. We then stop the connection with the following piece of code:
    // Stop the connection
      if (!client.connected()) {
        Serial.println();
        Serial.println("disconnecting from server.");
        client.stop();
    
        // do nothing forevermore:
        while (true);
      }
  6. It's now time to try this sketch! First, grab the code from the GitHub repository of this book, and then change your Wi-Fi credentials inside the code. Then, upload the code to the board, and open the Serial monitor. This is what you should see:
How to do it...

If you can see that, it means that the board has successfully grabbed the content of the web page and displayed it inside the Serial monitor.

How it works...

The sketch uses the Wi-Fi client of the WiFi101 library, which is a very powerful object that we will use again in several chapters of this book.

See also

I now recommend checking the next recipe, in which you will actually learn how to use the Wi-Fi client library to send data to a cloud server.

You have been reading a chapter from
Internet of Things with Arduino Cookbook
Published in: Sep 2016
Publisher: Packt
ISBN-13: 9781785286582
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime
Banner background image