1. SYSTEM

1.1 System Hardware Architecture

This part represents a potential hardware architecture as a series view or deployment view. These are view base on the overall of our hardware system and organization. Also, the system requirements are specified to hardware components.

1.1.1 List of Hardware components ● Ultrasonic sensor HC-SR04 ● Arduino Board MCU ESP8266 ● Monitor ● Keyboard/Mouse ● Wireless Router ● CPU ● GPS/GPRS Module 1.1.2 Diagram showing the connectivity between the components We represent into the deployment view of the architecture. To showing the connectivity between the components. Describes the physical components (hardware), their distribution (e.g., a web server, database server) and how the different pieces are connected. So, we choose the deployment diagram to represent deployment view. The reason we choose this approach is the simplest model and suited for a proof of concept as shown in figure 1.

Figure 1: Deployment Diagram Install the Ultrasonic sensor inside the waste container on its cover. The Ultrasonic sensor will measure the level of garbage inside the waste container and send the digital signal to centralized server by wireless cellular network. The centralized server will control all the process in a central location. System Administrator can manage all of it at the desktops at the waste station. Garbage truck driver can also check status of each waste container by their devices or Personal Computer at the waste station.

1.2 System Architecture This part represents a potential software architecture as a series views; use- case view. These are view based on the overall architecture of our software system and organization. To show all features on the diagrams with the names and descriptions of each.

1.2.1 Software Features To represent the features of the system architecture we decided to use the use case diagram to specify the events of our system and their flows. It looks like a black box where only the input, output and the function is known. The reason we choose this approach is easy to read and understand and also help us to define iterations and the right functionalities The Waste Management System has 8 use cases. System Administrator and Garbage Truck Driver as initiate in figure2.

Figure 2: Use Case Diagram

UC01: Control sensor system Brief Description: This feature will control and monitor the status of waste based on a ultrasonic sensor. It will detects and responds to types of input from garbage-level and then it feed data into the computer as a digital output. The computer processes the input data. Then, as a result of the processing, all the data will store into Database as figure 3

Figure 3: Control and Measure with Ultrasonic sensor

UC02: Calculate the distance Brief Description: This feature will calculate the optimized route distance between waste container and other waste container. We calculate the distance between two points of GPS coordinates by using latitude and longitude of each waste container.

UC03: Find the optimized route Brief Description: This feature will find the optimized route base on real-time monitoring of each waste container. We calculate the shortest path between two points of waste container and other waste container to complete waste collection through our existing management system.

UC04: Collection data Brief Description: This feature will collect all the data and then insert the data into Database from every process. Whether by add information, result of experiments, testing, or other methods that have the data we need to collect for our system.

UC05: Estimate time Brief Description: This feature will estimate the minimum time from waste container to other waste container. The system will provide the minimum time accurately to pickup the waste on time based on historical traffic data (Leaflet Maps).

UC06: Notify drivers (Optional) Brief Description: This feature will send out alerts to garbage truck driver when the waste container is likely to be full from the different points of waste container. These alerts are visible in our web services and devices of garbage truck driver. Also, garbage truck driver can be send the message respond back to the server to told that they already receive the message.

UC07: Check status of waste container Brief Description: This feature will show status of each waste container in any area. It will show the level of garbage of each waste container by represent as a percentage value and text color (RED: full, YELLOW: nearly full and GREEN: normal). It will update automatically that you can check it all the time as shown in figure 5.

Figure 4: Table of container information

UC08: Check status of pick up waste (Optional) Brief Description: This feature will show the list of each pick up waste in any area. It will show the information of an area, waste container, the route that we selected, and the driver notification status to prevent recurrence data. Also, it shows the historical data of pick up waste.

2. SYSTEM INTERFACE DESIGN

2.1 Design

The part represents to our user interface design. Our system design is separate into 5 pages and 1 dashboard for the overview.

2.1.1 Dashboard

This is a home page for our back-end as shown in figure 2.1.1.

Figure 2.1.1: Dashboard page

2.1.2 Add information In this page, we can add information to our system with both container and truck by select from dropdown. All the information will insert into Database. To select the container you have to add four inputs that including an area, latitude, longitude and Size (S = 75 cm, M = 83 cm, L = 105 cm). Another, to select truck you have to add the information of driver that including name, email, latitude and longitude (latitude and longitude will update later by GPS) as shown in figure 2.1.2.

