# 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)