传感器社区固件与软件
sensors-software
智能家居
3/5
🧩 软硬件结合
已发布
项目简介
sourcecode for reading sensor data
sensors-software 是一个面向 Sensor.Community 和 Luftdaten.Info 传感器网络的开源固件项目,旨在为空气质量监测硬件提供稳定、可远程升级的嵌入式软件支持。项目核心包含两大部分:主固件 airrohr-firmware 和过渡性更新加载器 airrohr-update-loader。主固件是传感器设备日常运行的基础,负责采集空气数据并上传至社区平台;而更新加载器则专门解决老旧硬件(采用 1M/3M 分区布局)在固件体积超过 512KB 时的空中升级(OTA)难题,通过 SPIFFS 存储新固件文件并在重启后自动替换自身,若失败则通过 LED 闪烁提示错误,确保升级过程安全可控。
标签
项目特点
**主固件 (airrohr-firmware)**:为 Sensor.Community 传感器提供稳定、维护中的主要固件。
**OTA 更新支持 (airrohr-update-loader)**:允许在具有 1M/3M 分区布局的 ESP8266 设备上通过无线方式更新大于 512k 的固件。
**多语言/平台支持**:包含 Arduino、NodeMCU (Lua) 等多种编程环境的代码。
**数据分析工具**:提供 R 语言脚本用于分析传感器数据。
**社区驱动**:项目由开源社区维护,开发主要在 beta 分支进行。
技术规格
| 目标硬件 | ESP8266 微控制器 |
|---|---|
| 主要固件 | airrohr-firmware |
| 更新固件 | airrohr-update-loader |
| 开发分支 | beta |
| 构建状态 | [](https://github.com/opendata-stuttgart/sensors-software/actions/workflows/airohr-firmware.yml?query=branch%3Amaster) |
| 编程语言 | C++ (Arduino), Lua, R |
| 数据接口 | dusti API 及其他 API |
项目资源
搜索资源
物料清单 (BOM)
| 物料名称 | 数量 | 参考价格 | 备注 |
|---|---|---|---|
| ESP8266 开发板 (如 NodeMCU, Wemos D1 mini) | 1 | — | 核心控制单元 |
| SDS011 或 PMS5003 颗粒物传感器 | 1 | — | 用于测量 PM2.5/PM10 |
| DHT22 或 BME280 温湿度传感器 | 1 | — | 可选,用于测量温湿度 |
| 5V 微USB电源 | 1 | — | 为 ESP8266 供电 |
| 杜邦线 | 若干 | — | 连接传感器和开发板 |
能力画像
⚪ 记忆与知识检索: 1/5
🔵 逻辑推演: 2/5
⚪ 表达与交流: 1/5
⚪ 感知与观察: 1/5
🔵 数理与计算: 2/5
🔵 动手与操作: 3/5
⚪ 狂热与坚持: 2/5
⚪ 创造与创新: 2/5
所需技能
🔧 **动手能力**:需要能够连接传感器和微控制器,可能涉及简单的焊接。
💻 **编程能力**:需要熟悉 Arduino IDE 或 PlatformIO,能够编译和上传固件到 ESP8266。
⚡ **电子电路**:需要了解基本的电路连接,如 I2C、UART 和电源连接。
适用场景
**空气质量监测**:搭建个人或社区空气质量监测站,监测 PM2.5、PM10、温湿度等数据。
**环境数据采集**:用于教育或科研项目,采集和分析环境数据。
**物联网入门**:作为学习 ESP8266 和传感器集成的实践项目。
**开源硬件学习**:研究开源固件和软件架构,参与社区开发。