Introduction: Building a Real Life IoT Product With Arduino & Python Web Dashboard
HOW IT STARTED
In this project, I will walk you through steps to build a real life product with full functionalities from scratch based on my own experience. You don't need to learn everything regarding Arduino or Python, you just need to learn what you need.
WHAT CAN WE DO
We are going to be building an auto watering system for indoor garden located in the pots of your beautiful balcony. However you can apply what you will be learning to any application models you want.
We’re going to work on 3 Phases to accomplish this:
Phase 1:
Measure soil moisture periodically
Automatically supply the water if the soil is dry detected by the Moisture Sensor
- Display current soild moisture, soil dry level, sampling time on LCD
- User can setting soil dry level, sampling time, watering time on LCD Menu Option
Phase 3:
- Display current soild moisture, soil dry level, sampling time, log data, history on Python Web Dashboard
- User can setting soil dry level, sampling time, watering time from Python Web Internet
WHAT WE CAN LEARN
- Anyone can learn how to design and create your own IoT application using Arduino platform and Python Web Restful API.
- The whole project will be broken down into small tasks building specific feature so you will experience the process of how to develop a product in reality.
- Basic programming for Arduino and Python in a short time
- Display information & Debuging using your computer
- Interact with Sensor like Moisture Sensor...
- How to control water pumper or other devices using Relay
- How to display and setting product parameters on LCD
- How to connect your Arduino over Internet
Now!!! We can start with
Phase 1:
- Measure soil moisture periodically
- Automatically supply the water if the soil is dry detected by the Moisture Sensor
Step 1: HARDWARE & MATERIALS
01 Arduino UNO R3
01 Breadboard
01 Soil Moisture Sensor & Modules "Driver" LM-393
01 Relay Module
01 Water Pump Power Supplier (6~12V)
01 Mini Pumper (6~12V)
Wires and cables for connections and communication
You can purchase the soil moisture sensor and Relay Module on ebay
http://www.ebay.com/itm/KDQ11-MOISTURE-SENSOR-KIT-...
http://www.ebay.com/itm/1-Channel-5V-Relay-Module-...
You also can buy these items easily in Vietnam also.
Step 2: INTERCONNECTION & DIAGRAM
Description of the main connections:
LM-393 DRIVER (moisture sensor) <-> Arduino
GND <-> GND
+5 V <-> +5 V
OUT <-> A1
Relay <-> Arduino
GND <-> GND
+5 V <-> +5
VIN <-> D6
Relay <-> Pumper <-> Power Supplier
Step 3: SOFTWARE & PROGRAMMING
SOFTWARE
- Arduino IDE Software here & install as a default configuration
- Java Runtime Environment (JRE) here & install as a default configuration
PROGRAMMING
Source Code here can be opened by Arduino IDE
From the Arduino Window, select Sketch > Verify/Compile menu and make sure that you get "Done compiling" message
Use USB connector to conect from your PC to Arduino. Remember to choose the correct Serial Port as images
Upload your Source Code to Arduino and make sure that you get "Done uploading" message
Step 4: TESTS & ADJUSTMENTS
Now it's time to run and check your product. Is it easy and simple !!!
There are some parameters that you need to adjust depend on your plants, soil ...
- Soild Dry Level
- Sampling interval time (normally you should supply water twice per day)
- Watering time
- ...
These parameters can be adjusted directly through a LCD Kit and you will not need to use your computer to compile & upload source code everytime. This should be not a big deal and I will guide you at the next Phase 2.



