Files
zigbee_weather_station/README.md
Jose fdfd04bfa6 refactor ♻️: Implement comprehensive sensor system for environmental monitoring, including temperature, humidity, pressure, wind speed, and direction.
- This commit updates the build process to use a custom toolchain and configuration, enabling compilation of multiple project components.
- The primary goal of this commit is to provide a detailed overview and documentation for a zigbee weather station project, including firmware information and sensor component descriptions.
- Updated configuration file with new constants and definitions.
- The MAIN GOAL of these changes is to implement a comprehensive sensor system for environmental monitoring, including temperature, humidity, pressure, wind speed, and direction.
- Main goal of the changes: Define a new header file with function prototypes and external variable declarations.
- Added new functionality to initialize and read data from an anemometer sensor, introducing its necessary setup and calculation logic.
- Added header file for anemometer sensor with function prototypes.
- Initial implementation of BME280 sensor functionality.
- Added function prototype for the BME280 initialization and data reading functions.
- Initializes and configures a rain gauge sensor with GPIO interrupt setup.
- Added function prototypes to the rain gauge sensor header file.
- This commit adds a new C function to initialize and read data from a wind vane sensor.
- Updated header file with new function prototype definitions.
- This commit adds a new function `send_zigbee_data` to send various Zigbee data types.
- Added Zigbee communication header file with function prototype for sending data.
2025-02-22 10:44:49 +01:00

1.9 KiB

zigbee_weather_station

firmware for CC2530

zigbee weather station using sensors from WH-SP-WS02

Overview of Components:

  • BME280: Measures temperature, humidity, and pressure.
  • Tipping Bucket: Measures rainfall with each tip corresponding to 0.2794 mm.
  • Anemometer: Measures wind speed, with each tip corresponding to 1.492 mph.
  • Wind Vane: A resistive sensor with 16 positions that can indicate wind direction.

Libraries and Tools:

  • Z-Stack (Zigbee Stack): The CC2530 uses the Z-Stack firmware for Zigbee. This provides the Zigbee protocol stack and the tools to create Zigbee devices.
  • I2C for BME280: You'll need the I2C interface to communicate with the BME280.
  • GPIO for Tipping Bucket, Anemometer, and Wind Vane: These sensors can be read using the GPIO pins, either as interrupts or polling.

/project-folder ├── main.c // Main application code ├── main.h // Header file for main │ ├── zigbee_comm.c // Zigbee communication functions ├── zigbee_comm.h // Header for Zigbee communication functions │ ├── sensors // Directory for sensor-related files │ ├── bme280.c // BME280 sensor driver │ ├── bme280.h // Header for BME280 sensor │ ├── wind_vane.c // Wind Vane sensor driver │ ├── wind_vane.h // Header for Wind Vane sensor │ ├── rain_gauge.c // Rain Gauge sensor driver │ ├── rain_gauge.h // Header for Rain Gauge sensor │ └── anemometer.c // Anemometer sensor driver │ └── anemometer.h // Header for Anemometer sensor │ ├── config // Configuration settings │ └── config.h // Configuration file for settings (timing, thresholds, etc.) │ └── Makefile // Makefile for compiling the project │ └── README.md (Project description and instructions)