Figure 2.1.2: Add Information page

2.1.3 Container Information

In this page, it will show all container data that provide in any ID, area, Latitude, Longitude, size or capacity and percentage. You can sort data by ID or percentage. At any time, you can click refresh to update the data. Also, you can click the button to choose the waste container that almost full or full as shown in figure 2.1.3.

Figure 2.1.3: Container Information page

2.1.4 Map location In this page, it will show the real time map with the specific location of the containers and area that we selected. It also shows the detail information (ID and Percentage) of each container with the color of percentage as shown in figure 2.1.4.

Figure 2.1.4: Map Location page

2.1.5 Truck location In this page we can select the specific truck, which we want to track and will show its information as shown in figure 2.1.5.

Figure 2.1.5: Truck Location page 2.6 Task In this page, it will show the information that you selected from the container information page. Also, it shows the waste container that you selected with the optimize route by press on “see route” as shown in figure 2.1.6.

Figure 2.1.1: Task page

2.6 Statistic In this page, it will show the statistic of pick up with any information (Area, capacity and Count (how many times will you pick up waste?)). You can select the reset button to reset the data with the last time as shown in figure 2.1.6.

Figure 2.1.1: Statistic page

2.2 Hardware Interface Design

The part represents to our hardware interface design. We connect two devices together. The first device is Ultrasonic sensor (HC-SR04) and other is Node MCU ESP8266 module esp- 12e v2. We connect a wire directly as follow: ● VCC and GND need to connect with 5V supply and GND pins respectively ● Trigger Pulse Input and Echo Pulse Output connect with ant digital I/O pins on Arduino board as shown in figure 2.2.

Figure 2.2: connect between Ultrasonic sensor and Board MCU

3. DATABASE DESIGN

Figure 5: Waste Management System or Wastement ER- Diagram The database will store all of the data. We use the ER (Entity Relationship) diagram defines the conceptual view of a database by using conventions that describe how these data are related to each other. The reason we choose this approach is a very useful framework for creating and manipulating database. Also, ER diagrams are easy to understand as shown in figure 4.

A container is associated with an area ● A container has 6 attributes are Container ID (known as a primary key), Area ID (known as a foreign key), Level, Area, Latitude and Longitude. ● A area has 2 attributes are Area ID (known as a primary key) and Area name. ● A truck has 5 attributes are Truck ID (known as a primary key), Driver name, Latitude, Longitude and Email ● A employee has 8 attributes are Employee ID (known as a primary key), First name, Last name, Date of Birth, Address, Telephone, Username and Password

4. DETAILED DESIGN

This part provides the information needed for our system development to build and integrate the hardware components, code and integrate the software and connect the hardware and software segments into a functional product.

4.1 Hardware Detailed Design Depending on the design requirements, there are more components in our system. Include the following information in the detailed component designs:

● Power input requirements for each component (5V for Ultrasonic sensor, 3.3V for Node MCU ESP8266) ● Jump wire (Type: Female to Female, Length: 20 cm) ● Connector specifications (serial or pin) ● Signal and logic states (HIGH = 1 (Pulse), LOW = 0 (No pulse)) ● Monitor, Server, I/O devices

4.2 Software Detailed Design The software module is coded with multiple languages (e.g. C, Java, HTML and CSS). We use the arduino Integrated Development Environment or Arduino Software as a tool to write source code for a hardware system, but the software system we used Sublime as a tool to write source code and build for all modules in the system. We connect the hardware system and software system for all source code used in the control system as shown in figure 4.2.1.

Figure 4.1.2: Measure the distance of the object This figure is an example to represent the code of the hardware system and the result show on serial monitor that connect to the software system as shown in figure 4.2.2.

Figure 4.2.2: Table shows the data from Database This feature, we write a code to receive all the result that we process in the part of hardware and store into Database to show the data on our web browser.

5. MILESTONE PLANNING

We use this tool in our project to management and update the progress of each task in design process along a project timeline. The lists consisting of all tasks that we need to do for our project in the part of design. In each task, it will show the status and percentage. We divide the task into two parts are hardware and software and the status into three parts; Complete = almost finish, Active = doing and Developed = not yet started as shown in figure 5.

Figure 6: Milestone planning