Professional Documents
Culture Documents
Weather is the state of the atmosphere, to the degree that it is hot or cold, wet or dry, clear or
cloudy. Most weather phenomena occur in the troposphere, just below the stratosphere. Weather
generally refers to day-to-day temperature and precipitation activity, whereas climate is the term
for the average atmospheric conditions over longer periods of time. The weather condition is
driven by air pressure (temperature and moisture) differences between one place and another.
These pressure and temperature differences can occur due to the sun angle at any particular spot.
Monitoring the weather conditions manually is difficult. This work proposes a low-cost automatic
weather station capable of measuring meteorological data in a specific region, and sends it
wirelessly to a computer system running a proprietary desktop application or web browser. The
about humidity, temperature and solar irradiance. The collected data are stored in the local
database and sent to a remote desktop via Wi-Fi. This project consists of two parts: the first part is
the design and construction of outdoor monitoring which uses ESP32 as the processor, and the
second part is development of C# application to communicate with outdoor unit, download and
save the collected weather data (Temperature, Humidity and Solar Irradiance). The outdoor unit
also serves as a local web server, so that any system that connects to its Wifi network can obtain
The method used in this project can be divided into two parts which are hardware and software
development part. The hardware development involves the circuit construction and prototyping.
Meanwhile, the software part involves the firmware coding, circuit simulation and data
acquisition. By using three (3) types of sensor to monitoring the weather parameter that are
temperature, humidity, and solar Irradiance, the system will be able to capture the weather
condition by an analysis about the current weather using the sensor value data. All the data will be
captured by a microcontroller ESP32, which also serves as a local Web Server. The collected data
will be available to all clients that are connected to the local Wifi network. Figure 3.1 is the high
5V 12V
Battery
Monitoring Unit
Humidity ADC
& Temperature
I/O
Monitoring Module
(DHT 22)
Real Time Clock
(RTC)
Memory Module
SOLAR (EEPROM)
CELL ADC MICROCPROCESSOR
(ESP32)
Wifi
Interface
PROPRIETARY
VISUAL C#
PROGRAM
And
Web Browser
LEDs
The figure 3.1 shown above is a simple illustration of how the system will be implemented and
the various parts involved in it. The system can be sub-divided into two units: Outdoor
Generally, this project is proposed to implement the Wifi technology as a communication medium
in this project. The microcontroller ESP32 which is the heart of the unit is configured as a local
web server with a static IP Address. The process of the system is initiated after the
microcontroller ESP32 configured all the sensor and start to read the data from the sensor. Then,
the data is then sent to all connected clients via wireless communication by ESP32 Wi-Fi
network. The functional circuit diagram of the Outdoor Monitoring Unit is shown in Figure 3.2.
Figure 3.2: Circuit diagram of Wireless Weather Monitoring and Logging System
Figure 3.3: Outdoor unit flowchart.
To develop the firmware that runs on the ESP32, and the application for the desktop clients, two
different Integrated Development Environments will be used: 1. Arduino IDE and 2. Microsoft
Visual Studio.
Arduino IDE is a software development environment or software application for Arduino where
users can write different kind of computer programs and test. The user can write codes in IDE in a
language which an Arduino understands, i.e. C, C++. The program (codes) written in IDE, when
uploaded into the Arduino microcontroller determines what and how the system works. The
Arduino IDE comes with a ‘built-in code parser’ that studies the validity of the written codes
before sending it to the Arduino. The compilation and translation work is done in IDE after
checking the validity of codes. After translating the code, the IDE uploads the program to the
Arduino microcontroller (Kouhia, 2016). IDE software includes the set of different programs that
are ready for being tested on the device. Just like in other programming platform, Arduino IDE
can also be extended with the use of libraries; the IDE installation includes the installation of
The software page where Arduino codes are written looks has two main functions ‘setup()’
function and ‘loop()’ functions. The setup part is where the codes should be written so that the
program runs and the loop part is where the codes should be written so that the program runs with
repetition until the power off or reset button is pushed. It allows users to program and edit
Arduino to do anything they like to do with it. Depending upon the feature of different boards, the
IDE enables communication with Arduino board through USB (Kouhia, 2016).
Microsoft Visual Studio is a comprehensive IDE that can be used to develop and deploy
numerous computer software solutions ranging from Desktop application, Web and Mobile
programming languages such as Visual Basic, Visual C#, Visual C++ and Visual F#. The
proposed Client Software for the weather monitoring system will be developed using C# due to its