Course: Crazy about Arduino - Level 3 - Building a Web-based Data-Logger

Crazy about Arduino - Level 3 - Building a Web-based Data-Logger

  • Life Time Access
  • Certificate on Completion
  • Access on Android and iOS App
  • Self-Paced
About this Course


  • Do you like building “things” by yourself?
  • Are you looking for ways to easily combine software code and some hardware components?
  • Did you ever wonder how electronic devices are really working?
  • Do you have some creative ideas and you just looking for ways to easily prototype them ?

If the answer is “YES” for some of the questions above then you just landed in the right place!. Arduino is an amazing development and prototyping platform with endless possibilities for Do-It-Yourself Makers looking for ways to express their creative mind and technical capabilities. 

This course is LEVEL 3 as part of a larger comprehensive training program divided to levels that are all about Arduino and the eco-system around it. Each course covers specific group of subjects to let you develop and grow your skills in a step-by-step pace while enjoying the long journey.

Are you Ready to start being “Crazy” about Arduino....?  ;-)

Basic knowledge
  • Basic electronics background
  • Basic knowledge about Arduino (Crazy about Arduino Level 1 and Level 2)
What you will learn
  • Build a End-to-End Internet of Things (IoT) Data logger
  • Collect data using multiple sensors: DHT11, LDR and Ultrasonic
  • Setup a personal Web and Database Server(MySQL)
  • Connect the Arduino to the Internet using Ethernet module
  • Design and use a Web API to send sensors data from the Arduino to the Web Server
  • Analyze the Data logger data
Number of Lectures: 51
Total Duration: 04:01:53
Getting Started
  • Before WE Start...  

    Before we start, I have some few recommendations:

    • Adjust the resolution to Full HD…
    • Follow the sections order
    • Download the provided files
    • Build the project and try new things !

Step 1 - Setting the Sensors - Let's Measure Something....
  • Step 1 - Introduction  

    In this section we will start building our project by connecting the following sensors to the Arduino Uno board:

    • DHT11
    • LDR 
    • Ultrasonic 

  • What is a Sensor ?  

    Starting with the basic definition of sensor.

  • Sensors are Everywhere  

    Now what kind of things can be detected by sensors ? well there many types of sensors that can detect different physical properties. 

  • Measuring Temperature and Humidity  

    Measuring temperature and humidity with the DHT11 sensor. 

  • Measuring Light Changes  

    Measuring light changes with the LDR sensor.

  • Measuring Distance  

    Measuring distance with the Ultrasonic sensor.

  • Wiring All Sensors to the Arduino  

    How to connect each sensor to the Arduino Uno board.

  • Hardware Setup - All Sensors  

    Demonstrating the hardware setup and the circuit design using Fritzing. 

  • Project Demo  

    Demonstrating how the project is working so far with the three sensors. 

  • Step 1 - Code Review  

    Detailed analysis of the Arduino sketch. 

Step 2 - Ethernet Shield - Get Connected !
  • Step 2 - Introduction  

    In this section we will learn to connect the Arduino to the internet by using the Ethernet Shield extension module. 

  • IP Address  

    IP and MAC Addresses. 

  • MAC Address  

    IP and MAC Addresses. 

  • Client-Server Communication  

    A large part of network communication is based on client-server communication model, where a server is designed to be a centralized system that serves many clients. 

  • TCP/UDP Ports  

    Ports numbers are used to separated data streams to the relevant applications. 

  • Network Socket  

    Network socket is basically some endpoint of a logical connection and this is managed dynamically by the operation system

  • TCP Session  

    Connection oriented that established with the remote socket.

  • HTTP and HTML  

    HTTP functions as a request–response protocol in the client–server computing model.where HTML is a markup language for creating web pages and web applications.

  • The Ethernet Shield W5100  

    This is the type of Ethernet module we will use in our project. It is called Ethernet Shield W5100. This shield enables our small Arduino to be connected to the internet and by doing so opens up endless amounts of possibility by allowing us to connect our projects to the internet.

  • The Ethernet Library  

    For the Ethernet shield there is a dedicated library that is used to setup the MAC and IP address, initiate connection as client to a remote server and also accept connections as server from remote clients.  

  • Hardware Setup - Ethernet Shield W5100  

    Demonstrating how the project is working with the Ethernet shield. 

  • Step 2 - Project Demo - connecting to remote server  

    Demonstrating how the project is working with the Ethernet shield. 

  • Step 2 - Code Review  

    Detailed analysis of the Arduino sketch. 

