BKLight
BKLight
PROJECT
IOT CHALLENGE 2023
Topic
AUTOMATIC STREET
LIGHT MONITORING SYSTEM
• Investigate and select hardware components such as power sources, sensor modules,
microcontrollers, and control circuits using suitable peripheral devices.
• Study the EFR32xG24, how to interact with the sensors used in the project.
• Research and write code for the EFR32xG24 to implement desired functions, com-
municate with peripherals, and create a Website that meets all requirements.
• Complete the model, assess and evaluate the achieved results.
System functions:
• The system has the capability to automatically dim the light intensity based on
motion, ambient light levels, and user-defined settings via the Website.
• It monitors the lights (using current sensing sensors) and provides alerts on the
Website when these parameters deviate from normal conditions.
• It displays real-time values for each streetlight and historical notifications on the
Website.
The report is structured into four chapters with the following main content:
Based on the results presented in Chapter 3, an evaluation of the system’s strengths and
weaknesses will be conducted. Subsequently, conclusions will be drawn, and directions
for further development of the project will be proposed.
2
CLAIM
We are BKLight, a team of IoT Challenge 2023. Our advisor for this project is
Mr. Nguyen Tuan Anh. We hereby declare that the entire content presented in this
document is our original work. We confirm that all citations and references adhere to
the regulations of intellectual property, and that all sources have been accurately and
clearly listed. We take full responsibility for all the contents written in this thesis.
BKLight
TABLE OF CONTENTS
LIST OF FIGURES 7
ABSTRACT 8
CONCLUSION 51
REFERENCES 53
6
LIST OF FIGURES
7
ABSTRACT
8
CHAPTER 1. THEORETICAL BASIS
1.2.2 Disadvantages
Initial Deployment Costs: Implementing a automatic street lighting system re-
quires a significant upfront investment in purchasing and installing sensors, cam-
era systems, and management software.
Security and Privacy: Since this system often involves collecting and transmit-
ting data from sensors and cameras, data security and privacy are crucial consid-
erations. Measures must be in place to protect data to avoid personal information
leaks.
Technical Issues and Malfunctions: The system can encounter technical issues
such as network disconnections or sensor malfunctions, requiring regular main-
tenance to maintain optimal performance.
Public Response: Some individuals may oppose the use of automatic street
lighting systems due to concerns about privacy rights or fears of potential exces-
1
sive surveillance and control measures.
Dependency on Energy and Power Grid: The system relies on a stable energy
supply and power grid, so disruptions in energy infrastructure and the power grid
can impact system operations.
• Things: Nowadays, there are billions of devices existing in the consumer and tech-
nology markets, both indoors and in the hands of users. Examples include cars,
sensors, wearables, and mobile phones that are directly connected through wireless
network bands and have internet access. IoT solutions enable smart devices to be
screened, connected, and manage data locally, while non-smart devices can connect
through gateways.
• Gateways: A major challenge in IoT deployment is that around 85% of devices are
not designed to connect to the internet and cannot share data with cloud computing.
To address this issue, gateways act as direct intermediaries, allowing these existing
devices to securely connect to cloud computing and easily manage them.
2
• Service Layers: These are applications created by technology companies or even
users to efficiently use IoT products and fully leverage their value.
• Adjusting and reducing light intensity by lowering the voltage flow to each light,
thereby saving electricity.
3
On the other hand, the remote central management system must have the capability
to control and monitor each individual light. With this system, operators can monitor
key parameters of any lamppost or light bulb from a control room or through mobile
devices. The collected data can be analyzed, allowing for statistical calculations and
forecasts of consumption, bulb lifespan, voltage, faults, etc. This method enables a shift
from reactive maintenance processes to proactive maintenance processes with the aim
of cost and time savings.
On a broader scale, smart public lighting systems allow cities and municipalities
to adjust and enforce lighting strategies tailored to specific conditions such as changing
light intensity, color, time, and location suitable for various areas and different user
groups.
1.4 Microcontroller
1.4.1 Concept of microcontroller
The term ’microcontroller’ is commonly used to refer to various types of embed-
ded processors or microprocessors, specifically electronic devices used to control the
operation of other systems and devices. Microcontrollers are typically used in a wide
range of applications, including controlling smart home devices, medical equipment,
automobiles, industrial machinery, and many other applications.
Microcontrollers are often programmed to perform specific tasks, ranging from
simple tasks like turning on/off an LED light to more complex tasks like controlling
and managing automated systems. Microcontrollers have the capability to interact with
various sensors and output devices to carry out defined tasks.
• Device Control: Microcontrollers act as the brains of IoT devices, executing spe-
cific control functions based on data from sensors and network information.
4
pending on the specific application. This enables IoT devices to connect to the
network and send data to servers or other devices.
• Basic Data Processing: Microcontrollers often perform some basic data processing
before sending it, helping reduce network load and optimize bandwidth usage.
• Security: Microcontrollers must have data and device security capabilities. They
often integrate security features such as data encryption, authentication, and access
control.
• User Interaction: In some cases, microcontrollers may be used to interact with users
through a user interface, such as a touchscreen or LED lights to display notifications
or device status.
2. UART UART stands for universal asynchronous receiver / transmitter and defines
a protocol, or set of rules, for exchanging serial data between two devices. UART
is very simple and only uses two wires between transmitter and receiver to transmit
and receive in both directions. Both ends also have a ground connection. Commu-
nication in UART can be simplex (data is sent in one direction only), half-duplex
(each side speaks but only one at a time), or full-duplex (both sides can transmit
simultaneously). Data in UART is transmitted in the form of frames. The format
and content of these frames is briefly described and explained.
3. LoRa
5
Figure 1.2 I2C
6
• Low bandwidth: In order to have such a long range and extended battery
life, the frequency of a LoRa transmission must be very low.
• More bandwidth vs. range: The more data you want to transfer at a time,
the less distance and more battery you use. While it may seem pointless if
you can’t use it to stream Netflix, there are plenty of cases where range and
reliability trump bandwidth.
(d) Main terminologies: Four main configuration terminologies in LoRA.
• Frequency: Commonly 433 MHz (Asia), 868 MHz (Europe) and 915 MHz
(North America).
• Preamble Length: A LoRa frame begins with a preamble. After the pream-
ble, there is an optional header. E.g: 8 bits.
• Spreading Factor: Number of bits encoded per symbol. The higher the
spreading, the faster bandwidth and the shorter range. Eg: 7, 9, 12...
• Signal bandwidth: The width of spectrum occupied by the chirp (the sig-
nal). E.g: 125Kbps
• Coding Rate: This is a measure for the amount of forward error correction.
E.g: 4/5
7
Figure 1.4 MQTT Broker
• Remote Access: Global Accessibility: Web interfaces enable remote access to IoT
devices and systems from anywhere with an internet connection. This is particularly
useful for monitoring and managing IoT devices that are geographically dispersed.
• Scalability: Easily Scalable: Web applications are scalable and can accommodate
an increasing number of IoT devices as your project grows. This scalability is es-
sential as the number of connected devices in IoT projects often expands over time.
• Remote Control: Remote Configuration: Users can remotely configure and con-
trol IoT devices through web interfaces, which is especially valuable for tasks like
adjusting settings, turning devices on/off, or changing operational parameters.
8
• User Management: User Profiles: Web interfaces can support user profiles, allow-
ing different users to have customized access and permissions, ensuring that only
authorized personnel can control and monitor specific IoT devices.
• Cloud Integration: Cloud Services: Web interfaces can be integrated with cloud
services, providing a centralized platform for managing and analyzing data from
multiple IoT devices.
In summary, using the web as an interface for IoT projects offers a versatile, ac-
cessible, and user-friendly means of interacting with and managing connected devices.
It ensures that users can harness the full potential of IoT technology while benefiting
from real-time updates, scalability, and robust security measures. The web’s reach and
adaptability make it a valuable choice for IoT projects across various industries and use
cases.
In this project, we choose Streamlit as the main framework to deploy our IOT app,
the link is here
• Ease of Use: Its simple and intuitive API enables developers, including those with
minimal web development experience, to build interactive interfaces effortlessly.
• Data Integration: Streamlit seamlessly integrates with popular data science li-
braries like Pandas, Matplotlib, and Plotly, making it ideal for visualizing and ana-
lyzing IoT data.
• Real-time Updates: It allows for dynamic content updates, which is crucial for IoT
applications that require real-time monitoring and control.
9
• Customization: While it offers a straightforward path to web app creation, Stream-
lit also supports customization for more complex projects.
1. Functional Requirements:
• On/Off Control: Users should have the ability to turn street lights on or off
individually or collectively. This control ensures efficient energy usage and
allows for the activation of lights only when necessary.
• Dimming Functionality: The application should provide a dimming feature for
each street light. Users can adjust the brightness level to save energy during
low traffic hours or to create different lighting scenarios.
• Time-Based Scheduling: Users should be able to set specific schedules for each
street light or group of lights. This scheduling feature allows for automated
control, ensuring that lights are on when needed and off when not required.
• Data Visualization: The web application should display real-time data on the
status of each street light, including whether they are currently on, off, or
dimmed. This data can help users monitor the system’s performance.
• Dead Light Notifications: The system should have a mechanism to detect and
notify users when a street light is malfunctioning or "dead." This could include
sending alerts through the web interface or via email/SMS notifications.
• Gateway Health Monitoring: The application should also monitor the health of
gateways or communication devices that connect the street lights to the central
control system. If a gateway goes offline or malfunctions, the system should
notify administrators for prompt troubleshooting.
• User Authentication and Authorization: Implement a secure user authentication
and authorization system to ensure that only authorized personnel can access
and control the street lights and system settings.
• Audit Trail: Maintain an audit trail to log all actions related to street light con-
trol, scheduling changes, and system notifications. This log can be valuable for
accountability and troubleshooting.
10
• Grouping and Zoning: Allow users to group street lights based on geographic
location, usage patterns, or other criteria. This simplifies management and
control, especially for large-scale deployments.
2. Non-Functional Requirements:
• Performance: The system must have good performance to process and display
data quickly, especially for large datasets.
• Engaging User Interface: The user interface needs to be designed attractively
and user-friendly to provide a good user experience.
• Data Security Assurance: Data must be tightly secured to ensure the privacy of
personal and business information.
• Integration Support: The system needs to support integration with other sys-
tems and services to create a robust data ecosystem.
• Documentation and Support: Provide documentation and support for users and
developers to help them effectively use the application.
1.6.3 Database
The database used here is Supabase, a modern open-source alternative to tradi-
tional backend as a service (BaaS) platforms. Supabase provides developers with a pow-
erful set of tools for building serverless applications, simplifying database management,
authentication, and real-time features.
11
• API Generation: Supabase automatically generates APIs for database tables,
reducing the amount of boilerplate code needed to interact with data.
• Custom Functions: Developers can write custom serverless functions using
JavaScript or TypeScript and deploy them directly on Supabase for added flex-
ibility.
• Account Table:
Id (int): unique id for each account.
(text): username.
Password (text): encrypted password.
• Light Table:
Lightid (int): A unique identifier for each street light (primary key).
Longitude (float): Represents the longitudinal coordinate of the street light’s
physical location.
Latitude (float): Represents the latitudinal coordinate of the street light’s
physical location.Events Entity:
• Events/Control Table:
Id (int): the id of the event (primary key).
Timestamp (timestamp): Records the date and time when an event oc-
curred.
Lightid (int): Relates the event to a specific street light using its unique
identifier.
Dimming (int): Indicates the level of brightness (dimming) at the time of
the event, in percent.
On/off (int): Records whether the street light was turned on or off at the
time of the event, 0 is on and 1 is off.
Flow (float): Potentially represents additional information or events related
to the street light.
• NodeDeath Table:
Id (int): primary key for the node death event.
Timestamp (timestamp): Records the date and time when a node (possibly
a communication or control node) experienced an issue or malfunction.
Lightid (int): Relates the node death event to a specific street light, likely
indicating which street light is affected by the node’s failure.
12
Death reason (int): Provides details on the reason for the node’s failure or
death:
0: lost connection,
1: current is too low,
2: : current is too high.
• GateAlive Table:
Id (int): primary key of row.
Timestamp (timestamp): Records the date and time when the gateway is
still alive, that means if the last time in this table is 10 minutes late to the
current time, the gateway is probably dead for 10 minutes.
The Home page serves as an introduction to our team through a Facebook post in the
main group of this contest. Any Facebook user with internet access can comment
directly below the post.
2. Login Page
13
When a user (Admin/Manager) wishes to access all the features of the web app,
they must first log in. Otherwise, they will receive a notification like the one shown
below, instead of the feature they intended to use.
To log in, users need to enter their account and password in the respective fields
and click the ’Login’ button, or simply press the Enter key on the keyboard. It’s
important to note that passwords are not stored in the database; rather, they are
securely encrypted.
3. Device page
14
The Device page displays streetlight data geographically, including location, bright-
ness, and the on/off state of each lamp. Users can access the data by clicking or
hovering over the light bulb icon. If the icon is black, it indicates that the streetlight
in that location is turned off.
4. Control page
The Control page allows users to manage all the street lights. At the top of the
page, there are widgets that enable users to control all the street lights collectively:
a slider for dimming, a button for turning them on/off, and four time input widgets
for scheduling based on time.
15
Below, there are identical widgets for each street light, allowing users to control
them individually.
5. Notification page
The notification page displays the status changes of each streetlight in a real-time
data table. Additionally, a red notification will appear if the gateway hasn’t pub-
lished any data to the database for 10 minutes. All the yellow notifications show the
timestamp and the reason for when and why a streetlight is not functioning.
16
We have three main states in the process of transforming plain text into cipher
text, and we employ five distinct functions to achieve this encryption. These functions
collectively manipulate the plain text to generate a secure cipher text.
The number of repeat round depends on size of key:
17
KeyExpansion: in each round, keyExpansion will calculate all the round keys
from the key. So the initial key is used to create many different round keys which will be
used in the corresponding round of the encryption.
SubBytes: In this function, each byte is substituted by another byte. Its performed
using a lookup table also called the S-box
18
ShiftRows: Each row is shifted a particular number of times.
19
MixColumns: This function is basically a matrix multiplication. Each column is
multiplied with a specific matrix and thus the position of each byte in the column is
changed as a result.
Add Round Keys: Now the resultant output of the previous stage is XOR-ed with
the corresponding round key.
20
TLS is using a special protocol called ‘Handshake’ to agree on the protocol and
to exchange keys. Basically the certificate is used to verify the server identity, and the
asymmetric encryption is used to exchange a shared secret key for symmetric encryption:
1. Client sends a clear (unencrypted) ‘hello’ message to the server, asking for an en-
crypted session.
2. Server responds with a server certificate which includes the server public key in it.
4. Client uses the public key to send a ‘pre-master’ key he has generated to the server.
5. The server uses its private key to extract the ‘pre-master’ key.
6. Both the client and the server use the ‘pre-master’ key to compute a shared secret
key.
7. Client sends a message to the server encrypted by that shared secret key.
21
9. If that passes, the server sends back an encrypted message using the shared secret
key to the client to confirm that everything is ok.
10. From this point on, both the client and server are using the shared secret key for
their communication.
• Current Rating: 5A
22
Figure 1.5 Power supply 12V - 5A
• UART Interface: Data bits 8, Stop bits 1, Parity none, baud rates from 1200 to
115200.
23
• Maximum Transmission Range in ideal conditions: 3000 meters
• Data Rate: 0.3 - 19.2 Kbps (default 2.4 Kbps) 512-byte buffer.
• Dimensions: 21x36mm.
Include:
24
2. Working Mode
3. Mode transmission
There are 2 transmission modes of LoRa E32. In transparent transmission, we send
to all and receive from all that have the same address e channel. But it isn’t a
standard scenario, and we usually want to send to a specified point and receive a
response. So in this system, we use fixed transmission.
25
• Transparent transmission
We set M0 and M1 to LOW for transmission.
• Fixed transmission
For fixed transmission, as for transparent transmission, we set M0 and M1 to
LOW
– Fixed transmission: point to point
To use this type of transmission, we set a parameter on configuration and
set a specified address for every device.
26
We can test the broadcast communication with the exact configuration of
the address and channel.
27
Figure 1.7 Motion sensor module HC - SR602
• Size: 21*16*3.3mm
28
Figure 1.8 BH1750 intensity measuring sensor module
29
Vout.
Specifications:
• IC: ACS712 5A
1.8.6 LED
• COB (Chip-on-Board) LED Light
• Power: 2W
• Voltage: 12V
• Color: White
30
Figure 1.10 LED
31
Figure 1.11 Kit EFR32xG24 EK2703
• Protocol support:
• Product Features:
32
– Packet Trace Interface (PTI)
– Third-party utility support for connection
– mikroBUS™ socket
– Qwiic® connector
1.8.8 Raspberry pi 4B
Advantages of the Raspberry Pi 3 compared to previous versions:
• The new BCM2837 CPU from Broadcom with a clock speed of 1.2GHz, featuring
a 4-core ARM Cortex-A53 64-bit architecture. The Raspberry Pi 3’s CPU deliv-
ers over 50-60% better performance compared to the previous Raspberry Pi 2. It’s
worth noting that the CPU has transitioned to a 64-bit architecture, similar to Ap-
ple’s iPhone CPUs.
• Backward compatibility with hardware and software designs from previous ver-
sions, such as the Raspberry Pi 1 and 2.
Detailed Specifications:
• 10/100 Ethernet
• 40 GPIO pins
33
• microSD slot
34
CHAPTER 2. SYSTEM DESIGN
• System Server
• Control and Monitoring Cabinet: Street lights can be interconnected and remotely
controlled and monitored through the control cabinet system.
• The central control room and control applications will connect to the Cloud system
via the internet to send and receive signals for remote monitoring.
• The Gateway cabinets will connect to the Cloud system to transmit signals to the
lights in the system through a wireless network.
• Operating the system primarily through a wireless network offers several advan-
tages and conveniences in terms of installation and operation compared to tradi-
tional wired systems.
• The system controls and monitors the lighting system, each light through wireless
communication.
35
• It manages the light statuses, allows for direct control, and sets up contextual sched-
ules.
• The device control software is user-friendly, easy to use, and can run on multiple
platforms (cloud computing technology applications).
• It provides statistics on the rate of faulty or malfunctioning lights and the system’s
operating time. Statistical reports from the software help you maintain good control
of system operations and make adjustments as needed based on real-time condi-
tions.
• It can be expanded to integrate with other smart city platforms such as smart trans-
portation.
Solution advantages:
• Cost savings on operational expenses (eliminating the need for manual operation).
• Increased lifespan of light bulbs due to reduced power consumption and lighting
duration.
• Immediate alerts for malfunctioning lights and the ability to isolate and repair indi-
vidual faulty lights
• Streets
• Highways
• National roads
• City lighting
• Industrial zones
• Factories, laboratories
36
• Parks
• Dimming the lights saves electricity, reducing electricity bills and the need to re-
place bulbs
• Adjusting the brightness of the lights extends the lifespan of LED bulbs
• Power Supply Block: This is a crucial block that provides electricity to the entire
system to operate. Therefore, it is important to select the right power supply block
to provide enough current and voltage for the blocks to operate well and stably.
• Central Control Block: The central control block uses the high-performance EK2703
to process and control the system:
37
Figure 2.1 System block diagram
• Sensor Block: This includes motion sensors, light intensity sensors, and highly
accurate current sensors. These sensors are used to collect data on current and
motion, as well as the light intensity around the light. The data is then sent as
a signal to the central control block, compared with preset values, and then the
central control block processes it to match the preset values.
• Peripheral Devices: LED lights that adjust their brightness based on motion de-
tection and ambient light are included here. Any errors detected are immediately
reported for prompt repairs.
• Interactive Web Interface: This interacts with the central control block, displaying
the status of peripheral devices, values read from sensors, and device operations.
– The power supply block provides power to the central control block, sensors,
and peripheral devices.
– The sensor block retrieves data regarding motion, current of the lights, and am-
bient light intensity around the lights and sends it to the central control block,
which is then displayed through the website. Users can access the website via a
phone or computer to monitor and control the peripheral devices (LEDs). Each
interaction on the web block sends a corresponding signal to the central control
block. As a result, the central control block can understand and execute com-
mands in accordance with these interactions, ensuring that the system operates
38
correctly based on the actions on the website
39
CHAPTER 3. SYSTEM CONSTRUCTION5G
40
3.2.2 Install Mosquitto
Step 1: Connect your raspberry Pi to the internet
Step 2: To install the Mosquitto Broker enter these next commands:
sudo apt install -y mosquitto mosquitto-clients
Step 3: To make Mosquitto auto start when the Raspberry Pi boots, you need
to run the following command (this means that the Mosquitto broker will auto-
matically start when the Raspberry Pi starts):
sudo systemctl enable mosquitto.service
Step 4: Modify the configuration file in /etc/mosquitto/mosquitto.conf to set-
ting the desire configuration
Step 5: Restart Mosquitto for the changes to take effect.
sudo systemctl restart mosquitto
41
In the init function, we initialize our MCU, all peripherals needed and all de-
vices that MCU interact with. Next, it requests the Synctime from Gateway, if
the request fails, our End Node program will continue requesting until Gateway
responds to the Synctime request.
In the task Sensor, we gonna read the raw value of 3 sensor, and process that
raw value to usable value
42
The most important function is LED−Control. We have 2 mode to control LED:
Control by itself (Follow the time table and sensor) or Control by Server
43
As control by itself, our End Node split 1 day to 4 parts as 4 timemark. Corre-
sponding to it is 4 LED− de f ault − state with each time period.
44
We can set 4 timemark using our website
• As controlled by Server, the Node follow command is received from the gate-
way for an amount of time. To demo, we let the Server control time by 10s.
• The LED will instantly turn On with 100% when it’s in the nighttime, no matter
what happens
• With this control method, we can save 50% energy every day, and still guarantee
traffic safety.
End node and Server communicate with each other through Gateway. Using
LoRa with AES-128, End node can reach the Gateway
• Each node has to send the data each 5 minutes, or LED−Control has been
changed. So that, the data always be realtime
• When the LED is broken, it makes the current outside the safezone, so it will
send a warning to Gateway.
• “Parse the data” function analyzes the received data, it can be a Control led
state command, or Set the time mark command.
45
2. Gateway
The gateway serves as the intermediary for message transfer between the node
and the Server. It analyzes incoming messages, coordinates, and routes them to
their intended destinations
The gateway employs two communication protocols, LoRa and MQTT, to cor-
respondingly communicate with the Node and the Server. Both of these mentioned
protocols utilize security measures. For MQTT, it utilizes openSSL to encrypt mes-
sages at the Transport layer, preventing eavesdropping
Data frame between Node and Gateway (LoRa): To easily develop, maintain,
we create our own data frame
46
• We don’t encrypt first 3 send byte because it contains 3 information of Desti-
nation LoRa.
• Sync1 and Sync2 to define the start of frame
• KEY - LENGTH - VALUE: Combination to produce various message types
• CRC:"Filtering for received messages or error messages
47
The web server is hosted on the Streamlit Cloud server. It connects to the database using
the key and URL provided by the Supabase API and to the Gateway using the paho.mqtt
library, utilizing the address, port, and certificate provided by the MQTT Broker.
Whenever the database receives a datarow from the gateway, the web server dis-
plays it for the user. Users can control street lights through the web interface by sending
messages to the corresponding topic.
3.4 Prototype
3.5 Product evaluation
With the initial goal of the project being the creation of a automatic street light-
ing control system via IoT, during the research and experimentation process, despite
encountering numerous challenges and issues, the team gained valuable experience and
gradually improved the product. Various algorithmic methods and hardware configura-
tions were utilized to create the most refined product.
The system operates relatively stable. Sensors read stable values with relatively
high accuracy.
The system operates efficiently, saving labor and achieving high precision, making
it highly suitable for smart urban areas.
The flexibility of the system is relatively high, making it easy to customize ac-
cording to the specific requirements of different real-world models. The hardware of
the system can be expanded as needed by users without the need for a complete system
redesign.
As of now, we have essentially completed this report. However, due to our limited
knowledge and time constraints in completing the project, we acknowledge that there
48
Figure 3.5 Prototype
may be some shortcomings. We sincerely hope to receive guidance from the evaluators
to further enhance our project.
In terms of results, the testing process yielded positive outcomes and met the re-
quirements set by the team. Although there are still some limitations, the team has
identified the causes and solutions.
49
The device was tested in specific scenarios regarding light and motion. The cir-
cuit’s accuracy is high. The circuit has a response time of 2-3 seconds for receiving
commands from the Web Server.
50
CONCLUSION
• Provided several energy-saving solutions compared to the old street lighting sys-
tems.
• The system has not yet achieved the highest level of stability.
• Sensors still have some margin of error, making the system not entirely precise.
• Increasing the number of sensors, improving sensor quality, expanding the system,
and turning it into a multi-purpose automatic street lighting model.
Conclusion
While not a groundbreaking or extensive topic, our project reflects the application
of the knowledge we have acquired in a scientific manner, a diligent work ethic, a thirst
for learning, and the exploration of new concepts. We would also like to acknowledge the
wholehearted support and guidance provided by Mentor Nguyen Tuan Anh throughout
this journey.
Our initial goal for this project was to create a automatic street lighting system
via the Internet of Things (IoT). Despite facing numerous challenges and issues during
our research and experimentation, our team gained valuable experience and gradually
improved the product.
51
Due to time constraints, our project does have some limitations. Given the op-
portunity, we could further develop the design to include additional features, enhance
efficiency, and optimize performance.
The designed circuit operates steadily, continuously updating the data it reads to
the WebServer. The WebServer interface is user-friendly and easily accessible. Various
algorithmic methods and hardware configurations have been employed to create the most
refined product possible.
After thorough research and project implementation, we can proudly state that
our "AUTOMATIC STREET LIGHTING SYSTEM" project has reached a fundamental
level of completion.
• The user-friendly web interface displays essential information such as sensor data
and device statuses, allowing for real-time adjustments without the need to interact
with the hardware.
Lastly, we would like to express our sincere gratitude to Mentor Nguyen Tuan Anh
for his invaluable assistance in completing this report. REFERENCES
52
REFERENCES
53