项目简介
本项目是一个使用C++17编写的高层次嵌入式框架,专为物联网(IoT)应用设计。提供了包括硬件抽象层(HAL)、网络API、日志系统、事件循环、存储系统以及用于处理紧急情况的panic系统的完整框架。
项目的主要特性和功能
- 硬件抽象层(HAL):提供通用硬件访问接口,简化硬件设备访问。
- 网络API:通过
iop::Api
类,可与服务器交互,实现登录、发送测量数据、记录日志和报告panic等功能。 - 日志系统:
iop::network_logger
支持通过网络发送日志,在设备联网时将日志信息发送到服务器。 - 事件循环:
iop::eventLoop
管理网络操作、存储和身份验证等任务,包含WIFI连接、任务调度等。 - 存储系统:
iop::Storage
类用于存储和读取Wi-Fi凭证和身份验证令牌,支持从EEPROM中持久化数据。 - Panic系统:
iop::panic
类处理应用程序异常情况,支持报告panic事件和恢复操作。
安装使用步骤
环境准备
确保开发环境支持C++17标准,安装必要依赖库,如C++17编译器、OpenSSL库、PlatformIO工具。
项目设置
根据项目需求,配置正确的硬件抽象层(HAL)和网络API。
编译和链接
使用合适的编译器和链接器选项,将项目源代码编译成可执行文件。
测试和运行
运行可执行文件,测试项目功能。
注意事项
- 安全性:确保设备在网络中传输数据时,使用加密和安全协议。
- 稳定性:部署前充分测试,确保系统稳定可靠。
- 可扩展性:可根据项目需求扩展和定制框架功能。
依赖和版本
依赖C++17编译器、OpenSSL库、PlatformIO工具,根据项目需求选择合适版本。
许可证
本项目采用GNU Affero General Public License版本3或更高版本(AGPL - 3.0+)许可。
示例和文档
可参考示例项目example-firmware
以及项目文档和注释了解项目实现和使用细节。
TODO
项目有待完善功能和特性,可参考TODO列表和代码注释跟踪进展和改进方向。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】