传感器社区固件与软件 sensors-software

智能家居 3/5 🧩 软硬件结合 已发布
opendata-stuttgart 1304 Stars 未知 BOM 完整度: 0/5 教程完整度: 0/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
构建状态 [![Build Status](https://github.com/opendata-stuttgart/sensors-software/actions/workflows/airohr-firmware.yml/badge.svg?branch=master)](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 和传感器集成的实践项目。
**开源硬件学习**:研究开源固件和软件架构,参与社区开发。