- 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.
43 lines
1.9 KiB
Markdown
43 lines
1.9 KiB
Markdown
# 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) |