# GasSensorOS **Repository Path**: rmshe/GasSensorOS ## Basic Information - **Project Name**: GasSensorOS - **Description**: GasSensorOS 是基于 ESP32-WROOM 系列 MCU 开发的嵌入式操作系统。项目涵盖多个模块,包括数据结构容器(如数据表和树形结构)、OLED 显示屏驱动、随机数生成和加密算法、内核任务管理、I/O 操作、傅里叶变换工具,以及网络服务器功能。项目采用 C 和 C++ 语言编写,强调模块化设计和硬件抽象,便于开发高效的物联网应用。项目目前仍处于早期开发阶段,采用 AGPL-3.0 开 - **Primary Language**: C - **License**: AGPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-05-08 - **Last Updated**: 2024-08-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # **GasSensor `OperatingSystem`** ## 简介 GasSensorOS 是基于 ESP32-WROOM 系列 MCU 开发的嵌入式操作系统。项目涵盖多个模块,包括数据结构容器(如数据表和树形结构)、OLED 显示屏驱动、随机数生成和加密算法、内核任务管理、I/O 操作、傅里叶变换工具,以及网络服务器功能。项目采用 C 和 C++ 语言编写,强调模块化设计和硬件抽象,便于开发高效的物联网应用。**项目目前仍处于早期开发阶段**,采用 AGPL-3.0 开源协议发布。 ![](https://raw.githubusercontent.com/RMSHE-MSH/GasSensorOS/master/OS_info/GasSensorOS.png) --- ## 更新记录 | 更新日期 | 版本号 | 主要更新内容 | | :--------- | :--------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | …… | …… | `first publish` | | 2024.08.05 | Alpha.Mark2.2024.08.05 | `DataTable` 类提供了一种简单而高效的方式来管理二维数据表格,适用于嵌入式系统中的数据处理需求。该类提供了基本的表格操作功能, 支持动态调整表格的尺寸、插入、删除、查询和替换数据等基本操作。 | --- ## 主要组件 > 这里仅列出目前开发得较完整和成熟的组件. ### `containers` 容器 | 名称 | 版本号 | 简介 | 说明文档 | | ----------------- | :--------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | | data_table.hpp | 05.08.2024 | `DataTable` 类提供了一种简单而高效的方式来管理二维数据表格,适用于嵌入式系统中的数据处理需求。该类提供了基本的表格操作功能, 支持动态调整表格的尺寸、插入、删除、查询和替换数据等基本操作。 | [Data Table Documentation](/lib/containers/Data%20Table%20Documentation.md) | | tree.hpp | 26.02.2023 | 轻量级的通用树数据结构容器(模板库)。专门用于创建和管理树形数据结构。该库提供了一种灵活且高效的方式来处理层次结构数据,支持使用向量、多重集和映射等不同的存储模型。该库支持诸如获取树的深度、访问父节点和子节点以及管理子树大小等操作。它经过性能优化,大多数操作都能在对数时间内完成,适用于需要树形结构的场景,如组织层次结构数据或管理实体之间的关系。 | [Tree Structure Container Documentation](/lib/containers/Tree%20Structure%20Container%20Documentation.md) | | forward_queue.hpp | 26.02.2023 | 双端队列 | | ### `encrypt` 加密算法 | 名称 | 版本号 | 简介 | 说明文档 | | ------------------- | :--------- | :-------------------- | -------- | | random.cpp | 26.02.2023 | 生成真随机数 | | | rivest_cipher_4.hpp | 05.04.2023 | RivestCipher4加密算法 | | ### `kernel` 内核组件 | 名称 | 版本号 | 简介 | 说明文档 | | ----------- | :--------- | :------------------------------------------------------------------------------------------ | -------- | | io.cpp | 26.02.2023 | I/O控制库。主要功能包括ADC(模数转换)、GPIO(通用输入输出)管理,以及PWM(脉宽调制)控制。 | | | systime.cpp | 26.02.2023 | 简单的系统时间管理功能,主要用于获取和更新系统的当前时间。 | | ### `tool` 工具组件 | 名称 | 版本号 | 简介 | 说明文档 | | --------------------- | :--------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- | | fourier_transform.hpp | 05.04.2023 | 实现快速傅里叶变换 (FFT) 和离散傅里叶变换 (DFT) 的功能。提供了用于处理和分析信号频域信息的工具,可以执行正变换和逆变换。通过这些工具,用户可以将时域数据转换为频域数据,并对频率成分进行分析或操作。 | | ### `web_server` 网络组件 | 名称 | 版本号 | 简介 | 说明文档 | | ------------------ | :--------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- | | wifi_connector.hpp | 05.04.2023 | 基于Arduino平台的Wi-Fi连接管理类,用于简化Wi-Fi网络的连接过程。 | | | send_request.hpp | 06.04.2023 | 用于实现登录功能的类。通过网络请求从服务器获取时间戳,用于加密用户的密码。然后,将加密后的密码和用户名通过HTTP POST请求发送到服务器进行身份验证,并处理服务器返回的响应结果。 | | ---