In our year 2 project, our team has been dedicated to developing an innovative, flexible modular robotic interface platform. This project aims to provide a smarter and more open control solution for Internet of Things (IoT) devices.
Project Overview
Our project primarily consists of four core components:
- Slave Computer System: Based on Arduino Uno, responsible for executing specific hardware instructions.
- Host Computer System: Utilizing Raspberry Pi 5, serving as the control centre for the entire system.
- Backend Service: Built with FastAPI, providing device management and authentication.
- Frontend Interface: Developed using Vue.js, offering an intuitive user interaction experience.
Video Link: project video (login request).
Technical Highlights
Flexible Communication Protocol
We designed a flexible communication protocol that supports:
- CRC-based data validation
- Dynamic addition of personal devices
Security Authentication
Implemented Time-based One-Time Password (TOTP) algorithm to enhance system security. Users must input both username and dynamic password.
Open Architecture
- Fully open-source SDK
- Support for development in Python and C++
- Flexible modular interface
Project Achievements
- Completed full-link communication verification
- Implemented dynamic multi-device management
- Released stable version
Members:
Juntong Zhu (Team Leader): Design, Software, Hardware
Haozhe Deng: Hardware
Al-Mahmoud Abdulrahman
Other Links:
Technology Blogs
- Slave Computer Development
- Host Computer Development
- Backend Development
- Frontend Development
- Host-Slave System Integration Testing
- Hao’s Work Diary
Ramblings