42-Prague-Smart-Sign
所属分类:物联网
开发工具:C
文件大小:0KB
下载次数:0
上传日期:2024-07-14 06:53:03
上 传 者:
sh-1993
说明: 布拉格42校区的物联网集群门牌。如果集群是为考试保留的,它会警告学生。它会自动检查Intra上的活动考试,让Pedago团队放心。
(An IoT cluster door sign for the 42 campus in Prague. It warns students if the cluster is reserved for an exam. It automatically checks active exams on Intra, giving ease of mind to the Pedago team.)
文件列表:
42-Prague-Smart-Sign.h
42-Prague-Smart-Sign.ino
Intra_interaction.cpp
LICENSE
Technical Documentation.docx
battery_management.cpp
bitmap_library.h
buttons_handling.cpp
cluster_number_mode.cpp
constants.h
credentials-example.h
display_handling.cpp
exam_mode.cpp
globals.cpp
globals.h
ota.h
other.cpp
power_down_recovery.cpp
secret_management.cpp
telegram_bot.cpp
time_utilities.cpp
# 42 Prague Smart Sign
## Table of Contents
- [Introduction](https://github.com/RomanAlexandroff/42-Prague-Smart-Sign/blob/master/#introduction)
- [Usage](https://github.com/RomanAlexandroff/42-Prague-Smart-Sign/blob/master/#usage)
- [Features](https://github.com/RomanAlexandroff/42-Prague-Smart-Sign/blob/master/#features)
- [Components](https://github.com/RomanAlexandroff/42-Prague-Smart-Sign/blob/master/#components)
- [Maintenance](https://github.com/RomanAlexandroff/42-Prague-Smart-Sign/blob/master/#maintenance)
- [License](https://github.com/RomanAlexandroff/42-Prague-Smart-Sign/blob/master/#license)
- [Regards](https://github.com/RomanAlexandroff/42-Prague-Smart-Sign/blob/master/#regards)
- [Contributing](https://github.com/RomanAlexandroff/42-Prague-Smart-Sign/blob/master/#contributing)
- [Calculating Default Constants for the Battery Charge Function](https://github.com/RomanAlexandroff/42-Prague-Smart-Sign/blob/master/#calculatingdefaultconstantsforthebatterychargefunction)
- [Conclusion](https://github.com/RomanAlexandroff/42-Prague-Smart-Sign/blob/master/#conclusion)
## Introduction
Welcome to the README for the 42 Prague Smart Sign — a self-sufficient information display designed to be installed on a cluster door. Its purpose is to notify students when the cluster is reserved for an exam and prevent them from accidental entering. The device automatically retrieves exam dates from Intra and displays appropriate warnings and information on its e-paper screen. In the spare time it simply displays the cluster number.
## Usage
Once the 42 Prague Smart Sign is installed and powered on, it will automatically retrieve exam dates from Intra and update the display accordingly. The device operates in the following states:
1. **Normal state**: The device displays only the number of the cluster.
2. **Pre-exam warning**: On the day of an exam, the device adds a small warning sign indicating an upcoming exam later in the day.
3. **1-hour countdown**: 1 hour before the exam starts a countdown. The device displays a big warning sign with the minutes left until the exam.
4. **Exam in progress**: During the exam, the device displays a big red warning sign with the exact exam end time.
4. **Last hour of exam**: The exact time changes into a countdown.
5. **Post-exam state**: After the exam ends, the device returns to its normal state, displaying the number of the cluster.
The device operates fully automatically and does not require any input from school personnel.
## Features
- Automatic check of exam dates and time on Intra;
- Automatic battery charge monitoring;
- Deep Sleep mode: the microcontroller wakes up only when it has a task to do, drastically saving the battery charge;
- Touch pad: control the device with an array of touch buttons with custom features;
- Over The Air firmware update: develop and upload new features from anywhere at school.
## Components
The following components are used in the 42 Prague Smart Sign:
1. Seeed Studio XIAO ESP32C3 Wi-Fi module: provides connectivity to the Internet for retrieving exam dates, updates the display, takes care of the battery with its battery management and charging circuit — all of that while rocking modern USB-C port for charging and easy software updating.
2. Good Display GDEY075Z08 7.5" 800x480 ePaper black/red/white SPI display: a high-resolution display that allows for clear and easy-to-read information.
3. Good Display DESPI-C02 universal SPI e-Paper adapter: transforms display's FPC interface into microcontroller's SPI.
4. 4000mAh Li-ion battery with overcharge and undercharge protection: powers the device and ensures continuous operation.
## Maintenance
The 42 Prague Smart Sign is designed with low-maintenance in mind. The battery capacity of 4000mAh ensures long periods of operation before requiring a recharge, typically once every few months. To recharge the device, it needs to be connected to a power source using any USB-C 5V power adapter. During the recharge, the Sign remains completely operational.
## License
The 42 Prague Smart Sign project is licensed under the [MIT License](https://github.com/RomanAlexandroff/42-Prague-Smart-Sign/blob/master/https://opensource.org/licenses/MIT). You are free to use, modify, and distribute the code according to the terms and conditions of the license.
Please note that while the project strives to provide accurate information, it is provided "as is" without any warranty. Use the project at your ownrisk.
## Regards
This project is a group effort of various 42 students with support from the 42 Prague Bocal team. Here they are:
- raleksan, 42 Prague — firmware and electronic hardware developer. Made the idea reality,
- gsura, 42 Prague — idea starter and motivation supporter. Pitched the idea to Bocal so well they ended up asking for two devices,
- cgray, 42 Prague — hardware development. Modeled beautiful and functional inner frame for the electronics,
- phelebra, 42 Prague — 3D printing. Turned 3D model into high-quality pieces of hardware.
- arosado-, 42 Lisboa — 42 API expert. Tought how to get the data from the 42 servers,
- jrathelo, 42 Nice — memory wizard. Helped resolve the microcontroller's RAM overflow.
The project is based on Jean-Marc Zingg's [GxEPD2](https://github.com/RomanAlexandroff/42-Prague-Smart-Sign/blob/master/https://github.com/ZinggJM/GxEPD2) library for e-paper displays.
## Contributing
Contributions to the 42 Prague Smart Sign project are welcome! If you have any ideas, bug fixes, or improvements, feel free to open an issue or submit a pull request on the GitHub repository.
When contributing, please adhere to the existing code style and follow the established guidelines. Clearly describe your changes and provide any necessary documentation or tests.
## Calculating Default Constants for the Battery Charge Function
You will need to check the following little utility:
https://github.com/RomanAlexandroff/ESP-Battery-Charge-Utility
It was designed to be a universal solution for battery charge level detection in ESP-based projects and has all the instructions inside of it.
## Conclusion
Thank you for your interest in the 42 Prague Smart Sign project! We hope this README provides you with the necessary information to understand the project's purpose, features, installation process, usage, and maintenance. If you have any further questions or need assistance, please don't hesitate to reach out. Happy coding!
近期下载者:
相关文件:
收藏者: