Project

# Title Team Members TA Documents Sponsor
23 Clickers For ZJUI Undergraduate Mk Ⅱ
Benlu Wang
Luozhen Wang
Suhao Wang
Zhenyu Zhang
design_document1.pdf
final_paper3.pdf
proposal2.pdf
Fangwei Shao
# TEAM MEMBERS
Zhenyu Zhang (zhenyuz5)
Benlu Wang (benluw2)
Luozhen Wang (luozhen2)
Suhao Wang (suhao2)

# PROBLEM
I-clicker is an educational tool employed by ZJUI to fulfill the digital demands of the classroom, serving as a class check-in and answer device. However, the existing transmitters and receivers face limitations in terms of their capacity to handle substantial loads, high signal delay, and signal loss. These constraints hinder the device's ability to effectively meet the requirements of a large number of users. Additionally, the current I-clicker system fails to cater to the preferences of students who prefer to utilize mobile applications for participation.

# SOLUTION OVERVIEW
This project aims to design and develop a comprehensive classroom response system that supports multiple frontends, including web browsers, mobile applications (iOS and Android platforms), WeChat Mini Programs, and physical Clickers. Additionally, a user-friendly web-based interface will be created to provide teachers with intuitive management functionalities. The system incorporates a high-concurrency unified backend equipped with distributed and in-memory databases, offering caching capabilities to efficiently handle large volumes of student submissions, as well as perform evaluation and statistical analysis. The project also entails the shell design and implementation of a distributed and energy-efficient transmission system for the physical Clickers and their receivers to address the limitation of signal loss.

# SOLUTION COMPONENTS
This project encompasses four essential components: frontend development, backend optimization, hardware improvement, and enclosure design.

## Frontend Development:
For instance, we can develop a user-friendly web-based interface using popular frontend technologies such as HTML, CSS, and JavaScript. This interface can be accessible through standard web browsers on various devices, offering teachers the flexibility to manage the voting result.
Additionally, as part of the meticulous frontend development process, the project aims to provide students with diverse options to interact with the voting system. As we possess a physical clicker as part of our system, our commitment lies in ensuring compatibility and functionality between the mobile app and the physical clicker, allowing both to transmit signals that can be effectively processed by the receiver.
Furthermore, if time permits, the project can also develop WeChat Mini Programs. These lightweight applications within the WeChat ecosystem provide a seamless and familiar voting experience for students who prefer to use the WeChat platform.


## Backend Development:
By constructing a high-concurrency unified backend, fortified with distributed and in-memory databases, the system will be empowered with caching capabilities capable of effectively managing the influx of student submissions.
In this scenario, the system can employ a distributed database system, such as Apache Cassandra or Amazon DynamoDB, to handle the storage and retrieval of student submissions. By distributing the data across multiple nodes, the system can benefit from increased scalability and fault tolerance.
To further enhance performance, an in-memory database, such as Redis or Apache Ignite, can be utilized as a caching layer. This allows frequently accessed data, such as student responses and evaluation results, to be stored in memory for faster retrieval, reducing the need to repeatedly access the distributed database.

## Hardware Improvement:
Recognizing the significance of enhancing reception capabilities, the project dedicates attention to the development of a distributed and energy-efficient transmission system for the physical Clickers and their corresponding receivers. The voting system incorporates a System-on-Chip (SoC) solution to handle both the transmitter and receiver functionalities. The SoC, such as ESP32 or STM32, integrates microcontroller capabilities and offers built-in wireless connectivity options like Wi-Fi or Bluetooth. The SoC transmitter facilitates the transmission of votes from the voting devices to the central system using its dedicated peripherals for user input. The SoC receiver receives the transmitted votes, establishes a reliable connection with the voting devices through Wi-Fi or Bluetooth, decodes the received data, and manages the voting information effectively. This integrated approach utilizing SoC technology ensures seamless bidirectional communication, efficient data transmission, and reliable vote collection within the voting system.

