Ethical Guidelines

University of Illinois trained engineers are the best and most highly sought in the world. Our graduates are superbly trained, highly competent, and creative. This, however, is not enough. Our engineers must also be trusted to conduct themselves according to the highest ethical standards. All teams must address ethical considerations in their projects. This requirement has two parts.

First, there is a stringent Code of Ethics published by professional societies, such as IEEE and ACM. The power of these Codes of Ethics is to provide guidance to engineers in decision making and to lend the weight of the collective community of engineers to individuals taking a stand on ethical issues. Thus the Code of Ethics both limits the professional engineer and empowers the professional engineer to stand firm on fundamental ethical bedrock. All teams must read the IEEE code and ACM code and comment on any sections of the code that bear directly on the project.

Second, we expect our students to have personal standards of conduct consistent with the IEEE and ACM Codes of Ethics, but also beyond it. That is, there are areas of ethics not addressed by these Codes that the engineer may consider in taking on projects or jobs or making other professional decisions. These are personal standards and choices. In the context of the class, there are no right or wrong answers here. Our students simply need to demonstrate that they are thinking deeply about their own decisions and the consequences of those decisions. We encourage our students to consider the wider impact of their projects and address any concerns raised by potential uses of the project. Students should ask themselves, "Would I be comfortable having my name widely attached to this project? Do I want to live in a society where this product is available or widely used? Would I be proud of a career dominated by the decision making demonstrated here?" Remember that UIUC engineers have a long history of inventions that really has changed the world.

If the students feel that these Codes of Ethics does not directly bear on their project and that there are no other reasonable concerns, they should not invent issues where there are none. Students will still be expected to be familiar with the IEEE Code of Ethics and ACM Code of Ethics.

ML-based Weather Forecast on Raspberry Pi

Xuanyu Chen, Zheyu Fu, Zhenting Qi, Chenzhi Yuan

Featured Project

#Team Members

Zheyu Fu (zheyufu2@illinois.edu 3190110355)

Xuanyu Chen (xuanyuc2@illinois.edu 3190112156)

Chenzhi Yuan (chenzhi2@illinois.edu 3190110852)

Zhenting Qi (qi11@illinois.edu 3190112155)

#Problem

Weather forecasting is crucial in our daily lives. It allows us to make proper plans and get prepared for extreme conditions in advance. However, meteorologists always get it wrong half of the time and still keep their job :) To overcome the limitations of traditional weather forecasting, machine learning models have become increasingly important in weather forecasting. Building our own weather forecast ML system is a perfect idea for us to analyze vast amounts of area data and generate more accurate and timely weather predictions on the go in our surrounding areas.

#Solution Overview

A weather forecast system can be created by using a few different hardware components and software tools. Our solution mainly consists of two parts. For weather measurement and data collection, temperature, humidity, and barometric pressure sensors are considered the main components. A machine learning-based algorithm is to be applied for data analysis and weather predictions.

#Solution Components

##Hardware Subsystem

Due to the complexity of weather conditions, our system incorporates the following weather indicators and their corresponding collectors:

-a barometric pressure sensor, a temperature sensor, and a humidity sensor

-a digital thermal probe for heat distribution

-an anemometer for wind speed, wind vane for wind direction, and rain gauge for precipitation

The aforementioned equipment would be integrated into a single device, and weatherproof enclosures are needed to protect it. Plus, a Raspberry Pi, either with built-in wireless connectivity or a WiFi dongle, is required for conducting computations.

##Software Subsystem

A practically usable weather forecast system is supposed to make reliable predictions for real-world multi-variable weather conditions. We apply Machine Learning techniques to suffice such generalization to unseen data. To this end, a high-quality dataset for training and evaluating the Machine Learning model is required, and a specially designed Machine Learning model would be developed on such a dataset. Once a well-trained system is obtained, we deploy the such model on portable devices with easy-to-use APIs.

#Criterion for Success

1. The weather measurement prototype with sensors should be able to accurately collect the temperature, humidity, and barometric pressure. etc.

2. A machine learning algorithm should be successfully trained to make predictions on the weather conditions: rainy, sunny, thunderstorm, etc.

3. Our system can forecast the weather in Haining, in real-time, and/or longer-period forecast.

4. The forecasted weather information could be demonstrated elegantly through some UI interface. A display screen would be a baseline, and an application on phones would be extra credit if time permitted.

5. Extra: Make our own weather dataset for Haining. If good, make it open-source.

#Work Distribution

**EE Student Zheyu Fu**:

-Design the sensor module circuit

-Development of visualization interface

**ECE Students Xuanyu Chen & Zhenting Qi**:

-Weather data collection and analysis

-Build and test Machine Learning model on Raspberry Pi

**ME Student Chenzhi Yuan**:

-Physical structure hardware design

-Proper distribution of the sensors to collect accurate data on temperature, humidity, barometric pressure, etc.