Step 3 - WampServer - Hosting your own Web Server !
  • Step 3 - Introduction  

    Now it is time to learn how to setup our personal web server using application called WampServer. This is point where we start playing with the power of web technologies and making our Arduino a real cool IoT system.

  • Apache, PHP and MySQL  

    WampServer is a free web development environment for windows that enables us to setup and run a web server on our computer to host web sites. It is basically a package of three main building blocks : Apache2, PHP and MySQL.

  • Download & Install  

    Download and install the WampServer application. 

  • Getting started with WampServer  

    How to setup, test and use the WampServer application. 

  • Basic Server Configuration  

    Performing the basic server configuration. 

Step 4 - MySQL Database - Storing Data Somewhere…
  • Step 4 - Introduction  

    Step-4 is all about the MySQL database, we will review some basic definitions related to database and tables and the well known SQL language, and than we will create a new database and new tables according to our specific project requirements.

  • What is a Database ?  

    A database is basically a logical container for storing data in a very structured way.

  • MySQL Tools  

    To be able to manage and access the database there two main options:

    • MySQL simple command line window 
    • phpMyAdmin web client graphical

  • Using phpMyAdmin Console  

    Introduction to the phpMyAdmin tool.

  • SQL Statements  

    Overview of SQL statements, zooming on SELECT and INSERT.

  • Testing our Project Database  

    Performing few simple database testing.

Step 5 - PHP - Running Scripts at the Server
  • Step 5 - Introduction  

    In this section, Step-5 we will add the last needed piece on our puzzle, we will learn what is PHP, how it is working with the other components in our project,

  • What is PHP ?  

    Introduction to the PHP server-side scripting language. 

  • Basic PHP Syntax  

    Basic review to the relevant PHP syntax we will need to create our scripts. 

  • PHP Extension to MySQL - Introduction  

    We are going to use the new PHP extension to MySQL, called PHP MySQLi that stands for PHP MySQL improved.

  • mysqli - Establish Database Connection  

    Before any PHP script can perform an action on the MySQL database, it must first hold a connection to the database. 

  • Insert Data  

    Building the needed scripts for inserting data into the database.

  • Insert Data - PHP Scripts Testing  

    Performing scripts testing.

  • Query Data  

    Building the needed script for querying data from the database.

  • Query Data - PHP Scripts Testing  

    Performing scripts testing.

  • MySQL Error Handling  

    Errors are almost unavoidable as in some point of time you will encounter a situation that your script is not really working and will require some level of debugging to understand the problem root cause

  • MySQL Errors Simulation  

    Simulating some errors related to the MySQL database.

Step 6 - Final Project - Web-based Datalogger
  • Step 6 - Introduction  

    Step-6 is our final step, now we are ready to combine everything into one system creating our end-to-end Web-based Data Logger, and that’s what we are planning to do next.

  • Connecting the Arduino to the Web Server  

    Now we have our own web server up and running, configured and it time to connect the Arduino to our web server.

  • Final Project - Checklist and Demo  

    There are few simple steps or checklist that are needed to be able to bring up the system.

Course Summary
  • What did we covered ?  

    Quick course summary, what have we learn in Level 3....

  • What Next ? Level 4 !  

    Thanks !!! and I hope to see you in the next level !

Reviews (0)