## Enclosure Design:
In addition to the technical facets, the project encompasses the meticulous design of an enclosure, using 3D printing technology, specifically tailored for the physical Clickers. This component embraces the principles of aesthetics, functionality, durability, ergonomics, and user-friendliness. By prioritizing these design considerations, the enclosure aims to enhance the overall user experience, ensuring that the physical Clickers are comfortable to handle and operate.

# CRITERION FOR SUCCESS

Concurrency Handling: Build a high-concurrency backend system for efficient processing of large volumes of student submissions concurrently.

Affordability: Develop cost-effective i-clickers to promote widespread adoption and accessibility for students.

Support for Multiple Frontends: The system should be designed to support multiple frontends, including mobile applications, web browsers, and dedicated software, ensuring compatibility, seamless interaction, and consistent user experience across various platforms.



Signal Stability: Ensure reliable signal reception in challenging environments and minimize signal loss within classrooms.

Distributed and Energy-Efficient Transmission: Implement a distributed transmission system with low-power consumption to optimize device performance and energy efficiency.

Aesthetic Design: Create visually appealing i-clicker shell designs that are widely accepted and facilitate customization through 3D printing.

# DISTRIBUTION OF WORK
Benlu Wang: Responsible for designing and developing web-based interfaces, mobile applications, and WeChat Mini Programs to provide a range of frontend options for students to interact with the voting system.

Zhenyu Zhang: Tasked with optimizing the backend infrastructure, including the development of a high-concurrency unified backend, distributed and in-memory databases, and efficient data management for seamless operations.

Luozhen Wang: Responsible for designing and creating customized enclosures for the physical Clickers using 3D printing technology, ensuring an aesthetically pleasing, functional, and user-friendly design.

Suhao Wang: In charge of improving the hardware components of the voting system, particularly focusing on the development of a distributed and energy-efficient transmission system using System-on-Chip (SoC) technology.

Cloud-controlled quadcopter

Featured Project

Idea:

To build a GPS-assisted, cloud-controlled quadcopter, for consumer-friendly aerial photography.

Design/Build:

We will be building a quad from the frame up. The four motors will each have electronic speed controllers,to balance and handle control inputs received from an 8-bit microcontroller(AP),required for its flight. The firmware will be tweaked slightly to allow flight modes that our project specifically requires. A companion computer such as the Erle Brain will be connected to the AP and to the cloud(EC2). We will build a codebase for the flight controller to navigate the quad. This would involve sending messages as per the MAVLink spec for sUAS between the companion computer and the AP to poll sensor data , voltage information , etc. The companion computer will also talk to the cloud via a UDP port to receive requests and process them via our code. Users make requests for media capture via a phone app that talks to the cloud via an internet connection.

Why is it worth doing:

There is currently no consumer-friendly solution that provides or lets anyone capture aerial photographs of them/their family/a nearby event via a simple tap on a phone. In fact, present day off-the-shelf alternatives offer relatively expensive solutions that require owning and carrying bulky equipment such as the quads/remotes. Our idea allows for safe and responsible use of drones as our proposed solution is autonomous, has several safety features, is context aware(terrain information , no fly zones , NOTAMs , etc.) and integrates with the federal airspace seamlessly.

End Product:

Quads that are ready for the connected world and are capable to fly autonomously, from the user standpoint, and can perform maneuvers safely with a very simplistic UI for the common user. Specifically, quads which are deployed on user's demand, without the hassle of ownership.

Similar products and comparison:

Current solutions include RTF (ready to fly) quads such as the DJI Phantom and the Kickstarter project, Lily,that are heavily user-dependent or user-centric.The Phantom requires you to carry a bulky remote with multiple antennas. Moreover,the flight radius could be reduced by interference from nearby conditions.Lily requires the user to carry a tracking device on them. You can not have Lily shoot a subject that is not you. Lily can have a maximum altitude of 15 m above you and that is below the tree line,prone to crashes.

Our solution differs in several ways.Our solution intends to be location and/or event-centric. We propose that the users need not own quads and user can capture a moment with a phone.As long as any of the users are in the service area and the weather conditions are permissible, safety and knowledge of controlling the quad are all abstracted. The only question left to the user is what should be in the picture at a given time.